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
set (BUILD_RESOURCES OFF CACHE BOOL "${BUILD_RESOURCES_DESCR}")
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,
# <prefix>/include/opencascade-7.0.0 for unix
if (NOT DEFINED INSTALL_DIR_INCLUDE)
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_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()