Merge branch 'v0.6.0' into v0.7.0

This commit is contained in:
Thomas Krijnen
2021-07-10 16:55:57 +02:00
728 changed files with 376298 additions and 19422 deletions
+8 -4
View File
@@ -205,7 +205,11 @@ set BOOST_LIBRARYDIR=%DEPENDENCY_DIR%\stage\%GEN_SHORTHAND%\lib
set ZIP_EXT=7z
set BOOST_ZIP=boost_%BOOST_VER%.%ZIP_EXT%
call :DownloadFile https://dl.bintray.com/boostorg/release/%BOOST_VERSION%/source/%BOOST_ZIP% "%DEPS_DIR%" %BOOST_ZIP%
:: On 2021-05-11 Boost changed download address:
:: Instead of: https://dl.bintray.com/boostorg/release/ you should use https://boostorg.jfrog.io/artifactory/main/release/ to retrieve boost releases.
rem call :DownloadFile https://dl.bintray.com/boostorg/release/%BOOST_VERSION%/source/%BOOST_ZIP% "%DEPS_DIR%" %BOOST_ZIP%
call :DownloadFile https://boostorg.jfrog.io/artifactory/main/release/%BOOST_VERSION%/source/%BOOST_ZIP% "%DEPS_DIR%" %BOOST_ZIP%
IF NOT %ERRORLEVEL%==0 GOTO :Error
call :ExtractArchive %BOOST_ZIP% "%DEPS_DIR%" "%DEPENDENCY_DIR%"
@@ -227,7 +231,7 @@ cd "%DEPENDENCY_DIR%"
call cecho.cmd 0 13 "Building %DEPENDENCY_NAME% %BOOST_LIBS% Please be patient, this will take a while."
IF EXIST "%DEPENDENCY_DIR%\bin.v2\project-cache.jam" del "%DEPS_DIR%\boost\bin.v2\project-cache.jam"
call .\b2 toolset=%BOOST_TOOLSET% runtime-link=shared address-model=%ARCH_BITS% -j%IFCOS_NUM_BUILD_PROCS% ^
call .\b2 toolset=%BOOST_TOOLSET% runtime-link=shared address-model=%ARCH_BITS% --abbreviate-paths -j%IFCOS_NUM_BUILD_PROCS% ^
variant=%DEBUG_OR_RELEASE_LOWERCASE% %BOOST_WIN_API% %BOOST_LIBS% stage --stagedir=stage/%GEN_SHORTHAND%
IF NOT %ERRORLEVEL%==0 GOTO :Error
@@ -544,8 +548,8 @@ pushd %BUILD_DIR%
:: cache always e.g. when we've had new changes in the repository.
IF %BUILD_TYPE%==Rebuild IF EXIST CMakeCache.txt. del CMakeCache.txt
IF DEFINED VS_TOOLSET (
cmake .. -G %GENERATOR% -A %VS_PLATFORM% -T %VS_TOOLSET% %*
IF NOT "%VS_TOOLSET_HOST%"=="" (
cmake .. -G %GENERATOR% -A %VS_PLATFORM% -T %VS_TOOLSET_HOST% %*
) ELSE (
cmake .. -G %GENERATOR% -A %VS_PLATFORM% %*
)
+81
View File
@@ -0,0 +1,81 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 100d61339d..c59d640184 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -431,6 +431,9 @@ endforeach()
if (NOT BUILD_SHARED_LIBS)
list (REMOVE_ITEM BUILD_TOOLKITS DRAWEXE)
message (STATUS "Info: DRAWEXE is not included due to ${BUILD_LIBRARY_TYPE} build library type")
+ # IfcOpenShell begin
+ add_definitions(-DHAVE_NO_DLL)
+ # IfcOpenShell end
endif()
# accumulate all used toolkits
diff --git a/adm/cmake/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake
index 1b6613515e..16d642fa23 100644
--- a/adm/cmake/occt_defs_flags.cmake
+++ b/adm/cmake/occt_defs_flags.cmake
@@ -140,7 +140,23 @@ elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
endif()
-if (BUILD_RELEASE_DISABLE_EXCEPTIONS)
- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
- set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
-endif()
+# IfcOpenShell begin
+# https://salsa.debian.org/science-team/opencascade/blob/739e7e9c4fbe575165eb3ff0251774bfad27139e/debian/patches/enable-exception-handling.patch
+# if (BUILD_RELEASE_DISABLE_EXCEPTIONS)
+# set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
+# set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
+# endif()
+
+if (MSVC)
+ foreach(flag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL
+ CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
+ if (${flag} MATCHES "/MD")
+ string(REGEX REPLACE "/MD" "/MT" ${flag} "${${flag}}")
+ endif()
+ if (${flag} MATCHES "/MDd")
+ string(REGEX REPLACE "/MDd" "/MTd" ${flag} "${${flag}}")
+ endif()
+ endforeach()
+endif()
+# IfcOpenShell end
diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake
index 796050594b..9c9fe8f8d8 100644
--- a/adm/cmake/occt_toolkit.cmake
+++ b/adm/cmake/occt_toolkit.cmake
@@ -231,11 +231,26 @@ if (EXECUTABLE_PROJECT)
else()
add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES} ${USED_RCFILE} ${RESOURCE_FILES} ${${PROJECT_NAME}_MOC_FILES})
- if (MSVC)
- install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb
- CONFIGURATIONS Debug RelWithDebInfo
- DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}")
+ # IfcOpenShell begin
+ if (BUILD_SHARED_LIBS)
+ if (MSVC)
+ install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb
+ CONFIGURATIONS Debug RelWithDebInfo
+ DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}")
+ endif()
+ else()
+ if (MSVC)
+ set_target_properties (${PROJECT_NAME} PROPERTIES
+ COMPILE_PDB_NAME ${PROJECT_NAME}
+ COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/pdb/
+ )
+
+ install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/pdb/\${CMAKE_INSTALL_CONFIG_NAME}/${PROJECT_NAME}.pdb
+ CONFIGURATIONS Debug RelWithDebInfo
+ DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}")
+ endif()
endif()
+ # IfcOpenShell end
if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "")
set (CMAKE_SHARED_LIBRARY_SUFFIX_DEFAULT ${CMAKE_SHARED_LIBRARY_SUFFIX})
+2 -2
View File
@@ -135,8 +135,8 @@ set CMAKELISTS_DIR=..\cmake
if not (%1)==() if exist CMakeCache.txt. del /Q CMakeCache.txt
call cecho.cmd 0 13 "Running CMake for %PROJECT_NAME%."
IF DEFINED VS_TOOLSET (
cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -A %VS_PLATFORM% -T %VS_TOOLSET% -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" -DBoost_NO_BOOST_CMAKE=On %ARGUMENTS%
IF NOT "%VS_TOOLSET_HOST%"=="" (
cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -A %VS_PLATFORM% -T %VS_TOOLSET_HOST% -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" -DBoost_NO_BOOST_CMAKE=On %ARGUMENTS%
) ELSE (
cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -A %VS_PLATFORM% -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" -DBoost_NO_BOOST_CMAKE=On %ARGUMENTS%
)
+14 -5
View File
@@ -54,10 +54,10 @@ if not "!GEN_SHORTHAND!"=="" if !GEN_SHORTHAND!==!GENERATOR! goto :GeneratorShor
set "VS_PLATFORM=Win32"
:: use the command prompt target platform, at least initially
if %VSCMD_ARG_TGT_ARCH%==x86 set "VS_PLATFORM=Win32"
if %VSCMD_ARG_TGT_ARCH%==x64 set "VS_PLATFORM=x64"
if %VSCMD_ARG_TGT_ARCH%==arm set "VS_PLATFORM=ARM"
if %VSCMD_ARG_TGT_ARCH%==arm64 set "VS_PLATFORM=ARM64"
if "%VSCMD_ARG_TGT_ARCH%"=="x86" set "VS_PLATFORM=Win32"
if "%VSCMD_ARG_TGT_ARCH%"=="x64" set "VS_PLATFORM=x64"
if "%VSCMD_ARG_TGT_ARCH%"=="arm" set "VS_PLATFORM=ARM"
if "%VSCMD_ARG_TGT_ARCH%"=="arm64" set "VS_PLATFORM=ARM64"
:: "echo if" trick from http://stackoverflow.com/a/8758579
echo(!GEN_SHORTHAND! | findstr /c:"-x86" >nul && ( set "VS_PLATFORM=Win32" )
@@ -160,15 +160,24 @@ IF %VS_VER%==2019 ( set "VC_VER=14.2" )
set BOOST_BOOTSTRAP_VER=vc%VC_VER%
set BOOST_BOOTSTRAP_VER=%BOOST_BOOTSTRAP_VER:.=%
set VS_TOOLSET_HOST=
:: determine the toolset and winapi for Boost b2
:: optionally use 64bit toolset to work around memory errors when linking
IF DEFINED VS_TOOLSET (
set BOOST_TOOLSET=msvc-%BOOST_TOOLSET%
if "!VS_TOOLSET:~-3!"=="_xp" (
set BOOST_WIN_API=define=BOOST_USE_WINAPI_VERSION=0x0501
)
)
IF NOT "%VS_HOST%"=="" (
set VS_TOOLSET_HOST=%VS_TOOLSET%,host=%VS_HOST%
)
) ELSE (
set BOOST_TOOLSET=msvc-%VC_VER%
set BOOST_WIN_API=
IF NOT "%VS_HOST%"=="" (
set VS_TOOLSET_HOST=host=%VS_HOST%
)
)
IF %VS_PLATFORM%==Win32 (