mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-03 14:10:33 +03:00
0026529: CMake offers rebuilding of platform dependent code unclear for an user
Fix for building with GCC and CLang CMake variable descriptions updated "Building with CMake" article updated BuildToolkit.cmake cleaned up and renamed "TestCases" project and all relating variables removed; custom script added for building environment DrawAppliInit is copied from occt root to CMake binary dir if the file exists rebuild platform dependent code by cmake cleaned up Flex & Bison compiler flags added RelWithDebInfo OCCT libraries are moved to libi folder; the binary is moved to bini one CMAKE_BUILD_TYPE is set as Release by-default for a single-configuration generator env.bat in installation folder has default value of CASDEB that equals to the build type of the last installed OCCT libraries "building with CMake" article updated
This commit is contained in:
@@ -20,7 +20,12 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED INSTALL_${PRODUCT_NAME})
|
||||
set (INSTALL_${PRODUCT_NAME} OFF CACHE BOOL "Is ${PRODUCT_NAME} required to be copied into install directory")
|
||||
message (STATUS "${INSTALL_${PRODUCT_NAME}_DESCR}")
|
||||
if (NOT "${INSTALL_${PRODUCT_NAME}_DESCR}" STREQUAL "")
|
||||
set (INSTALL_${PRODUCT_NAME} OFF CACHE BOOL "${INSTALL_${PRODUCT_NAME}_DESCR}")
|
||||
else()
|
||||
set (INSTALL_${PRODUCT_NAME} OFF CACHE BOOL "Is ${PRODUCT_NAME} required to be copied into install directory")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# search for include directory
|
||||
@@ -138,7 +143,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
@@ -153,7 +158,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB
|
||||
RENAME ${FREEIMLIB}.3)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
|
||||
RENAME ${FREEIMLIB}.3)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS Debug
|
||||
@@ -168,7 +173,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB
|
||||
RENAME ${GL2PSLIB}.1)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
|
||||
RENAME ${GL2PSLIB}.1)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS Debug
|
||||
|
@@ -1,121 +0,0 @@
|
||||
# Get all used packages from toolkit
|
||||
foreach (MODULE ${TOOLKIT_MODULES})
|
||||
if (WIN32)
|
||||
list (APPEND PRECOMPILED_DEFS "-D__${MODULE}_DLL")
|
||||
endif()
|
||||
list (APPEND COMPILER_DIRECTORIES "${OCCT_SOURCE_DIR}/src/${MODULE}")
|
||||
endforeach()
|
||||
string (REGEX REPLACE ";" " " PRECOMPILED_DEFS "${PRECOMPILED_DEFS}")
|
||||
|
||||
# Get from toolkits EXTERNLIB all used libs
|
||||
OCCT_TOOLKIT_DEP (${PROJECT_NAME} ${PROJECT_NAME}_DEPS)
|
||||
foreach (DEP ${${PROJECT_NAME}_DEPS})
|
||||
IS_OCCT_TOOLKIT (${DEP} OCCT_MODULES FOUND_TOOLKIT)
|
||||
if ("${FOUND_TOOLKIT}" STREQUAL "ON")
|
||||
list ( APPEND USED_LIBS "${DEP}" )
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Get all source files from used packages
|
||||
foreach (CDIR ${COMPILER_DIRECTORIES})
|
||||
get_filename_component (CDirName ${CDIR} NAME)
|
||||
set (CDIR_files)
|
||||
set (HDIR_files)
|
||||
file(STRINGS "${CDIR}/FILES" FLEX_Files REGEX ".+[.]lex")
|
||||
file(STRINGS "${CDIR}/FILES" BISON_Files REGEX ".+[.]yacc")
|
||||
file(STRINGS "${CDIR}/FILES" CFiles REGEX ".+[.]c")
|
||||
file(STRINGS "${CDIR}/FILES" MFiles REGEX ".+[.]mm")
|
||||
file(STRINGS "${CDIR}/FILES" HFiles REGEX ".+[.]h")
|
||||
file(STRINGS "${CDIR}/FILES" LXXFiles REGEX ".+[.]lxx")
|
||||
file(STRINGS "${CDIR}/FILES" GXXFiles REGEX ".+[.]gxx")
|
||||
|
||||
# Generate Flex and Bison files
|
||||
if (${BUILD_BISON_FLEX_FILES})
|
||||
list (LENGTH FLEX_Files FLength)
|
||||
list (LENGTH BISON_Files BLength)
|
||||
list (SORT FLEX_Files)
|
||||
list (SORT BISON_Files)
|
||||
if (${FLength} EQUAL ${BLength} AND NOT ${FLength} EQUAL 0)
|
||||
math (EXPR FLength "${FLength} - 1")
|
||||
foreach (FileIndex RANGE ${FLength})
|
||||
list (GET FLEX_Files ${FileIndex} FLEX_File)
|
||||
list (GET BISON_Files ${FileIndex} BISON_File)
|
||||
get_filename_component (FLEX_Name ${FLEX_File} NAME_WE)
|
||||
get_filename_component (BISON_Name ${BISON_File} NAME_WE)
|
||||
string (COMPARE EQUAL ${FLEX_Name} ${BISON_Name} isEQUAL)
|
||||
if (EXISTS "${FLEX_File}" AND EXISTS "${BISON_File}" AND ${isEQUAL})
|
||||
BISON_TARGET (Parser_${BISON_Name} ${BISON_File} ${CDIR}/${BISON_Name}.tab.c)
|
||||
FLEX_TARGET (Scanner_${FLEX_Name} ${FLEX_File} ${CDIR}/lex.${FLEX_Name}.c)
|
||||
ADD_FLEX_BISON_DEPENDENCY (Scanner_${FLEX_Name} Parser_${BISON_Name})
|
||||
list (APPEND CDIR_files ${BISON_Parser_${BISON_Name}_OUTPUTS} ${FLEX_Scanner_${FLEX_Name}_OUTPUTS})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
list(APPEND HDIR_files ${HFiles} ${LXXFiles} ${GXXFiles})
|
||||
list( APPEND CDIR_files ${CFiles})
|
||||
if(APPLE)
|
||||
list( APPEND CDIR_files ${MFiles})
|
||||
endif()
|
||||
|
||||
foreach(HFile ${HDIR_files})
|
||||
list( APPEND USED_INCFILES ${CDIR}/${HFile} )
|
||||
SOURCE_GROUP ("Header Files\\${CDirName}" FILES ${CDIR}/${HFile})
|
||||
endforeach(HFile)
|
||||
|
||||
foreach(CFile ${CDIR_files})
|
||||
list( APPEND USED_SRCFILES ${CDIR}/${CFile} )
|
||||
SOURCE_GROUP ("Source Files\\${CDirName}" FILES ${CDIR}/${CFile})
|
||||
endforeach(CFile)
|
||||
endforeach(CDIR)
|
||||
|
||||
list( FIND USED_TOOLKITS ${PROJECT_NAME} isFOUND)
|
||||
|
||||
# Create project for toolkit
|
||||
if ("${USED_TOOLKITS}" STREQUAL "" OR NOT ${isFOUND} EQUAL -1)
|
||||
foreach (MODULE ${OCCT_MODULES})
|
||||
list (FIND ${MODULE}_TOOLKITS ${PROJECT_NAME} isFOUND)
|
||||
if (NOT ${isFOUND} EQUAL -1)
|
||||
set (CURRENT_MODULE ${MODULE})
|
||||
endif()
|
||||
endforeach()
|
||||
if (isEXE)
|
||||
add_executable (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES})
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
else()
|
||||
add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES})
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS Release
|
||||
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin"
|
||||
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin"
|
||||
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS Debug
|
||||
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind"
|
||||
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")
|
||||
if (MSVC)
|
||||
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind/${PROJECT_NAME}.pdb
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_property (TARGET ${PROJECT_NAME} PROPERTY FOLDER "Modules/${CURRENT_MODULE}")
|
||||
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}")
|
||||
target_link_libraries (${PROJECT_NAME} ${USED_LIBS})
|
||||
endif()
|
20
adm/cmake/bison.cmake
Normal file
20
adm/cmake/bison.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
# bison
|
||||
|
||||
# execute FindBISON script by "find_package (Bison)" is required to define BISON_TARGET macro
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_BISON_EXECUTABLE)
|
||||
set (3RDPARTY_BISON_EXECUTABLE "" CACHE FILEPATH "The path to the bison command")
|
||||
endif()
|
||||
|
||||
# BISON_EXECUTABLE is required by BISON_TARGET macro and should be defined
|
||||
set (BISON_EXECUTABLE "${3RDPARTY_BISON_EXECUTABLE}" CACHE FILEPATH "path to the bison executable" FORCE)
|
||||
|
||||
find_package (Bison)
|
||||
|
||||
if (BISON_FOUND)
|
||||
set (3RDPARTY_BISON_EXECUTABLE "${BISON_EXECUTABLE}" CACHE FILEPATH "The Path to the bison command" FORCE)
|
||||
endif()
|
||||
|
||||
if (NOT 3RDPARTY_BISON_EXECUTABLE OR NOT EXISTS "${3RDPARTY_BISON_EXECUTABLE}")
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_BISON_EXECUTABLE)
|
||||
endif()
|
20
adm/cmake/flex.cmake
Normal file
20
adm/cmake/flex.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
# flex
|
||||
|
||||
# execute FindFLEX script by "find_package (Flex)" is required to define FLEX_TARGET macro
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_FLEX_EXECUTABLE)
|
||||
set (3RDPARTY_FLEX_EXECUTABLE "" CACHE FILEPATH "The Path to the flex command")
|
||||
endif()
|
||||
|
||||
# FLEX_EXECUTABLE is required by FLEX_TARGET macro and should be defined
|
||||
set (FLEX_EXECUTABLE "${3RDPARTY_FLEX_EXECUTABLE}" CACHE FILEPATH "path to the flex executable" FORCE)
|
||||
|
||||
find_package (FLEX)
|
||||
|
||||
if (FLEX_FOUND)
|
||||
set (3RDPARTY_FLEX_EXECUTABLE "${FLEX_EXECUTABLE}" CACHE FILEPATH "The Path to the flex command" FORCE)
|
||||
endif()
|
||||
|
||||
if (NOT 3RDPARTY_FLEX_EXECUTABLE OR NOT EXISTS "${3RDPARTY_FLEX_EXECUTABLE}")
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_FLEX_EXECUTABLE)
|
||||
endif()
|
@@ -1,7 +1,7 @@
|
||||
# freetype
|
||||
|
||||
if (NOT DEFINED INSTALL_FREETYPE)
|
||||
set (INSTALL_FREETYPE OFF CACHE BOOL "Is freetype required to be copied into install directory")
|
||||
set (INSTALL_FREETYPE OFF CACHE BOOL "${INSTALL_FREETYPE_DESCR}")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_FREETYPE_DIR)
|
||||
@@ -215,7 +215,7 @@ if (INSTALL_FREETYPE)
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
install (FILES "${3RDPARTY_FREETYPE_DLL}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
|
||||
install (FILES "${3RDPARTY_FREETYPE_DLL}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
@@ -229,7 +229,7 @@ if (INSTALL_FREETYPE)
|
||||
RENAME ${FREETYPELIB}.6)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
|
||||
RENAME ${FREETYPELIB}.6)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS Debug
|
||||
|
@@ -118,15 +118,15 @@ function (FIND_PRODUCT_DIR ROOT_DIR PRODUCT_NAME RESULT)
|
||||
endfunction()
|
||||
|
||||
macro (OCCT_INSTALL_FILE_OR_DIR BEING_INSTALLED_OBJECT DESTINATION_PATH)
|
||||
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${BEING_INSTALLED_OBJECT}")
|
||||
if (IS_DIRECTORY "${BUILD_PATCH_DIR}/${BEING_INSTALLED_OBJECT}")
|
||||
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_INSTALLED_OBJECT}")
|
||||
if (IS_DIRECTORY "${APPLY_OCCT_PATCH_DIR}/${BEING_INSTALLED_OBJECT}")
|
||||
# first of all, install original files
|
||||
install (DIRECTORY "${CMAKE_SOURCE_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
|
||||
|
||||
# secondly, rewrite original files with patched ones
|
||||
install (DIRECTORY "${BUILD_PATCH_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
|
||||
install (DIRECTORY "${APPLY_OCCT_PATCH_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
|
||||
else()
|
||||
install (FILES "${BUILD_PATCH_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
|
||||
install (FILES "${APPLY_OCCT_PATCH_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
|
||||
endif()
|
||||
else()
|
||||
if (IS_DIRECTORY "${CMAKE_SOURCE_DIR}/${BEING_INSTALLED_OBJECT}")
|
||||
@@ -137,20 +137,20 @@ macro (OCCT_INSTALL_FILE_OR_DIR BEING_INSTALLED_OBJECT DESTINATION_PATH)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_CONFIGURE_AND_INSTALL BEING_CONGIRUGED_FILE FINAL_NAME DESTINATION_PATH)
|
||||
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${BEING_CONGIRUGED_FILE}")
|
||||
configure_file("${BUILD_PATCH_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
|
||||
macro (OCCT_CONFIGURE_AND_INSTALL BEING_CONGIRUGED_FILE BUILD_NAME INSTALL_NAME DESTINATION_PATH)
|
||||
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_CONGIRUGED_FILE}")
|
||||
configure_file("${APPLY_OCCT_PATCH_DIR}/${BEING_CONGIRUGED_FILE}" "${BUILD_NAME}" @ONLY)
|
||||
else()
|
||||
configure_file("${CMAKE_SOURCE_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
|
||||
configure_file("${CMAKE_SOURCE_DIR}/${BEING_CONGIRUGED_FILE}" "${BUILD_NAME}" @ONLY)
|
||||
endif()
|
||||
|
||||
install(FILES "${OCCT_BINARY_DIR}/${FINAL_NAME}" DESTINATION "${DESTINATION_PATH}")
|
||||
install(FILES "${OCCT_BINARY_DIR}/${BUILD_NAME}" DESTINATION "${DESTINATION_PATH}" RENAME ${INSTALL_NAME})
|
||||
endmacro()
|
||||
|
||||
macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_OCCT_DIR TEMPLATE_HEADER_PATH ROOT_TARGET_OCCT_DIR OCCT_USED_TOOLKITS)
|
||||
macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_OCCT_DIR TEMPLATE_HEADER_PATH ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOOLKITS)
|
||||
set (OCCT_SOURCE_DIRS)
|
||||
|
||||
foreach (OCCT_USED_TOOLKIT ${OCCT_USED_TOOLKITS})
|
||||
foreach (OCCT_USED_TOOLKIT ${OCCT_BUILD_TOOLKITS})
|
||||
# append parent folder
|
||||
list (APPEND OCCT_SOURCE_DIRS ${OCCT_USED_TOOLKIT})
|
||||
|
||||
@@ -183,15 +183,15 @@ macro (OCCT_COPY_FILE_OR_DIR BEING_COPIED_OBJECT DESTINATION_PATH)
|
||||
# first of all, copy original files
|
||||
file (COPY "${CMAKE_SOURCE_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
|
||||
|
||||
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${BEING_COPIED_OBJECT}")
|
||||
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_COPIED_OBJECT}")
|
||||
# secondly, rewrite original files with patched ones
|
||||
file (COPY "${BUILD_PATCH_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
|
||||
file (COPY "${APPLY_OCCT_PATCH_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_CONFIGURE BEING_CONGIRUGED_FILE FINAL_NAME)
|
||||
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${BEING_CONGIRUGED_FILE}")
|
||||
configure_file("${BUILD_PATCH_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
|
||||
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_CONGIRUGED_FILE}")
|
||||
configure_file("${APPLY_OCCT_PATCH_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
|
||||
else()
|
||||
configure_file("${CMAKE_SOURCE_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
|
||||
endif()
|
||||
@@ -200,12 +200,12 @@ endmacro()
|
||||
function (OCCT_IS_PRODUCT_REQUIRED CSF_VAR_NAME USE_PRODUCT)
|
||||
set (${USE_PRODUCT} OFF PARENT_SCOPE)
|
||||
|
||||
if (NOT USED_TOOLKITS)
|
||||
if (NOT BUILD_TOOLKITS)
|
||||
message(STATUS "Warning: the list of being used toolkits is empty")
|
||||
else()
|
||||
foreach (USED_TOOLKIT ${USED_TOOLKITS})
|
||||
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/src/${USED_TOOLKIT}/EXTERNLIB")
|
||||
file (READ "${BUILD_PATCH_DIR}/src/${USED_TOOLKIT}/EXTERNLIB" FILE_CONTENT)
|
||||
foreach (USED_TOOLKIT ${BUILD_TOOLKITS})
|
||||
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/src/${USED_TOOLKIT}/EXTERNLIB")
|
||||
file (READ "${APPLY_OCCT_PATCH_DIR}/src/${USED_TOOLKIT}/EXTERNLIB" FILE_CONTENT)
|
||||
elseif (EXISTS "${CMAKE_SOURCE_DIR}/src/${USED_TOOLKIT}/EXTERNLIB")
|
||||
file (READ "${CMAKE_SOURCE_DIR}/src/${USED_TOOLKIT}/EXTERNLIB" FILE_CONTENT)
|
||||
endif()
|
||||
@@ -222,8 +222,8 @@ endfunction()
|
||||
|
||||
function (FILE_TO_LIST FILE_NAME FILE_CONTENT)
|
||||
set (LOCAL_FILE_CONTENT)
|
||||
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${FILE_NAME}")
|
||||
file (STRINGS "${BUILD_PATCH_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
|
||||
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${FILE_NAME}")
|
||||
file (STRINGS "${APPLY_OCCT_PATCH_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
|
||||
elseif (EXISTS "${CMAKE_SOURCE_DIR}/${FILE_NAME}")
|
||||
file (STRINGS "${CMAKE_SOURCE_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
|
||||
endif()
|
||||
|
144
adm/cmake/occt_toolkit.cmake
Normal file
144
adm/cmake/occt_toolkit.cmake
Normal file
@@ -0,0 +1,144 @@
|
||||
# script for each OCCT toolkit
|
||||
|
||||
# Get all used packages from toolkit
|
||||
foreach (TOOLKIT_MODULE ${TOOLKIT_MODULES})
|
||||
if (WIN32)
|
||||
list (APPEND PRECOMPILED_DEFS "-D__${TOOLKIT_MODULE}_DLL")
|
||||
endif()
|
||||
list (APPEND COMPILER_DIRECTORIES "${OCCT_SOURCE_DIR}/src/${TOOLKIT_MODULE}")
|
||||
endforeach()
|
||||
string (REGEX REPLACE ";" " " PRECOMPILED_DEFS "${PRECOMPILED_DEFS}")
|
||||
|
||||
# Get from toolkits EXTERNLIB all used libs
|
||||
OCCT_TOOLKIT_DEP (${PROJECT_NAME} ${PROJECT_NAME}_DEPS)
|
||||
foreach (PROJECT_DEP ${${PROJECT_NAME}_DEPS})
|
||||
IS_OCCT_TOOLKIT (${PROJECT_DEP} OCCT_MODULES FOUND_TOOLKIT)
|
||||
if ("${FOUND_TOOLKIT}" STREQUAL "ON")
|
||||
list (APPEND USED_LIBS "${PROJECT_DEP}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Get all source files from used packages
|
||||
foreach (CMP_DIR ${COMPILER_DIRECTORIES})
|
||||
get_filename_component (CMP_DIR_NAME ${CMP_DIR} NAME)
|
||||
|
||||
set (SOURCE_FILES)
|
||||
set (HEADER_FILES)
|
||||
|
||||
# Generate Flex and Bison files
|
||||
if (${REBUILD_PLATFORM_DEPENDENT_CODE})
|
||||
|
||||
# flex files
|
||||
file (GLOB SOURCE_FILES_FLEX "${CMP_DIR}/*[.]lex")
|
||||
list (LENGTH SOURCE_FILES_FLEX SOURCE_FILES_FLEX_LEN)
|
||||
list (SORT SOURCE_FILES_FLEX)
|
||||
|
||||
# bison files
|
||||
file (GLOB SOURCE_FILES_BISON "${CMP_DIR}/*[.]yacc")
|
||||
list (LENGTH SOURCE_FILES_BISON SOURCE_FILES_BISON_LEN)
|
||||
list (SORT SOURCE_FILES_BISON)
|
||||
|
||||
if (${SOURCE_FILES_FLEX_LEN} EQUAL ${SOURCE_FILES_BISON_LEN} AND NOT ${SOURCE_FILES_FLEX_LEN} EQUAL 0)
|
||||
|
||||
math (EXPR SOURCE_FILES_FLEX_LEN "${SOURCE_FILES_FLEX_LEN} - 1")
|
||||
foreach (FLEX_FILE_INDEX RANGE ${SOURCE_FILES_FLEX_LEN})
|
||||
|
||||
list (GET SOURCE_FILES_FLEX ${FLEX_FILE_INDEX} CURRENT_FLEX_FILE)
|
||||
get_filename_component (CURRENT_FLEX_FILE_NAME ${CURRENT_FLEX_FILE} NAME_WE)
|
||||
|
||||
list (GET SOURCE_FILES_BISON ${FLEX_FILE_INDEX} CURRENT_BISON_FILE)
|
||||
get_filename_component (CURRENT_BISON_FILE_NAME ${CURRENT_BISON_FILE} NAME_WE)
|
||||
|
||||
string (COMPARE EQUAL ${CURRENT_FLEX_FILE_NAME} ${CURRENT_BISON_FILE_NAME} ARE_FILES_EQUAL)
|
||||
|
||||
if (EXISTS "${CURRENT_FLEX_FILE}" AND EXISTS "${CURRENT_BISON_FILE}" AND ${ARE_FILES_EQUAL})
|
||||
set (BISON_OUTPUT_FILE ${CURRENT_BISON_FILE_NAME}.tab.c)
|
||||
set (FLEX_OUTPUT_FILE lex.${CURRENT_FLEX_FILE_NAME}.c)
|
||||
BISON_TARGET (Parser_${CURRENT_BISON_FILE_NAME} ${CURRENT_BISON_FILE} ${CMP_DIR}/${BISON_OUTPUT_FILE} COMPILE_FLAGS "-p ${CURRENT_BISON_FILE_NAME}")
|
||||
FLEX_TARGET (Scanner_${CURRENT_FLEX_FILE_NAME} ${CURRENT_FLEX_FILE} ${CMP_DIR}/${FLEX_OUTPUT_FILE} COMPILE_FLAGS "-P${CURRENT_FLEX_FILE_NAME}")
|
||||
ADD_FLEX_BISON_DEPENDENCY (Scanner_${CURRENT_FLEX_FILE_NAME} Parser_${CURRENT_BISON_FILE_NAME})
|
||||
|
||||
list (APPEND SOURCE_FILES ${BISON_OUTPUT_FILE} ${FLEX_OUTPUT_FILE})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# header files
|
||||
file (STRINGS "${CMP_DIR}/FILES" HEADER_FILES_M REGEX ".+[.]h")
|
||||
file (STRINGS "${CMP_DIR}/FILES" HEADER_FILES_LXX REGEX ".+[.]lxx")
|
||||
file (STRINGS "${CMP_DIR}/FILES" HEADER_FILES_GXX REGEX ".+[.]gxx")
|
||||
list (APPEND HEADER_FILES ${HEADER_FILES_M} ${HEADER_FILES_LXX} ${SOURCE_FILES_GXX})
|
||||
|
||||
foreach(HEADER_FILE ${HEADER_FILES})
|
||||
list (APPEND USED_INCFILES ${CMP_DIR}/${HEADER_FILE})
|
||||
SOURCE_GROUP ("Header Files\\${CMP_DIR_NAME}" FILES ${CMP_DIR}/${HEADER_FILE})
|
||||
endforeach()
|
||||
|
||||
# source files
|
||||
file (STRINGS "${CMP_DIR}/FILES" SOURCE_FILES_C REGEX ".+[.]c")
|
||||
list (APPEND SOURCE_FILES ${SOURCE_FILES_C})
|
||||
|
||||
if(APPLE)
|
||||
file (STRINGS "${CMP_DIR}/FILES" SOURCE_FILES_M REGEX ".+[.]mm")
|
||||
list (APPEND SOURCE_FILES ${SOURCE_FILES_M})
|
||||
endif()
|
||||
|
||||
foreach(SOURCE_FILE ${SOURCE_FILES})
|
||||
list (APPEND USED_SRCFILES ${CMP_DIR}/${SOURCE_FILE})
|
||||
SOURCE_GROUP ("Source Files\\${CMP_DIR_NAME}" FILES ${CMP_DIR}/${SOURCE_FILE})
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
# Create project for toolkit
|
||||
list (FIND BUILD_TOOLKITS ${PROJECT_NAME} CURRENT_PROJECT_IS_BUILT)
|
||||
if ("${BUILD_TOOLKITS}" STREQUAL "" OR NOT ${CURRENT_PROJECT_IS_BUILT} EQUAL -1)
|
||||
|
||||
foreach (OCCT_MODULE ${OCCT_MODULES})
|
||||
list (FIND ${OCCT_MODULE}_TOOLKITS ${PROJECT_NAME} CURRENT_PROJECT_IS_BUILT)
|
||||
if (NOT ${CURRENT_PROJECT_IS_BUILT} EQUAL -1)
|
||||
set (CURRENT_MODULE ${OCCT_MODULE})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if ("${PROJECT_NAME}" STREQUAL "DRAWEXE")
|
||||
add_executable (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES})
|
||||
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
else()
|
||||
add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES})
|
||||
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS Release
|
||||
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin"
|
||||
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini"
|
||||
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi")
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
CONFIGURATIONS Debug
|
||||
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind"
|
||||
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")
|
||||
if (MSVC)
|
||||
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind/${PROJECT_NAME}.pdb
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_property (TARGET ${PROJECT_NAME} PROPERTY FOLDER "Modules/${CURRENT_MODULE}")
|
||||
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}")
|
||||
target_link_libraries (${PROJECT_NAME} ${USED_LIBS})
|
||||
endif()
|
@@ -1,7 +1,7 @@
|
||||
# tbb
|
||||
|
||||
if (NOT DEFINED INSTALL_TBB)
|
||||
set (INSTALL_TBB OFF CACHE BOOL "Is tbb required to be copied into install directory")
|
||||
set (INSTALL_TBB OFF CACHE BOOL "${INSTALL_TBB_DESCR}")
|
||||
endif()
|
||||
|
||||
# tbb directory
|
||||
@@ -204,7 +204,7 @@ if (INSTALL_TBB)
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
install (FILES ${3RDPARTY_TBB_DLL} ${3RDPARTY_TBBMALLOC_DLL}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
|
||||
install (FILES ${3RDPARTY_TBB_DLL} ${3RDPARTY_TBBMALLOC_DLL}
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
@@ -218,7 +218,7 @@ if (INSTALL_TBB)
|
||||
RENAME ${TBBLIB}.2)
|
||||
install (FILES ${3RDPARTY_TBB_LIBRARY}.2
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
|
||||
RENAME ${TBBLIB}.2)
|
||||
install (FILES ${3RDPARTY_TBB_LIBRARY}.2
|
||||
CONFIGURATIONS Debug
|
||||
@@ -231,7 +231,7 @@ if (INSTALL_TBB)
|
||||
RENAME ${TBBMALLOCLIB}.2)
|
||||
install (FILES ${3RDPARTY_TBBMALLOC_LIBRARY}.2
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
|
||||
RENAME ${TBBMALLOCLIB}.2)
|
||||
install (FILES ${3RDPARTY_TBBMALLOC_LIBRARY}.2
|
||||
CONFIGURATIONS Debug
|
||||
|
@@ -1,7 +1,7 @@
|
||||
# tcl
|
||||
|
||||
if (NOT DEFINED INSTALL_TCL)
|
||||
set (INSTALL_TCL OFF CACHE BOOL "Is tcl lib required to be copied into install directory")
|
||||
set (INSTALL_TCL OFF CACHE BOOL "${INSTALL_TCL_DESCR}")
|
||||
endif()
|
||||
|
||||
# tcl directory
|
||||
@@ -314,7 +314,7 @@ if (INSTALL_TCL)
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
install (FILES ${TCL_DLLS} ${TK_DLLS}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
|
||||
install (FILES ${TCL_DLLS} ${TK_DLLS}
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
@@ -325,7 +325,7 @@ if (INSTALL_TCL)
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
|
||||
install (FILES ${3RDPARTY_TCL_LIBRARY_REALPATH}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi")
|
||||
install (FILES ${3RDPARTY_TCL_LIBRARY_REALPATH}
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")
|
||||
@@ -336,7 +336,7 @@ if (INSTALL_TCL)
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
|
||||
install (FILES ${3RDPARTY_TK_LIBRARY_REALPATH}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi")
|
||||
install (FILES ${3RDPARTY_TK_LIBRARY_REALPATH}
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")
|
||||
|
48
adm/cmake/vardescr.cmake
Normal file
48
adm/cmake/vardescr.cmake
Normal file
@@ -0,0 +1,48 @@
|
||||
# variable description
|
||||
|
||||
#
|
||||
set (APPLY_OCCT_PATCH_DIR_DESCR "The directory contaning patched OCCT sources that should be used")
|
||||
set (BUILD_LIBRARY_TYPE_DESCR "The type of further OCCT libraries: shared or static")
|
||||
|
||||
set (REBUILD_PLATFORM_DEPENDENT_CODE_DESCR "OCCT has already compiled platform-depending code and it can be rebult once again (*.yacc/*.lex)")
|
||||
|
||||
# install variables
|
||||
set (INSTALL_DIR_DESCR "The place where built OCCT libraries, headers, test cases (INSTALL_OCCT_TEST_CASES variable), \n samples (INSTALL_OCCT_SAMPLES_DESCR variable) and certain 3rdparties (INSTALL_GL2PS, INSTALL_TBB and other similar variables) \n will be placed during the installation process (building INSTALL project)")
|
||||
|
||||
set (INSTALL_OCCT_SAMPLES_DESCR "The installation process (building INSTALL project) also places OCCT samples into installation directory (INSTALL_DIR variable)")
|
||||
set (INSTALL_OCCT_TEST_CASES_DESCR "The installation process (building INSTALL project) also places OCCT test cases into installation directory (INSTALL_DIR variable)")
|
||||
set (INSTALL_DOC_OcctOverview_DESCR "The installation process (building INSTALL project) also places OCCT overview documentation (HTML format) \n into installation directory (INSTALL_DIR variable)")
|
||||
|
||||
set (INSTALL_FREEIMAGE_DESCR "The installation process (building INSTALL project) also places FreeImage library \n into installation directory (INSTALL_DIR variable). After that OCCT can use this library in portable mode")
|
||||
set (INSTALL_FREEIMAGEPLUS_DESCR "The installation process (building INSTALL project) also places FreeImagePlus library into \n installation directory (INSTALL_DIR variable). After that OCCT can use this library in portable mode")
|
||||
set (INSTALL_FREETYPE_DESCR "The installation process (building INSTALL project) also places FreeType library into \n installation directory (INSTALL_DIR variable). After that OCCT can use this library in portable mode")
|
||||
set (INSTALL_GL2PS_DESCR "The installation process (building INSTALL project) also places GL2PS library into \n installation directory (INSTALL_DIR variable). After that OCCT can use this library in portable mode")
|
||||
set (INSTALL_TBB_DESCR "The installation process (building INSTALL project) also places tbb and tbbmalloc libraries into \n installation directory (INSTALL_DIR variable). After that OCCT can use these libraries in portable mode")
|
||||
set (INSTALL_TCL_DESCR "The installation process (building INSTALL project) also places Tcl (library and its nessecary sources) into \n installation directory (INSTALL_DIR variable). After that OCCT can use Tcl in portable mode")
|
||||
set (INSTALL_VTK_DESCR "The installation process (building INSTALL project) also places Vtk libraries into \n installation directory (INSTALL_DIR variable). After that OCCT can use these libraries in portable mode")
|
||||
|
||||
# build variables
|
||||
set (BUILD_MODULE_ApplicationFramework_DESCR "Build all toolkits of ApplicationFramework module in the solution")
|
||||
set (BUILD_MODULE_DataExchange_DESCR "Build all toolkits of DataExchange module in the solution")
|
||||
set (BUILD_MODULE_Draw_DESCR "Build all toolkits of Draw module in the solution")
|
||||
set (BUILD_MODULE_FoundationClasses_DESCR "Build all toolkits of FoundationClasses module in the solution")
|
||||
set (BUILD_MODULE_ModelingAlgorithms_DESCR "Build all toolkits of ModelingAlgorithms module in the solution")
|
||||
set (BUILD_MODULE_ModelingData_DESCR "Build all toolkits of ModelingData module in the solution")
|
||||
set (BUILD_MODULE_Visualization_DESCR "Build all toolkits of Visualization module in the solution")
|
||||
|
||||
set (BUILD_ADDITIONAL_TOOLKITS_DESCR "Build additional OCCT toolkits (including dependent ones) in the solution")
|
||||
|
||||
set (BUILD_MODULE_OcctMfcSamples_DESCR "Build several OCCT MFC sample projects in the solution. \n These samples show some possibilities of using OCCT and they can \n be executed with script samples.bat from the installation directory (INSTALL_DIR)")
|
||||
set (BUILD_DOC_OcctOverview_DESCR "Build a project containing OCCT overview documentation (Markdown format) \n in the solution. The building of the project executes doxygen command that generates \n the documentation in HTML format. The documentation will be available in the installation \n directory (overview.bat script) if INSTALL_DOC_OcctOverview variable is checked")
|
||||
|
||||
set (3RDPARTY_DIR_DESCR "The directory that contain several or all used 3rdparties. \n If the 3rdpartyies have been found - corresponding CMake variables \n will be specified (VTK: 3RDPARTY_VTK_DIR, 3RDPARTY_VTK_INCLUDE_DIR, 3RDPARTY_VTK_LIBRARY_DIR)")
|
||||
|
||||
set (USE_FREEIMAGE_DESCR "The solution can use FreeImage")
|
||||
set (USE_GL2PS_DESCR "The solution can use GL2PS")
|
||||
set (USE_TBB_DESCR "The solution can use tbb")
|
||||
set (USE_VTK_DESCR "The solution can use VTK")
|
||||
set (USE_GLX_DESCR "The solution can use X11 OpenGl on OSX")
|
||||
|
||||
macro (BUILD_MODULE MODULE_NAME)
|
||||
set (BUILD_MODULE_${MODULE_NAME} ON CACHE BOOL "${BUILD_MODULE_${MODULE_NAME}_DESCR}")
|
||||
endmacro()
|
@@ -1,7 +1,7 @@
|
||||
# vtk
|
||||
|
||||
if (NOT DEFINED INSTALL_VTK)
|
||||
set (INSTALL_VTK OFF CACHE BOOL "Is vtk required to be copied into install directory")
|
||||
set (INSTALL_VTK OFF CACHE BOOL "${INSTALL_VTK_DESCR}")
|
||||
endif()
|
||||
|
||||
# vtk directory
|
||||
@@ -144,7 +144,7 @@ if (INSTALL_VTK)
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
install (FILES ${3RDPARTY_VTK_DLL}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
|
||||
install (FILES ${3RDPARTY_VTK_DLL}
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
@@ -161,7 +161,7 @@ if (INSTALL_VTK)
|
||||
RENAME "lib${VTK_DLL_NAME}")
|
||||
install(FILES "${3RDPARTY_VTK_LIBRARY_DIR}/lib${VTK_DLL_NAME}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
|
||||
RENAME "lib${VTK_DLL_NAME}")
|
||||
install(FILES "${3RDPARTY_VTK_LIBRARY_DIR}/lib${VTK_DLL_NAME}"
|
||||
CONFIGURATIONS Debug
|
||||
|
@@ -6,6 +6,8 @@ if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
|
||||
if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
|
||||
if /I ["%3"] == ["debug"] set "CASDEB=d"
|
||||
if /I ["%3"] == ["d"] set "CASDEB=d"
|
||||
if /I ["%3"] == ["i"] set "CASDEB=i"
|
||||
if /I ["%3"] == ["relwithdeb"] set "CASDEB=i"
|
||||
|
||||
rem include other custom.bat files with specific 3rdparty paths
|
||||
@ADDITIONAL_CUSTOM_CONTENT@
|
||||
|
14
adm/templates/custom.build.bat.in
Normal file
14
adm/templates/custom.build.bat.in
Normal file
@@ -0,0 +1,14 @@
|
||||
echo off
|
||||
|
||||
if "%VCVER%" == "@COMPILER@" (
|
||||
if "%ARCH%" == "@COMPILER_BITNESS@" (
|
||||
set "TCL_DIR=@3RDPARTY_TCL_DLL_DIR@"
|
||||
set "FREETYPE_DIR=@3RDPARTY_FREETYPE_DLL_DIR@"
|
||||
set "FREEIMAGE_DIR=@3RDPARTY_FREEIMAGE_DLL_DIR@"
|
||||
set "FREEIMAGEPLUS_DIR=@3RDPARTY_FREEIMAGEPLUS_DLL_DIR@"
|
||||
set "GL2PS_DIR=@3RDPARTY_GL2PS_DLL_DIR@"
|
||||
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
|
||||
set "VTK_DIR=@3RDPARTY_VTK_DLL_DIR@"
|
||||
)
|
||||
)
|
||||
|
13
adm/templates/custom.build.sh.in
Normal file
13
adm/templates/custom.build.sh.in
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$COMPILER" == "@COMPILER@" ]; then
|
||||
if [ "$ARCH" == "@COMPILER_BITNESS@" ]; then
|
||||
export TCL_DIR="@3RDPARTY_TCL_LIBRARY_DIR@"
|
||||
export FREETYPE_DIR="@3RDPARTY_FREETYPE_LIBRARY_DIR@"
|
||||
export FREEIMAGE_DIR="@3RDPARTY_FREEIMAGE_LIBRARY_DIR@"
|
||||
export GL2PS_DIR="@3RDPARTY_GL2PS_LIBRARY_DIR@"
|
||||
export TBB_DIR="@3RDPARTY_TBB_LIBRARY_DIR@"
|
||||
export VTK_DIR="@3RDPARTY_VTK_LIBRARY_DIR@"
|
||||
fi
|
||||
fi
|
||||
|
@@ -9,7 +9,6 @@ if "%VCVER%" == "@COMPILER@" (
|
||||
set "GL2PS_DIR=@USED_3RDPARTY_GL2PS_DIR@"
|
||||
set "TBB_DIR=@USED_3RDPARTY_TBB_DIR@"
|
||||
set "VTK_DIR=@USED_3RDPARTY_VTK_DIR@"
|
||||
set "CSF_TestDataPath=@TESTS_SHAPES_DIR@"
|
||||
)
|
||||
)
|
||||
|
@@ -8,7 +8,6 @@ if [ "$COMPILER" == "@COMPILER@" ]; then
|
||||
export GL2PS_DIR="@USED_3RDPARTY_GL2PS_DIR@"
|
||||
export TBB_DIR="@USED_3RDPARTY_TBB_DIR@"
|
||||
export VTK_DIR="@USED_3RDPARTY_VTK_DIR@"
|
||||
export CSF_TestDataPath="@TESTS_SHAPES_DIR@"
|
||||
fi
|
||||
fi
|
||||
|
@@ -42,12 +42,18 @@ if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
|
||||
if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
|
||||
if /I ["%3"] == ["debug"] set "CASDEB=d"
|
||||
if /I ["%3"] == ["d"] set "CASDEB=d"
|
||||
if /I ["%3"] == ["i"] set "CASDEB=i"
|
||||
if /I ["%3"] == ["relwithdeb"] set "CASDEB=i"
|
||||
|
||||
set "CSF_OPT_INC=%CSF_OPT_INC%;%CASROOT%\inc"
|
||||
set "CSF_OPT_LIB32D=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\libd"
|
||||
set "CSF_OPT_LIB64D=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\libd"
|
||||
set "CSF_OPT_BIN32D=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bind"
|
||||
set "CSF_OPT_BIN64D=%CSF_OPT_BIN64%;%CASROOT%\win64\%VCVER%\bind"
|
||||
set "CSF_OPT_LIB32I=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\libi"
|
||||
set "CSF_OPT_LIB64I=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\libi"
|
||||
set "CSF_OPT_BIN32I=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bini"
|
||||
set "CSF_OPT_BIN64I=%CSF_OPT_BIN64%;%CASROOT%\win64\%VCVER%\bini"
|
||||
set "CSF_OPT_LIB32=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\lib"
|
||||
set "CSF_OPT_LIB64=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\lib"
|
||||
set "CSF_OPT_BIN32=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bin"
|
||||
@@ -93,23 +99,24 @@ for %%a in ("%CSF_OPT_LIB64:;=";"%") do (
|
||||
if not ["%%~a"] == [""] call :concatLib64 %%~a
|
||||
)
|
||||
|
||||
set "CSF_OPT_LNK32="
|
||||
set "CSF_OPT_LNK64="
|
||||
set "CSF_OPT_LNK32D="
|
||||
set "CSF_OPT_LNK64D="
|
||||
set "CSF_OPT_LNK32=%CSF_OPT_LNK32% %OPT_LIB32%"
|
||||
set "CSF_OPT_LNK32D=%CSF_OPT_LNK32D% %OPT_LIB32%"
|
||||
set "CSF_OPT_LNK64=%CSF_OPT_LNK64% %OPT_LIB64%"
|
||||
set "CSF_OPT_LNK32D=%CSF_OPT_LNK32D% %OPT_LIB32%"
|
||||
set "CSF_OPT_LNK64D=%CSF_OPT_LNK64D% %OPT_LIB64%"
|
||||
set "CSF_OPT_LNK32I=%CSF_OPT_LNK32I% %OPT_LIB32%"
|
||||
set "CSF_OPT_LNK64I=%CSF_OPT_LNK64I% %OPT_LIB64%"
|
||||
|
||||
set "CASBIN=win%ARCH%\%VCVER%"
|
||||
|
||||
rem ----- Set path to 3rd party and OCCT libraries -----
|
||||
set "PATH=%SCRIPTROOT%\%CASBIN%\bin%CASDEB%;%PATH%"
|
||||
if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32%;%PATH%"
|
||||
if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64%;%PATH%"
|
||||
if not ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32D%;%PATH%"
|
||||
if not ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64D%;%PATH%"
|
||||
if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32%;%PATH%"
|
||||
if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64%;%PATH%"
|
||||
if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32D%;%PATH%"
|
||||
if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64D%;%PATH%"
|
||||
|
||||
if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32I%;%PATH%"
|
||||
if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64I%;%PATH%"
|
||||
|
||||
rem ----- Set envoronment variables used by OCCT -----
|
||||
set CSF_LANGUAGE=us
|
||||
|
@@ -15,6 +15,8 @@ if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
|
||||
if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
|
||||
if /I ["%3"] == ["debug"] set "CASDEB=d"
|
||||
if /I ["%3"] == ["d"] set "CASDEB=d"
|
||||
if /I ["%3"] == ["i"] set "CASDEB=i"
|
||||
if /I ["%3"] == ["relwithdeb"] set "CASDEB=i"
|
||||
|
||||
if exist "%~dp0custom.bat" (
|
||||
call "%~dp0custom.bat" %1 %2 %3
|
||||
|
@@ -13,6 +13,8 @@ shopt -s nocasematch
|
||||
export CASDEB="";
|
||||
if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "d" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "relwithdeb" ]]; then export CASDEB="i"; fi
|
||||
if [[ "$1" == "i" ]]; then export CASDEB="i"; fi
|
||||
shopt -u nocasematch
|
||||
|
||||
export COMPILER="@COMPILER@"
|
||||
|
@@ -5,7 +5,7 @@ set "SCRIPTROOT=%SCRIPTROOT:~0,-1%"
|
||||
|
||||
set "VCVER=@COMPILER@"
|
||||
set "ARCH=@COMPILER_BITNESS@"
|
||||
set "CASDEB="
|
||||
set "CASDEB=@BUILD_LETTER@"
|
||||
|
||||
if not ["%1"] == [""] set "VCVER=%1"
|
||||
if not ["%2"] == [""] set "ARCH=%2"
|
||||
@@ -13,6 +13,8 @@ if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
|
||||
if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
|
||||
if /I ["%3"] == ["debug"] set "CASDEB=d"
|
||||
if /I ["%3"] == ["d"] set "CASDEB=d"
|
||||
if /I ["%3"] == ["i"] set "CASDEB=i"
|
||||
if /I ["%3"] == ["relwithdeb"] set "CASDEB=i"
|
||||
|
||||
if exist "%~dp0custom.bat" (
|
||||
call "%~dp0custom.bat" %VCVER% %ARCH% %CASDEB%
|
@@ -11,6 +11,8 @@ shopt -s nocasematch
|
||||
export CASDEB="";
|
||||
if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "d" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "relwithdeb" ]]; then export CASDEB="i"; fi
|
||||
if [[ "$1" == "i" ]]; then export CASDEB="i"; fi
|
||||
shopt -u nocasematch
|
||||
|
||||
export COMPILER="@COMPILER@"
|
@@ -36,6 +36,8 @@ for i in $*
|
||||
do
|
||||
if [ "$i" == "d" ] || [ "$i" == "debug" ]; then
|
||||
export CASDEB="d"
|
||||
elif [ "$i" == "i" ] || [ "$i" == "relwithdeb" ]; then
|
||||
export CASDEB="i"
|
||||
elif [ "$i" == "cbp" ]; then
|
||||
export TARGET="cbp";
|
||||
elif [ "$i" == "xcd" ] || [ "$i" == "xcode" ]; then
|
||||
@@ -74,11 +76,15 @@ if [ "${TARGET}" == "cbp" ]; then
|
||||
export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/libd"
|
||||
export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/lib"
|
||||
export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/lib"
|
||||
export CSF_OPT_LIB32I="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/libi"
|
||||
export CSF_OPT_LIB64I="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/libi"
|
||||
elif [ "${TARGET}" == "xcd" ]; then
|
||||
export CSF_OPT_LIB32D="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Debug"
|
||||
export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Debug"
|
||||
export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Release"
|
||||
export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Release"
|
||||
export CSF_OPT_LIB32I="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/RelWithDebInfo"
|
||||
export CSF_OPT_LIB64I="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/RelWithDebInfo"
|
||||
fi
|
||||
|
||||
export CSF_OPT_CMPL=""
|
||||
@@ -122,11 +128,15 @@ if [ "$ARCH" == "32" ]; then
|
||||
declare -a aPartiesLibs=($*)
|
||||
set -- "$CSF_OPT_LIB32D"
|
||||
declare -a aPartiesLibsDeb=($*)
|
||||
set -- "$CSF_OPT_LIB32I"
|
||||
declare -a aPartiesLibsRelWithDebInfo=($*)
|
||||
else
|
||||
set -- "$CSF_OPT_LIB64"
|
||||
declare -a aPartiesLibs=($*)
|
||||
set -- "$CSF_OPT_LIB64D"
|
||||
declare -a aPartiesLibsDeb=($*)
|
||||
set -- "$CSF_OPT_LIB64I"
|
||||
declare -a aPartiesLibsRelWithDebInfo=($*)
|
||||
fi
|
||||
|
||||
# Turn back value
|
||||
@@ -138,6 +148,12 @@ do
|
||||
OPT_LINKER_OPTIONS_DEB="${OPT_LINKER_OPTIONS_DEB} -L${anItem}"
|
||||
done
|
||||
|
||||
OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO=""
|
||||
for anItem in ${aPartiesLibsRelWithDebInfo[*]}
|
||||
do
|
||||
OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO="${OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO} -L${anItem}"
|
||||
done
|
||||
|
||||
OPT_LINKER_OPTIONS=""
|
||||
for anItem in ${aPartiesLibs[*]}
|
||||
do
|
||||
@@ -152,9 +168,11 @@ done
|
||||
if [ "$ARCH" == "64" ]; then
|
||||
export CSF_OPT_LNK64="$OPT_LINKER_OPTIONS"
|
||||
export CSF_OPT_LNK64D="$OPT_LINKER_OPTIONS_DEB"
|
||||
export CSF_OPT_LNK64I="$OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO"
|
||||
else
|
||||
export CSF_OPT_LNK32="$OPT_LINKER_OPTIONS"
|
||||
export CSF_OPT_LNK32D="$OPT_LINKER_OPTIONS_DEB"
|
||||
export CSF_OPT_LNK32I="$OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO"
|
||||
fi
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user