mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-29 14:00:49 +03:00
Compare commits
1 Commits
V7_8_1
...
CR29039_71
Author | SHA1 | Date | |
---|---|---|---|
|
786b094879 |
@@ -52,6 +52,14 @@ set_property (GLOBAL PROPERTY OCC_VERSION_MAINTENANCE ${OCC_VERSION_MAINTENANCE}
|
|||||||
|
|
||||||
set (INSTALL_TEST_CASES OFF CACHE BOOL "${INSTALL_TEST_CASES_DESCR}")
|
set (INSTALL_TEST_CASES OFF CACHE BOOL "${INSTALL_TEST_CASES_DESCR}")
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
# overwrite type of used RTL libraries
|
||||||
|
if (NOT BUILD_CHANGE_USED_RTL_TYPE)
|
||||||
|
set (BUILD_CHANGE_USED_RTL_TYPE "default" CACHE STRING "${BUILD_CHANGE_USED_RTL_TYPE_DESCR}" FORCE)
|
||||||
|
set_property(CACHE BUILD_CHANGE_USED_RTL_TYPE PROPERTY STRINGS "default" "static/release RTL" "static/debug RTL" "dynamic/release RTL" "dynamic/debug RTL")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Regeneration of OCCT resource files
|
# Regeneration of OCCT resource files
|
||||||
set (BUILD_RESOURCES OFF CACHE BOOL "${BUILD_RESOURCES_DESCR}")
|
set (BUILD_RESOURCES OFF CACHE BOOL "${BUILD_RESOURCES_DESCR}")
|
||||||
|
|
||||||
@@ -201,6 +209,26 @@ if (NOT DEFINED INSTALL_DIR_LIB)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
if (NOT DEFINED BUILD_CHANGE_USED_RTL_TYPE_PREV)
|
||||||
|
set (BUILD_CHANGE_USED_RTL_TYPE_PREV "${BUILD_CHANGE_USED_RTL_TYPE}" CACHE INTERNAL "" FORCE)
|
||||||
|
elseif (NOT "${BUILD_CHANGE_USED_RTL_TYPE_PREV}" STREQUAL "${BUILD_CHANGE_USED_RTL_TYPE}")
|
||||||
|
if ("${BUILD_CHANGE_USED_RTL_TYPE}" STREQUAL "static/release RTL")
|
||||||
|
set (INSTALL_DIR_BIN "${OS_WITH_BIT}/${COMPILER}/release_rtl/static_rtl/bin" CACHE PATH "${INSTALL_DIR_BIN_DESCR}" FORCE)
|
||||||
|
set (INSTALL_DIR_LIB "${OS_WITH_BIT}/${COMPILER}/release_rtl/static_rtl/lib" CACHE PATH "${INSTALL_DIR_LIB_DESCR}" FORCE)
|
||||||
|
elseif ("${BUILD_CHANGE_USED_RTL_TYPE}" STREQUAL "static/debug RTL")
|
||||||
|
set (INSTALL_DIR_BIN "${OS_WITH_BIT}/${COMPILER}/debug_rtl/static_rtl/bin" CACHE PATH "${INSTALL_DIR_BIN_DESCR}" FORCE)
|
||||||
|
set (INSTALL_DIR_LIB "${OS_WITH_BIT}/${COMPILER}/debug_rtl/static_rtl/lib" CACHE PATH "${INSTALL_DIR_LIB_DESCR}" FORCE)
|
||||||
|
elseif ("${BUILD_CHANGE_USED_RTL_TYPE}" STREQUAL "dynamic/release RTL")
|
||||||
|
set (INSTALL_DIR_BIN "${OS_WITH_BIT}/${COMPILER}/release_rtl/dynamic_rtl/bin" CACHE PATH "${INSTALL_DIR_BIN_DESCR}" FORCE)
|
||||||
|
set (INSTALL_DIR_LIB "${OS_WITH_BIT}/${COMPILER}/release_rtl/dynamic_rtl/lib" CACHE PATH "${INSTALL_DIR_LIB_DESCR}" FORCE)
|
||||||
|
elseif ("${BUILD_CHANGE_USED_RTL_TYPE}" STREQUAL "dynamic/debug RTL")
|
||||||
|
set (INSTALL_DIR_BIN "${OS_WITH_BIT}/${COMPILER}/debug_rtl/dynamic_rtl/bin" CACHE PATH "${INSTALL_DIR_BIN_DESCR}" FORCE)
|
||||||
|
set (INSTALL_DIR_LIB "${OS_WITH_BIT}/${COMPILER}/debug_rtl/dynamic_rtl/lib" CACHE PATH "${INSTALL_DIR_LIB_DESCR}" FORCE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# OCCT headers: <prefix>/inc for windows,
|
# OCCT headers: <prefix>/inc for windows,
|
||||||
# <prefix>/include/opencascade-7.0.0 for unix
|
# <prefix>/include/opencascade-7.0.0 for unix
|
||||||
if (NOT DEFINED INSTALL_DIR_INCLUDE)
|
if (NOT DEFINED INSTALL_DIR_INCLUDE)
|
||||||
|
@@ -134,3 +134,76 @@ endif()
|
|||||||
|
|
||||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
|
||||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
|
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
|
||||||
|
|
||||||
|
# unset unused configurations variables and update CACHE variables
|
||||||
|
get_cmake_property(ALL_CACHE_VARIABLES CACHE_VARIABLES)
|
||||||
|
string (REGEX MATCHALL "(^|;)CMAKE_[A-Z_]+_FLAGS[^;]*" CACHE_VARIABLES_FLAGS "${ALL_CACHE_VARIABLES}")
|
||||||
|
foreach (CACHE_FLAG ${CACHE_VARIABLES_FLAGS})
|
||||||
|
if (NOT "x${${CACHE_FLAG}}" STREQUAL "x")
|
||||||
|
OCCT_REMOVE_DUPLICATES_SUBSTRING(${${CACHE_FLAG}} ${CACHE_FLAG})
|
||||||
|
endif()
|
||||||
|
string (REGEX MATCH "CMAKE_[A-Z_]+_FLAGS_([^;]+)" CONFIGURATION_NAME "${CACHE_FLAG}")
|
||||||
|
string (TOLOWER "${CMAKE_MATCH_1}" CMAKE_MATCH_1)
|
||||||
|
set (ISFOUND OFF)
|
||||||
|
if (NOT "x${CMAKE_MATCH_1}" STREQUAL "x")
|
||||||
|
foreach (conf ${CMAKE_CONFIGURATION_TYPES})
|
||||||
|
string (TOLOWER "${conf}" conf)
|
||||||
|
if ( "${conf}" STREQUAL "${CMAKE_MATCH_1}" )
|
||||||
|
set (ISFOUND ON)
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
if (NOT ISFOUND AND MSVC)
|
||||||
|
unset("${CACHE_FLAG}" CACHE)
|
||||||
|
else()
|
||||||
|
set (${CACHE_FLAG} "${${CACHE_FLAG}}" CACHE STRING "" FORCE)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set (${CACHE_FLAG} "${${CACHE_FLAG}}" CACHE STRING "" FORCE)
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
# Update CRT defines if BUILD_CHANGE_USED_RTL_TYPE variable was changed
|
||||||
|
if (NOT "${BUILD_CHANGE_USED_RTL_TYPE_PREV}" STREQUAL "${BUILD_CHANGE_USED_RTL_TYPE}")
|
||||||
|
set (BUILD_CHANGE_USED_RTL_TYPE_PREV "${BUILD_CHANGE_USED_RTL_TYPE}" CACHE INTERNAL "" FORCE)
|
||||||
|
|
||||||
|
get_cmake_property(ALL_CACHE_VARIABLES CACHE_VARIABLES)
|
||||||
|
string (REGEX MATCHALL "(^|;)CMAKE_C[X]*_FLAGS[^;]*" CACHE_VARIABLES_C_FLAGS "${ALL_CACHE_VARIABLES}")
|
||||||
|
|
||||||
|
foreach(CMAKE_C_FLAG ${CACHE_VARIABLES_C_FLAGS})
|
||||||
|
OCCT_REMOVE_CRL_DEFINES (${CMAKE_C_FLAG})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if ("${BUILD_CHANGE_USED_RTL_TYPE}" STREQUAL "static/release RTL")
|
||||||
|
message (STATUS "Info. Release Static RTLs are used.")
|
||||||
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MT")
|
||||||
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MT")
|
||||||
|
elseif ("${BUILD_CHANGE_USED_RTL_TYPE}" STREQUAL "static/debug RTL")
|
||||||
|
message (STATUS "Info. Debug Static RTLs are used.")
|
||||||
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MTd")
|
||||||
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MTd")
|
||||||
|
elseif ("${BUILD_CHANGE_USED_RTL_TYPE}" STREQUAL "dynamic/release RTL")
|
||||||
|
message (STATUS "Info. Release Dynamic RTLs are used.")
|
||||||
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MD")
|
||||||
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MD")
|
||||||
|
elseif ("${BUILD_CHANGE_USED_RTL_TYPE}" STREQUAL "dynamic/debug RTL")
|
||||||
|
message (STATUS "Info. Debug Dynamic RTLs are used.")
|
||||||
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MDd")
|
||||||
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MDd")
|
||||||
|
else()
|
||||||
|
string (REGEX MATCHALL "(^|;)CMAKE_C[X]*_FLAGS_[^;]+" CACHE_VARIABLES_C_FLAGS_WITH_CONF "${ALL_CACHE_VARIABLES}")
|
||||||
|
foreach(CMAKE_C_FLAG ${CACHE_VARIABLES_C_FLAGS_WITH_CONF})
|
||||||
|
string (REGEX MATCH "CMAKE_C[X]*_FLAGS_([^;]+)" CONFIGURATION_NAME "${CMAKE_C_FLAG}")
|
||||||
|
if ( "x${CMAKE_MATCH_1}" STREQUAL "xDEBUG")
|
||||||
|
set (${CMAKE_C_FLAG} "${${CMAKE_C_FLAG}} /MDd")
|
||||||
|
else()
|
||||||
|
set (${CMAKE_C_FLAG} "${${CMAKE_C_FLAG}} /MD")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
foreach(CMAKE_C_FLAG ${CACHE_VARIABLES_C_FLAGS})
|
||||||
|
set (${CMAKE_C_FLAG} "${${CMAKE_C_FLAG}}" CACHE STRING "" FORCE)
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
@@ -602,3 +602,17 @@ macro (OCCT_CREATE_SYMLINK_TO_FILE LIBRARY_NAME LINK_NAME)
|
|||||||
")
|
")
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
macro (OCCT_REMOVE_CRL_DEFINES VARIABLE_NAME)
|
||||||
|
set( CompilerFlags /MDd /MTd /MD /MT )
|
||||||
|
foreach(CompilerFlag ${CompilerFlags})
|
||||||
|
string(REPLACE "${CompilerFlag}" "" ${VARIABLE_NAME} "${${VARIABLE_NAME}}")
|
||||||
|
endforeach()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
function(OCCT_REMOVE_DUPLICATES_SUBSTRING INPUT_STRING OUTPUT_STRING)
|
||||||
|
separate_arguments(INPUT_STRING)
|
||||||
|
list(REMOVE_DUPLICATES INPUT_STRING)
|
||||||
|
string(REPLACE ";" " " INPUT_STRING "${INPUT_STRING}")
|
||||||
|
set(${OUTPUT_STRING} "${INPUT_STRING}" PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
@@ -122,6 +122,10 @@ leads to automatic search of Doxygen binaries. Building of it will be call Doxyg
|
|||||||
to generate the documentation in HTML format. The documentation will be available in the
|
to generate the documentation in HTML format. The documentation will be available in the
|
||||||
installation directory (overview.bat script) if INSTALL_DOC_Overview variable is checked")
|
installation directory (overview.bat script) if INSTALL_DOC_Overview variable is checked")
|
||||||
|
|
||||||
|
set (BUILD_CHANGE_USED_RTL_TYPE_DESCR
|
||||||
|
"Indicates whether a multithreaded module is a DLL or static and specifies retail or debug versions of the run-time library.
|
||||||
|
In case of default value define /MDd will be used for Debug configuration and define /MD will be used for other configurations.")
|
||||||
|
|
||||||
set (3RDPARTY_DIR_DESCR
|
set (3RDPARTY_DIR_DESCR
|
||||||
"The root directory where all required third-party products will be searched. If a
|
"The root directory where all required third-party products will be searched. If a
|
||||||
third-party product have been found - corresponding CMake variables will be specified
|
third-party product have been found - corresponding CMake variables will be specified
|
||||||
|
Reference in New Issue
Block a user