Changeset View
Changeset View
Standalone View
Standalone View
extern/opennurbs/opennurbs_precompiledheader.cpp
- This file was added.
| /* $NoKeywords: $ */ | |||||
| /* | |||||
| // | |||||
| // Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved. | |||||
| // OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert | |||||
| // McNeel & Associates. | |||||
| // | |||||
| // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. | |||||
| // ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF | |||||
| // MERCHANTABILITY ARE HEREBY DISCLAIMED. | |||||
| // | |||||
| // For complete openNURBS copyright information see <http://www.opennurbs.org>. | |||||
| // | |||||
| //////////////////////////////////////////////////////////////// | |||||
| */ | |||||
| // CHECK SETTINGS BEFORE ANYTHING IS INCLUDED | |||||
| #if defined(_MSC_VER) | |||||
| #if defined(WIN32) && defined(WIN64) | |||||
| #error WIN32 and WIN64 defined. This is wrong! | |||||
| #endif | |||||
| #if defined(WIN64) | |||||
| #if !defined(_WIN32) | |||||
| #error Microsoft defines _WIN32 for all Windows builds | |||||
| #endif | |||||
| #if defined(_M_IX86) || defined(_M_IA64) | |||||
| #error Incorrect _M_... setting for x64 build | |||||
| #endif | |||||
| #if !defined(_M_X64) | |||||
| // This should be automatically defined by the compiler | |||||
| #error _M_X64 should be defined for x64 builds | |||||
| #endif | |||||
| // All opennurbs code uses the "offical" _M_X64. Unfortunately, | |||||
| // some Microsoft VC 2005 header files, like float.h do not. | |||||
| // The Microsoft compiler should automatically defined both | |||||
| // _M_X64 and _M_AMD64 for the WIN64 platform. If it doesn't, | |||||
| // then we have a serious problem because some system header | |||||
| // files will not be correctly preprocessed. | |||||
| #if !defined(_M_AMD64) | |||||
| // This should be automatically defined by the compiler | |||||
| #error _M_AMD64 should be defined for x64 builds | |||||
| #endif | |||||
| #endif | |||||
| #if defined(WIN32) | |||||
| #if !defined(_WIN32) | |||||
| #error Microsoft defines _WIN32 for all Windows builds | |||||
| #endif | |||||
| //#if defined(_M_IA64) || defined(_M_X64) || defined(_M_AMD64) | |||||
| //#error Incorrect _M_... setting for 32 bit Windows build. | |||||
| //#endif | |||||
| //#if !defined(_M_IX86) | |||||
| //// This should be automatically defined by the compiler | |||||
| //#error _M_IX86 should be defined for 32 bit Windows builds. | |||||
| //#endif | |||||
| #endif | |||||
| #endif | |||||
| #include "opennurbs.h" | |||||
| #if !defined(ON_COMPILING_OPENNURBS) | |||||
| // This check is included in all opennurbs source .c and .cpp files to insure | |||||
| // ON_COMPILING_OPENNURBS is defined when opennurbs source is compiled. | |||||
| // When opennurbs source is being compiled, ON_COMPILING_OPENNURBS is defined | |||||
| // and the opennurbs .h files alter what is declared and how it is declared. | |||||
| #error ON_COMPILING_OPENNURBS must be defined when compiling opennurbs | |||||
| #endif | |||||
| // CHECK SETTINGS AFTER EVERTHING IS INCLUDED | |||||
| #if defined(_MSC_VER) | |||||
| #if !defined(ON_COMPILER_MSC) | |||||
| #error _MSC_VER is defined and ON_COMPILER_MSC is NOT defined. | |||||
| #endif | |||||
| #if !defined(ON_RUNTIME_WIN) | |||||
| // if Microsfot C is used on another platfrom, then lots | |||||
| // of careful cleaning and checking will be required. | |||||
| #error _MSC_VER is defined and ON_RUNTIME_WIN is NOT defined. | |||||
| #endif | |||||
| #if defined(WIN32) && defined(WIN64) | |||||
| #error WIN32 and WIN64 defined. This is wrong! | |||||
| #endif | |||||
| #if defined(WIN64) | |||||
| #if !defined(_WIN32) | |||||
| #error Microsoft defines _WIN32 for all Windows builds | |||||
| #endif | |||||
| #if defined(_M_IX86) || defined(_M_IA64) | |||||
| #error Incorrect _M_... setting for x64 build | |||||
| #endif | |||||
| #if !defined(_M_X64) | |||||
| // This should be automatically defined by the compiler | |||||
| #error _M_X64 should be defined for x64 builds | |||||
| #endif | |||||
| // All opennurbs code uses the "offical" _M_X64. Unfortunately, | |||||
| // some Microsoft VC 2005 header files, like float.h do not. | |||||
| // The Microsoft compiler should automatically defined both | |||||
| // _M_X64 and _M_AMD64 for the WIN64 platform. If it doesn't, | |||||
| // then we have a serious problem because some system header | |||||
| // files will not be correctly preprocessed. | |||||
| #if !defined(_M_AMD64) | |||||
| // This should be automatically defined by the compiler | |||||
| #error _M_AMD64 should be defined for x64 builds | |||||
| #endif | |||||
| #endif | |||||
| #if defined(WIN32) | |||||
| #if !defined(_WIN32) | |||||
| #error Microsoft defines _WIN32 for all Windows builds | |||||
| #endif | |||||
| //#if defined(_M_IA64) || defined(_M_X64) || defined(_M_AMD64) | |||||
| //#error Incorrect _M_... setting for 32 bit Windows build. | |||||
| //#endif | |||||
| //#if !defined(_M_IX86) | |||||
| //// This should be automatically defined by the compiler | |||||
| //#error _M_IX86 should be defined for 32 bit Windows builds. | |||||
| //#endif | |||||
| #endif | |||||
| #endif | |||||
| No newline at end of file | |||||