endif()
endmacro()
+macro (OCCT_CHECK_AND_UNSET_INSTALL_DIR_SUBDIRS)
+ OCCT_CHECK_AND_UNSET (INSTALL_DIR_BIN)
+ OCCT_CHECK_AND_UNSET (INSTALL_DIR_SCRIPT)
+ OCCT_CHECK_AND_UNSET (INSTALL_DIR_LIB)
+ OCCT_CHECK_AND_UNSET (INSTALL_DIR_INCLUDE)
+ OCCT_CHECK_AND_UNSET (INSTALL_DIR_RESOURCE)
+ OCCT_CHECK_AND_UNSET (INSTALL_DIR_DATA)
+ OCCT_CHECK_AND_UNSET (INSTALL_DIR_SAMPLES)
+ OCCT_CHECK_AND_UNSET (INSTALL_DIR_TESTS)
+ OCCT_CHECK_AND_UNSET (INSTALL_DIR_DOC)
+endmacro()
+
# COMPILER_BITNESS variable
macro (OCCT_MAKE_COMPILER_BITNESS)
math (EXPR COMPILER_BITNESS "32 + 32*(${CMAKE_SIZEOF_VOID_P}/8)")
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*${COMPILER}.*${COMPILER_BITNESS}")
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*[0-9.]+.*${COMPILER}.*${COMPILER_BITNESS}")
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*[0-9.]+.*${COMPILER_BITNESS}")
+ list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*.*${COMPILER_BITNESS}")
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*[0-9.]+")
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*")
configure_file ("${TEMPLATE_HEADER_PATH}" "${ROOT_TARGET_OCCT_DIR}/inc/${HEADER_FILE_NAME}" @ONLY)
endforeach()
- install (FILES ${OCCT_HEADER_FILES_COMPLETE} DESTINATION "${INSTALL_INCLUDE_DIR}")
+ install (FILES ${OCCT_HEADER_FILES_COMPLETE} DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_INCLUDE}")
string(TIMESTAMP CURRENT_TIME "%H:%M:%S")
message (STATUS "Info: \(${CURRENT_TIME}\) Checking headers in inc folder...")
endif()
endmacro()
+
+# Adds OCCT_INSTALL_BIN_LETTER variable ("" for Release, "d" for Debug and
+# "i" for RelWithDebInfo) in OpenCASCADETargets-*.cmake files during
+# installation process.
+# This and the following macros are used to overcome limitation of CMake
+# prior to version 3.3 not supporting per-configuration install paths
+# for install target files (see https://cmake.org/Bug/view.php?id=14317)
+macro (OCCT_UPDATE_TARGET_FILE)
+ if (NOT SINGLE_GENERATOR)
+ OCCT_INSERT_CODE_FOR_TARGET ()
+ endif()
+
+ install (CODE
+ "cmake_policy(PUSH)
+ cmake_policy(SET CMP0007 NEW)
+ string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
+ file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
+ foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
+ file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
+ file (REMOVE \"\${TARGET_FILENAME}\")
+ foreach (line IN LISTS TARGET_FILE_CONTENT)
+ string (REGEX REPLACE \"[\\\\]?[\\\$]{OCCT_INSTALL_BIN_LETTER}\" \"\${OCCT_INSTALL_BIN_LETTER}\" line \"\${line}\")
+ file (APPEND \"\${TARGET_FILENAME}\" \"\${line}\\n\")
+ endforeach()
+ endforeach()
+ cmake_policy(POP)")
+endmacro()
+
+macro (OCCT_INSERT_CODE_FOR_TARGET)
+ install(CODE "if (\"\${CMAKE_INSTALL_CONFIG_NAME}\" MATCHES \"^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$\")
+ set (OCCT_INSTALL_BIN_LETTER \"\")
+ elseif (\"\${CMAKE_INSTALL_CONFIG_NAME}\" MATCHES \"^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$\")
+ set (OCCT_INSTALL_BIN_LETTER \"i\")
+ elseif (\"\${CMAKE_INSTALL_CONFIG_NAME}\" MATCHES \"^([Dd][Ee][Bb][Uu][Gg])$\")
+ set (OCCT_INSTALL_BIN_LETTER \"d\")
+ endif()")
+endmacro()
+
+macro (OCCT_UPDATE_DRAW_DEFAULT_FILE)
+ install(CODE "cmake_policy(PUSH)
+ cmake_policy(SET CMP0007 NEW)
+ set (DRAW_DEFAULT_FILE_NAME \"${INSTALL_DIR}/${INSTALL_DIR_RESOURCE}/DrawResources/DrawPlugin\")
+ file (STRINGS \"\${DRAW_DEFAULT_FILE_NAME}\" DRAW_DEFAULT_CONTENT)
+ file (REMOVE \"\${DRAW_DEFAULT_FILE_NAME}\")
+ foreach (line IN LISTS DRAW_DEFAULT_CONTENT)
+ string (REGEX MATCH \": TK\([a-zA-Z]+\)$\" IS_TK_LINE \"\${line}\")
+ string (REGEX REPLACE \": TK\([a-zA-Z]+\)$\" \": TK\${CMAKE_MATCH_1}${BUILD_SHARED_LIBRARY_NAME_POSTFIX}\" line \"\${line}\")
+ file (APPEND \"\${DRAW_DEFAULT_FILE_NAME}\" \"\${line}\\n\")
+ endforeach()
+ cmake_policy(POP)")
+endmacro()
+
+macro (OCCT_CREATE_SYMLINK_TO_FILE LIBRARY_NAME LINK_NAME)
+ if (NOT WIN32)
+ install (CODE "if (EXISTS \"${LIBRARY_NAME}\")
+ execute_process (COMMAND ln -s \"${LIBRARY_NAME}\" \"${LINK_NAME}\")
+ endif()
+ ")
+ endif()
+endmacro()