1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-13 14:27:08 +03:00

Configuration - CMake extension with PCH and symlink #90

Removed cotire PCH
Integrated native PCH by CMake with the same BUILD_USE_PCH flag
Added new option to avoid extra files in 'build/include' folder and replace it by symlink
  Symlink creates link to the origin file, it has some benefits from debug and build side.
The CMake parameter for symlink is 'BUILD_INCLUDE_SYMLINK'
This commit is contained in:
dpasukhi
2024-10-07 22:04:51 +00:00
parent 55527ad756
commit 1b5fc7f980
40 changed files with 555 additions and 4747 deletions

View File

@@ -12,3 +12,6 @@ elseif ("${USE_MMGR_TYPE}" STREQUAL "JEMALLOC")
else ()
message (STATUS "Info: Used native memory manager")
endif()
# Add the precompiled header
ADD_PRECOMPILED_HEADER(TKernel "${CMAKE_CURRENT_SOURCE_DIR}/TKernel_pch.hxx")

View File

@@ -15,3 +15,4 @@ UnitsMethods
NCollection
Message
FlexLexer
Precision

View File

@@ -0,0 +1,51 @@
#ifndef TKERNEL_PCH_H
#define TKERNEL_PCH_H
// Standard library headers
#include <type_traits>
// Windows-specific headers (for MSVC)
#ifdef _WIN32
#ifndef NOMINMAX
#define NOMINMAX
#endif
#include <windows.h> // For Windows API functions like WideCharToMultiByte
#include <tchar.h> // For Unicode/MBCS mappings
#ifdef GetObject
#undef GetObject
#endif
#endif
// TKernel headers
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_DefineHandle.hxx>
#include <Standard_Macro.hxx>
#include <Standard_Transient.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Stream.hxx>
#include <Standard_GUID.hxx>
#include <Precision.hxx>
#include <Quantity_Color.hxx>
#include <Quantity_ColorRGBA.hxx>
#include <Quantity_HArray1OfColor.hxx>
#include <Quantity_TypeOfColor.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
#include <TCollection_HAsciiString.hxx>
#include <TCollection_HExtendedString.hxx>
#include <NCollection_BaseAllocator.hxx>
#include <NCollection_Array1.hxx>
#include <NCollection_Array2.hxx>
#include <NCollection_Map.hxx>
#include <NCollection_DataMap.hxx>
#include <NCollection_List.hxx>
#include <NCollection_Sequence.hxx>
#include <NCollection_IndexedDataMap.hxx>
#include <NCollection_IndexedMap.hxx>
#endif // TKERNEL_PCH_H