From fa0cbe55114b944ff6409b9e2f00bb82d4332151 Mon Sep 17 00:00:00 2001 From: ski Date: Wed, 8 Jul 2015 15:33:25 +0300 Subject: [PATCH] 0026389: The Visual Studio solution of OCCT generated by CMake should have all build configurations the choice of OCCT build type moved to generated projects debug library search removed from 3rdparty search mechanism draw.bat receive 3 arguments: compiler, bitness and build type --- CMakeLists.txt | 55 ++++++------- adm/cmake/3rdparty_macro.cmake | 109 +++++++++++--------------- adm/cmake/BuildToolkit.cmake | 32 ++++++-- adm/cmake/freetype.cmake | 28 +++++-- adm/cmake/occt_macros.cmake | 11 --- adm/cmake/tbb.cmake | 106 +++++++++++-------------- adm/cmake/tcl.cmake | 35 +++++++-- adm/cmake/vtk.cmake | 46 +++++++---- adm/templates/DRAWEXE.vcxproj.user.in | 14 +++- adm/templates/custom.bat.in | 18 ++--- adm/templates/custom.sh.in | 16 ++-- adm/templates/draw.bat | 4 +- adm/templates/env.bat.in | 4 +- adm/templates/env.build.bat.in | 2 +- adm/templates/env.build.sh.in | 2 +- adm/templates/env.sh.in | 2 +- 16 files changed, 258 insertions(+), 226 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7fd204cf78..8e17d93300 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,13 +2,7 @@ cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) set (CMAKE_SUPPRESS_REGENERATION TRUE) -# set build configurations list -if (NOT BUILD_CONFIGURATION) - set (BUILD_CONFIGURATION "Release" CACHE STRING "Build type of OCCT" FORCE) - SET_PROPERTY(CACHE BUILD_CONFIGURATION PROPERTY STRINGS Release Debug RelWithDebInfo) -endif() - -set (CMAKE_CONFIGURATION_TYPES ${BUILD_CONFIGURATION} CACHE INTERNAL "" FORCE) +set (CMAKE_CONFIGURATION_TYPES Release Debug RelWithDebInfo CACHE INTERNAL "" FORCE) # set type of OCCT libraries if (NOT BUILD_LIBRARY_TYPE) @@ -60,8 +54,6 @@ endif() # copy samples to install directory set (INSTALL_SAMPLES OFF CACHE BOOL "Copy OCCT samples to install directory") -set (CMAKE_BUILD_TYPE ${BUILD_CONFIGURATION} CACHE INTERNAL "Build type of OCCT" FORCE ) - # install dir of the built project set (INSTALL_DIR "" CACHE PATH "Directory that will contain install files of OCCT" ) set (CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE ) @@ -102,9 +94,6 @@ endmacro() # include occt macros OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") -# BUILD_POSTFIX variable is used by all toolkit cmakelists.txt projects -OCCT_MAKE_BUILD_POSTFIX() - # include the patched or original list of modules # list _TOOLKITS is created foreach module and contains its toolkits # list will contain all modules @@ -267,23 +256,26 @@ if (3RDPARTY_LIBRARY_DIRS) link_directories (${3RDPARTY_LIBRARY_DIRS}) endif() -# Get all used variables: OS_WITH_BIT, COMPILER, BUILD_POSTFIX -OCCT_MAKE_BUILD_POSTFIX() +# Get all used variables: OS_WITH_BIT, COMPILER OCCT_MAKE_OS_WITH_BITNESS() OCCT_MAKE_COMPILER_SHORT_NAME() # build directories -string (TOUPPER "${BUILD_CONFIGURATION}" TAIL_OF_OUTPUT_VARNAME) +set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") +set (CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") +set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") -set (OUTPUT_LIBRARY_DIR ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}) -set (OUTPUT_BINARY_DIR ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}) +set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") +set (CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") +set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") -set ("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${TAIL_OF_OUTPUT_VARNAME}" "${OUTPUT_LIBRARY_DIR}") -set ("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${TAIL_OF_OUTPUT_VARNAME}" "${OUTPUT_BINARY_DIR}") -set ("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${TAIL_OF_OUTPUT_VARNAME}" "${OUTPUT_LIBRARY_DIR}") +set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/libd") +set (CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind") +set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/libd") -if (WIN32) - set ("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${TAIL_OF_OUTPUT_VARNAME}" "${OUTPUT_BINARY_DIR}") +if (WIN32) + set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind") endif() message (STATUS "\nInfo: Collecting all OCCT header files into ${CMAKE_BINARY_DIR}/inc ...") @@ -297,9 +289,13 @@ COLLECT_AND_INSTALL_OCCT_HEADER_FILES ("${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR #endif() if ("${INSTALL_DIR}" STREQUAL "") - message (FATAL_ERROR "INSTALL_DIR variable is empty. It's required to define installation directory") -else() + get_filename_component (CMAKE_BINARY_DIR_PARENT ${CMAKE_BINARY_DIR} DIRECTORY) + set (INSTALL_DIR "${CMAKE_BINARY_DIR_PARENT}/install" CACHE PATH "Directory that will contain install files of OCCT" FORCE) + set (CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE ) + + message (STATUS "INSTALL_DIR has been set as ${INSTALL_DIR}") +else() OCCT_INSTALL_FILE_OR_DIR ("data" "${INSTALL_DIR}") OCCT_INSTALL_FILE_OR_DIR ("samples/tcl" "${INSTALL_DIR}/samples") @@ -339,21 +335,18 @@ else() # DRAW.BAT or DRAW.SH if (NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}/adm/templates/draw.${SCRIPT_EXT}") - install(FILES "${BUILD_PATCH_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" PERMISSIONS + install (FILES "${BUILD_PATCH_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE) else() - install(FILES "${CMAKE_SOURCE_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" PERMISSIONS + install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE) endif() OCCT_COPY_FILE_OR_DIR ("adm/templates/draw.${SCRIPT_EXT}" "${CMAKE_BINARY_DIR}") set (SUB_CUSTOM "custom_${COMPILER}_${COMPILER_BITNESS}.${SCRIPT_EXT}") - if ("${BUILD_CONFIGURATION}" STREQUAL "Debug") - set (SUB_CUSTOM "custom_${COMPILER}_${COMPILER_BITNESS}_${BUILD_POSTFIX}.${SCRIPT_EXT}") - endif() if (WIN32) - set (ADDITIONAL_CUSTOM_CONTENT "\nif exist \"%~dp0${SUB_CUSTOM}\" (\n call \"%~dp0${SUB_CUSTOM}\" %1 %2 %3 \n)") + set (ADDITIONAL_CUSTOM_CONTENT "\nif exist \"%~dp0${SUB_CUSTOM}\" (\n call \"%~dp0${SUB_CUSTOM}\" %VCVER% %ARCH% %CASDEB% \n)") else() set (ADDITIONAL_CUSTOM_CONTENT "\nif [ -e \"\${aScriptPath}/${SUB_CUSTOM}\" ]; then\n source \"\${aScriptPath}/${SUB_CUSTOM}\" \"\${COMPILER}\" \"\${WOKSTATION}\${ARCH}\" \"\${CASDEB}\" \nfi") endif() @@ -379,7 +372,7 @@ else() OCCT_CONFIGURE ("adm/templates/env.build.${SCRIPT_EXT}.in" "env.${SCRIPT_EXT}") OCCT_CONFIGURE ("adm/templates/env.${SCRIPT_EXT}.in" "env.install.${SCRIPT_EXT}") - install(FILES "${CMAKE_BINARY_DIR}/env.install.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" RENAME "env.${SCRIPT_EXT}") + install (FILES "${CMAKE_BINARY_DIR}/env.install.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" RENAME "env.${SCRIPT_EXT}") endif() # RESOURCES diff --git a/adm/cmake/3rdparty_macro.cmake b/adm/cmake/3rdparty_macro.cmake index 3130b59bca..051d703276 100644 --- a/adm/cmake/3rdparty_macro.cmake +++ b/adm/cmake/3rdparty_macro.cmake @@ -1,12 +1,10 @@ # -# include occt macros. compiler_bitness, os_wiht_bit, compiler and build_postfix +# include occt macros. compiler_bitness, os_wiht_bit, compiler OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEBUG) - OCCT_MAKE_BUILD_POSTFIX() - # define 3RDPARTY_${PRODUCT_NAME}_DIR variable is it isn't defined if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DIR) set (3RDPARTY_${PRODUCT_NAME}_DIR "" CACHE PATH "The directory containing ${PRODUCT_NAME}") @@ -52,35 +50,13 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB if (NOT 3RDPARTY_${PRODUCT_NAME}_LIBRARY OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}") set (3RDPARTY_${PRODUCT_NAME}_LIBRARY "3RDPARTY_${PRODUCT_NAME}_LIBRARY-NOTFOUND" CACHE FILEPATH "${PRODUCT_NAME} library" FORCE) - # first of all, search for debug version of a library if build type is debug - if (DEFINED IS_BUILD_DEBUG) - find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME_DEBUG} - PATHS - "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}" - "${3RDPARTY_${PRODUCT_NAME}_DIR}/lib" - "${3RDPARTY_${PRODUCT_NAME}_DIR}/libd" - ${3RDPARTY_${PRODUCT_NAME}_ADDITIONAL_PATH_FOR_LIB} - NO_DEFAULT_PATH) - # second search if previous one do not find anything - find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME_DEBUG}) - endif() - - # if build type is release or debug version of library isn't found - search for release version of one - if (NOT 3RDPARTY_${PRODUCT_NAME}_LIBRARY OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}") - set (3RDPARTY_${PRODUCT_NAME}_LIBRARY "3RDPARTY_${PRODUCT_NAME}_LIBRARY-NOTFOUND" CACHE FILEPATH "${PRODUCT_NAME} library" FORCE) - - if (DEFINED IS_BUILD_DEBUG) - message (STATUS "Warning: debug version of ${PRODUCT_NAME} library isn't found (${LIBRARY_NAME_DEBUG}) in ${3RDPARTY_${PRODUCT_NAME}_DIR}/lib(d). Search for release one") - endif() - - find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME} PATHS - "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}" - "${3RDPARTY_${PRODUCT_NAME}_DIR}/lib" - ${3RDPARTY_${PRODUCT_NAME}_ADDITIONAL_PATH_FOR_LIB} - NO_DEFAULT_PATH) - # second search if previous one do not find anything - find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME}) - endif() + find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME} PATHS + "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}" + "${3RDPARTY_${PRODUCT_NAME}_DIR}/lib" + ${3RDPARTY_${PRODUCT_NAME}_ADDITIONAL_PATH_FOR_LIB} + NO_DEFAULT_PATH) + # second search if previous one do not find anything + find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME}) endif() if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR) @@ -109,35 +85,14 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB if (NOT 3RDPARTY_${PRODUCT_NAME}_DLL OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL}") set (3RDPARTY_${PRODUCT_NAME}_DLL "3RDPARTY_${PRODUCT_NAME}_DLL-NOTFOUND" CACHE FILEPATH "${PRODUCT_NAME} shared library" FORCE) - if (DEFINED IS_BUILD_DEBUG) - find_library (3RDPARTY_${PRODUCT_NAME}_DLL "${LIBRARY_NAME_DEBUG}" - PATHS - "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}" - "${3RDPARTY_${PRODUCT_NAME}_DIR}/bin" - "${3RDPARTY_${PRODUCT_NAME}_DIR}/bind" - ${3RDPARTY_${PRODUCT_NAME}_ADDITIONAL_PATH_FOR_DLL} - NO_DEFAULT_PATH) - - # second search if previous one do not find anything - find_library (3RDPARTY_${PRODUCT_NAME}_DLL "${LIBRARY_NAME_DEBUG}") - endif() - - if (NOT 3RDPARTY_${PRODUCT_NAME}_DLL OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL}") - set (3RDPARTY_${PRODUCT_NAME}_DLL "3RDPARTY_${PRODUCT_NAME}_DLL-NOTFOUND" CACHE FILEPATH "${PRODUCT_NAME} shared library" FORCE) - - if (DEFINED IS_BUILD_DEBUG) - message (STATUS "Warning: debug version of ${PRODUCT_NAME} dll isn't found (${LIBRARY_NAME_DEBUG}) in ${3RDPARTY_${PRODUCT_NAME}_DIR}/bin(d). Search for release one") - endif() - - find_library (3RDPARTY_${PRODUCT_NAME}_DLL "${LIBRARY_NAME}" PATHS - "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}" - "${3RDPARTY_${PRODUCT_NAME}_DIR}/bin" - ${3RDPARTY_${PRODUCT_NAME}_ADDITIONAL_PATH_FOR_DLL} - NO_DEFAULT_PATH) + find_library (3RDPARTY_${PRODUCT_NAME}_DLL "${LIBRARY_NAME}" PATHS + "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}" + "${3RDPARTY_${PRODUCT_NAME}_DIR}/bin" + ${3RDPARTY_${PRODUCT_NAME}_ADDITIONAL_PATH_FOR_DLL} + NO_DEFAULT_PATH) # second search if previous one do not find anything find_library (3RDPARTY_${PRODUCT_NAME}_DLL "${LIBRARY_NAME}") - endif() endif() if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DLL_DIR) @@ -176,19 +131,49 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB if (INSTALL_${PRODUCT_NAME}) OCCT_MAKE_OS_WITH_BITNESS() OCCT_MAKE_COMPILER_SHORT_NAME() - OCCT_MAKE_BUILD_POSTFIX() if (WIN32) - install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") + install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind") + else() get_filename_component(ABS_PATH ${3RDPARTY_${PRODUCT_NAME}_LIBRARY} REALPATH) if ("${PRODUCT_NAME}" STREQUAL "FREEIMAGE") get_filename_component(FREEIMLIB ${3RDPARTY_${PRODUCT_NAME}_LIBRARY} NAME) - install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${FREEIMLIB}.3) + install (FILES "${ABS_PATH}" + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${FREEIMLIB}.3) + install (FILES "${ABS_PATH}" + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${FREEIMLIB}.3) + install (FILES "${ABS_PATH}" + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd" + RENAME ${FREEIMLIB}.3) endif() if("${PRODUCT_NAME}" STREQUAL "GL2PS") get_filename_component(GL2PSLIB ${3RDPARTY_${PRODUCT_NAME}_LIBRARY} NAME) - install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${GL2PSLIB}.1) + install (FILES "${ABS_PATH}" + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${GL2PSLIB}.1) + install (FILES "${ABS_PATH}" + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${GL2PSLIB}.1) + install (FILES "${ABS_PATH}" + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd" + RENAME ${GL2PSLIB}.1) endif() endif() else() diff --git a/adm/cmake/BuildToolkit.cmake b/adm/cmake/BuildToolkit.cmake index b0e3d72fce..4e920a600b 100644 --- a/adm/cmake/BuildToolkit.cmake +++ b/adm/cmake/BuildToolkit.cmake @@ -72,7 +72,6 @@ endforeach(CDIR) list( FIND USED_TOOLKITS ${PROJECT_NAME} isFOUND) -OCCT_MAKE_BUILD_POSTFIX() # Create project for toolkit if ("${USED_TOOLKITS}" STREQUAL "" OR NOT ${isFOUND} EQUAL -1) foreach (MODULE ${OCCT_MODULES}) @@ -83,17 +82,36 @@ if ("${USED_TOOLKITS}" STREQUAL "" OR NOT ${isFOUND} EQUAL -1) endforeach() if (isEXE) add_executable (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES}) - install (TARGETS ${PROJECT_NAME} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}" ) + 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} - RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}" - ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" - LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") + 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}/bin${BUILD_POSTFIX}/${PROJECT_NAME}.pdb + install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind/${PROJECT_NAME}.pdb CONFIGURATIONS Debug - DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind") endif() endif() diff --git a/adm/cmake/freetype.cmake b/adm/cmake/freetype.cmake index 19d6424198..e01686893b 100644 --- a/adm/cmake/freetype.cmake +++ b/adm/cmake/freetype.cmake @@ -11,7 +11,7 @@ endif() # store ENV{FREETYPE_DIR} SET (CACHED_FREETYPE_DIR $ENV{FREETYPE_DIR}) -# include occt macros. compiler_bitness, os_wiht_bit, compiler and build_postfix +# include occt macros. compiler_bitness, os_wiht_bit, compiler OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") OCCT_MAKE_COMPILER_SHORT_NAME() @@ -209,14 +209,32 @@ endif() if (INSTALL_FREETYPE) OCCT_MAKE_OS_WITH_BITNESS() - OCCT_MAKE_BUILD_POSTFIX() - if (WIN32) - install (FILES "${3RDPARTY_FREETYPE_DLL}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") + install (FILES "${3RDPARTY_FREETYPE_DLL}" + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + install (FILES "${3RDPARTY_FREETYPE_DLL}" + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + install (FILES "${3RDPARTY_FREETYPE_DLL}" + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind") else() get_filename_component(ABS_PATH ${3RDPARTY_FREETYPE_LIBRARY} REALPATH) get_filename_component(FREETYPELIB ${3RDPARTY_FREETYPE_LIBRARY} NAME) - install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${FREETYPELIB}.6) + + install (FILES "${ABS_PATH}" + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${FREETYPELIB}.6) + install (FILES "${ABS_PATH}" + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${FREETYPELIB}.6) + install (FILES "${ABS_PATH}" + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd" + RENAME ${FREETYPELIB}.6) endif() set (USED_3RDPARTY_FREETYPE_DIR "") diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake index 84b4527730..b20714b9e4 100644 --- a/adm/cmake/occt_macros.cmake +++ b/adm/cmake/occt_macros.cmake @@ -19,17 +19,6 @@ macro (OCCT_CHECK_AND_UNSET_GROUP VARNAME) endif() endmacro() -# BUILD_POSTFIX, IS_BUILD_DEBUG variables -macro (OCCT_MAKE_BUILD_POSTFIX) - if ("${BUILD_CONFIGURATION}" STREQUAL "Debug") - set (BUILD_POSTFIX "d") - set (IS_BUILD_DEBUG "") - else() - set (BUILD_POSTFIX "") - OCCT_CHECK_AND_UNSET (IS_BUILD_DEBUG) - endif() -endmacro() - # COMPILER_BITNESS variable macro (OCCT_MAKE_COMPILER_BITNESS) math (EXPR COMPILER_BITNESS "32 + 32*(${CMAKE_SIZEOF_VOID_P}/8)") diff --git a/adm/cmake/tbb.cmake b/adm/cmake/tbb.cmake index 01bc044dda..64d80b2955 100644 --- a/adm/cmake/tbb.cmake +++ b/adm/cmake/tbb.cmake @@ -1,7 +1,5 @@ # tbb -OCCT_MAKE_BUILD_POSTFIX() - if (NOT DEFINED INSTALL_TBB) set (INSTALL_TBB OFF CACHE BOOL "Is tbb required to be copied into install directory") endif() @@ -60,7 +58,7 @@ if (WIN32 AND NOT DEFINED 3RDPARTY_TBBMALLOC_DLL_DIR) set (3RDPARTY_TBBMALLOC_DLL_DIR "" CACHE FILEPATH "The directory containing tbb malloc shared library") endif() -# include occt macros. compiler_bitness, os_wiht_bit, compiler and build_postfix +# include occt macros. compiler_bitness, os_wiht_bit, compiler OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") # search for product directory inside 3RDPARTY_DIR directory @@ -100,8 +98,6 @@ OCCT_MAKE_COMPILER_SHORT_NAME() # set (TBB_COMPILER_FOLER ${COMPILER}) #endif() -OCCT_MAKE_BUILD_POSTFIX() - # search for tbb and tbb malloc library in defined 3rdparty directory foreach (LIBRARY_NAME TBB TBBMALLOC) if (NOT WIN32) @@ -127,37 +123,14 @@ foreach (LIBRARY_NAME TBB TBBMALLOC) if (NOT 3RDPARTY_${LIBRARY_NAME}_LIBRARY OR NOT EXISTS "${3RDPARTY_${LIBRARY_NAME}_LIBRARY}") set (3RDPARTY_${LIBRARY_NAME}_LIBRARY "3RDPARTY_${LIBRARY_NAME}_LIBRARY-NOTFOUND" CACHE FILEPATH "Path to library of ${LIBRARY_NAME}" FORCE) - # first of all, search for debug version of a library if build type is debug - if (DEFINED IS_BUILD_DEBUG) - find_library (3RDPARTY_${LIBRARY_NAME}_LIBRARY ${LIBRARY_NAME}_debug - PATHS - "${3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR}" - "${3RDPARTY_TBB_DIR}/libd/${TBB_ARCH_NAME}/${TBB_COMPILER_FOLER}" - "${3RDPARTY_TBB_DIR}/lib/${TBB_ARCH_NAME}/${TBB_COMPILER_FOLER}" - NO_DEFAULT_PATH) - - # second search if previous one do not find anything - find_library (3RDPARTY_${LIBRARY_NAME}_LIBRARY ${LIBRARY_NAME}_debug) - endif() - - # if build type is release or debug version of library isn't found - search for release version of one - if (NOT 3RDPARTY_${LIBRARY_NAME}_LIBRARY OR NOT EXISTS "${3RDPARTY_${LIBRARY_NAME}_LIBRARY}") - set (3RDPARTY_${LIBRARY_NAME}_LIBRARY "3RDPARTY_${LIBRARY_NAME}_LIBRARY-NOTFOUND" CACHE FILEPATH "Path to library of ${LIBRARY_NAME}" FORCE) - - if (DEFINED IS_BUILD_DEBUG) - message (STATUS "Warning: debug version of ${LIBRARY_NAME} library isn't found (${LIBRARY_NAME}_debug) in ${3RDPARTY_TBB_DIR}/lib(d). Search for release one") - endif() - - string (TOLOWER "${LIBRARY_NAME}" lower_LIBRARY_NAME) - find_library (3RDPARTY_${LIBRARY_NAME}_LIBRARY ${lower_LIBRARY_NAME} - PATHS - "${3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR}" - "${3RDPARTY_TBB_DIR}/lib/${TBB_ARCH_NAME}/${TBB_COMPILER_FOLER}" - NO_DEFAULT_PATH) + string (TOLOWER "${LIBRARY_NAME}" lower_LIBRARY_NAME) + find_library (3RDPARTY_${LIBRARY_NAME}_LIBRARY ${lower_LIBRARY_NAME} PATHS + "${3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR}" + "${3RDPARTY_TBB_DIR}/lib/${TBB_ARCH_NAME}/${TBB_COMPILER_FOLER}" + NO_DEFAULT_PATH) # second search if previous one do not find anything find_library (3RDPARTY_${LIBRARY_NAME}_LIBRARY ${LIBRARY_NAME}) - endif() endif() if (NOT 3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR OR NOT EXISTS "${3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR}") @@ -181,34 +154,13 @@ foreach (LIBRARY_NAME TBB TBBMALLOC) if (NOT 3RDPARTY_${LIBRARY_NAME}_DLL OR NOT EXISTS "${3RDPARTY_${LIBRARY_NAME}_DLL}") set (3RDPARTY_${LIBRARY_NAME}_DLL "3RDPARTY_${LIBRARY_NAME}_DLL-NOTFOUND" CACHE FILEPATH "Path to shared library of ${LIBRARY_NAME}" FORCE) - if (DEFINED IS_BUILD_DEBUG) - find_library (3RDPARTY_${LIBRARY_NAME}_DLL ${LIBRARY_NAME}_debug - PATHS - "${3RDPARTY_${LIBRARY_NAME}_DLL_DIR}" - "${3RDPARTY_TBB_DIR}/bind/${TBB_ARCH_NAME}/${TBB_COMPILER_FOLER}" - "${3RDPARTY_TBB_DIR}/bin/${TBB_ARCH_NAME}/${TBB_COMPILER_FOLER}" - NO_DEFAULT_PATH) - - # second search if previous one do not find anything - find_library (3RDPARTY_${LIBRARY_NAME}_DLL ${LIBRARY_NAME}_debug) - endif() - - if (NOT 3RDPARTY_${LIBRARY_NAME}_DLL OR NOT EXISTS "${3RDPARTY_${LIBRARY_NAME}_DLL}") - set (3RDPARTY_${LIBRARY_NAME}_DLL "3RDPARTY_${LIBRARY_NAME}_DLL-NOTFOUND" CACHE FILEPATH "Path to shared library of ${LIBRARY_NAME}" FORCE) - - if (DEFINED IS_BUILD_DEBUG) - message (STATUS "Warning: debug version of ${LIBRARY_NAME} dll isn't found (${LIBRARY_NAME}_debug) in ${3RDPARTY_TBB_DIR}/bin(d). Search for release one") - endif() - - find_library (3RDPARTY_${LIBRARY_NAME}_DLL ${LIBRARY_NAME} - PATHS - "${3RDPARTY_${LIBRARY_NAME}_DLL_DIR}" - "${3RDPARTY_TBB_DIR}/bin/${TBB_ARCH_NAME}/${TBB_COMPILER_FOLER}" - NO_DEFAULT_PATH) + find_library (3RDPARTY_${LIBRARY_NAME}_DLL ${LIBRARY_NAME} PATHS + "${3RDPARTY_${LIBRARY_NAME}_DLL_DIR}" + "${3RDPARTY_TBB_DIR}/bin/${TBB_ARCH_NAME}/${TBB_COMPILER_FOLER}" + NO_DEFAULT_PATH) # second search if previous one do not find anything find_library (3RDPARTY_${LIBRARY_NAME}_DLL ${LIBRARY_NAME}) - endif() endif() if (NOT 3RDPARTY_${LIBRARY_NAME}_DLL_DIR OR NOT EXISTS "${3RDPARTY_${LIBRARY_NAME}_DLL_DIR}") @@ -247,12 +199,44 @@ if (INSTALL_TBB) OCCT_MAKE_COMPILER_SHORT_NAME() if (WIN32) - install (FILES ${3RDPARTY_TBB_DLL} ${3RDPARTY_TBBMALLOC_DLL} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") + install (FILES ${3RDPARTY_TBB_DLL} ${3RDPARTY_TBBMALLOC_DLL} + CONFIGURATIONS Release + 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") + install (FILES ${3RDPARTY_TBB_DLL} ${3RDPARTY_TBBMALLOC_DLL} + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind") else() get_filename_component(TBBLIB ${3RDPARTY_TBB_LIBRARY} NAME) get_filename_component(TBBMALLOCLIB ${3RDPARTY_TBBMALLOC_LIBRARY} NAME) - install (FILES ${3RDPARTY_TBB_LIBRARY}.2 DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${TBBLIB}.2) - install (FILES ${3RDPARTY_TBBMALLOC_LIBRARY}.2 DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${TBBMALLOCLIB}.2) + + install (FILES ${3RDPARTY_TBB_LIBRARY}.2 + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${TBBLIB}.2) + install (FILES ${3RDPARTY_TBB_LIBRARY}.2 + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${TBBLIB}.2) + install (FILES ${3RDPARTY_TBB_LIBRARY}.2 + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd" + RENAME ${TBBLIB}.2) + + install (FILES ${3RDPARTY_TBBMALLOC_LIBRARY}.2 + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${TBBMALLOCLIB}.2) + install (FILES ${3RDPARTY_TBBMALLOC_LIBRARY}.2 + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + RENAME ${TBBMALLOCLIB}.2) + install (FILES ${3RDPARTY_TBBMALLOC_LIBRARY}.2 + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd" + RENAME ${TBBMALLOCLIB}.2) endif() set (USED_3RDPARTY_TBB_DIR "") diff --git a/adm/cmake/tcl.cmake b/adm/cmake/tcl.cmake index 5eb747b750..b3df8915ca 100644 --- a/adm/cmake/tcl.cmake +++ b/adm/cmake/tcl.cmake @@ -297,12 +297,11 @@ endforeach() # install tcltk if (INSTALL_TCL) - # include occt macros. compiler_bitness, os_wiht_bit, compiler and build_postfix + # include occt macros. compiler_bitness, os_wiht_bit, compiler OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") OCCT_MAKE_OS_WITH_BITNESS() OCCT_MAKE_COMPILER_SHORT_NAME() - OCCT_MAKE_BUILD_POSTFIX() if (WIN32) # tcl 8.6 requires zlib. install all dlls from tcl bin folder that may contain zlib also @@ -310,17 +309,41 @@ if (INSTALL_TCL) # collect and install all dlls from tcl/tk dll dirs file (GLOB TCL_DLLS "${3RDPARTY_TCL_DLL_DIR}/*.dll") file (GLOB TK_DLLS "${3RDPARTY_TK_DLL_DIR}/*.dll") - install (FILES ${TCL_DLLS} ${TK_DLLS} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") + install (FILES ${TCL_DLLS} ${TK_DLLS} + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + install (FILES ${TCL_DLLS} ${TK_DLLS} + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + install (FILES ${TCL_DLLS} ${TK_DLLS} + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind") else() get_filename_component(3RDPARTY_TCL_LIBRARY_REALPATH ${3RDPARTY_TCL_LIBRARY} REALPATH) - install (FILES ${3RDPARTY_TCL_LIBRARY_REALPATH} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") + install (FILES ${3RDPARTY_TCL_LIBRARY_REALPATH} + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") + install (FILES ${3RDPARTY_TCL_LIBRARY_REALPATH} + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") + install (FILES ${3RDPARTY_TCL_LIBRARY_REALPATH} + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd") get_filename_component(3RDPARTY_TK_LIBRARY_REALPATH ${3RDPARTY_TK_LIBRARY} REALPATH) - install (FILES ${3RDPARTY_TK_LIBRARY_REALPATH} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") + install (FILES ${3RDPARTY_TK_LIBRARY_REALPATH} + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") + install (FILES ${3RDPARTY_TK_LIBRARY_REALPATH} + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") + install (FILES ${3RDPARTY_TK_LIBRARY_REALPATH} + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd") endif() if (TCL_TCLSH_VERSION) - # tcl is required to install in lib folder (without ${BUILD_POSTFIX}) + # tcl is required to install in lib folder (without) install (DIRECTORY "${3RDPARTY_TCL_LIBRARY_DIR}/tcl8" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") install (DIRECTORY "${3RDPARTY_TCL_LIBRARY_DIR}/tcl${TCL_TCLSH_VERSION}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") install (DIRECTORY "${3RDPARTY_TCL_LIBRARY_DIR}/tk${TCL_TCLSH_VERSION}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib") diff --git a/adm/cmake/vtk.cmake b/adm/cmake/vtk.cmake index ea4cb27bf7..8705807f79 100644 --- a/adm/cmake/vtk.cmake +++ b/adm/cmake/vtk.cmake @@ -45,7 +45,6 @@ if (NOT VTK_FOUND AND NOT 3RDPARTY_VTK_DIR OR NOT EXISTS "${3RDPARTY_VTK_DIR}") set (3RDPARTY_VTK_DIR "3RDPARTY_VTK_DIR-NOTFOUND" CACHE PATH "The directory containing vtk product" FORCE) endif() -OCCT_MAKE_BUILD_POSTFIX() set(VTK_VERSION "") if (3RDPARTY_VTK_DIR AND EXISTS "${3RDPARTY_VTK_DIR}") get_filename_component(3RDPARTY_VTK_DIR_NAME "${3RDPARTY_VTK_DIR}" NAME) @@ -55,13 +54,11 @@ if (3RDPARTY_VTK_DIR AND EXISTS "${3RDPARTY_VTK_DIR}") set (3RDPARTY_VTK_INCLUDE_DIR "${3RDPARTY_VTK_DIR}/include/vtk-${VTK_VERSION}" CACHE FILEPATH "The directory containing includes of VTK" FORCE) endif() if (NOT 3RDPARTY_VTK_LIBRARY_DIR OR NOT EXISTS "${3RDPARTY_VTK_LIBRARY_DIR}") - if(EXISTS "${3RDPARTY_VTK_DIR}/lib${BUILD_POSTFIX}") - set (3RDPARTY_VTK_LIBRARY_DIR "${3RDPARTY_VTK_DIR}/lib${BUILD_POSTFIX}" CACHE FILEPATH "The directory containing libs of VTK" FORCE) - else() - if (NOT "${BUILD_POSTFIX}" STREQUAL "" AND EXISTS "${3RDPARTY_VTK_DIR}/lib") - set (3RDPARTY_VTK_LIBRARY_DIR "${3RDPARTY_VTK_DIR}/lib" CACHE FILEPATH "The directory containing libs of VTK" FORCE) - endif() - endif() + if(EXISTS "${3RDPARTY_VTK_DIR}/lib") + set (3RDPARTY_VTK_LIBRARY_DIR "${3RDPARTY_VTK_DIR}/lib" CACHE FILEPATH "The directory containing libs of VTK" FORCE) + elseif (EXISTS "${3RDPARTY_VTK_DIR}/lib") + set (3RDPARTY_VTK_LIBRARY_DIR "${3RDPARTY_VTK_DIR}/lib" CACHE FILEPATH "The directory containing libs of VTK" FORCE) + endif() endif() if(3RDPARTY_VTK_LIBRARY_DIR) list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_VTK_LIBRARY_DIR}") @@ -110,12 +107,10 @@ set (VTK_DLL_NAMES vtkCommonComputationalGeometry-${VTK_VERSION}.dll # search for dll directory if (WIN32) if (NOT 3RDPARTY_VTK_DLL_DIR OR NOT EXISTS "${3RDPARTY_VTK_DLL_DIR}") - if(EXISTS "${3RDPARTY_VTK_DIR}/bin${BUILD_POSTFIX}") - set (3RDPARTY_VTK_DLL_DIR "${3RDPARTY_VTK_DIR}/bin${BUILD_POSTFIX}" CACHE FILEPATH "The directory containing dll of VTK" FORCE) - else() - if (NOT "${BUILD_POSTFIX}" STREQUAL "" AND EXISTS "${3RDPARTY_VTK_DIR}/bin") - set (3RDPARTY_VTK_DLL_DIR "${3RDPARTY_VTK_DIR}/bin" CACHE FILEPATH "The directory containing dll of VTK" FORCE) - endif() + if(EXISTS "${3RDPARTY_VTK_DIR}/bin") + set (3RDPARTY_VTK_DLL_DIR "${3RDPARTY_VTK_DIR}/bin" CACHE FILEPATH "The directory containing dll of VTK" FORCE) + elseif (EXISTS "${3RDPARTY_VTK_DIR}/bind") + set (3RDPARTY_VTK_DLL_DIR "${3RDPARTY_VTK_DIR}/bind" CACHE FILEPATH "The directory containing dll of VTK" FORCE) endif() endif() @@ -144,7 +139,15 @@ if (INSTALL_VTK) if (NOT 3RDPARTY_VTK_DLL OR NOT EXISTS "${3RDPARTY_VTK_DLL}") list (APPEND 3RDPARTY_NOT_INCLUDED "${3RDPARTY_VTK_DLL}") else() - install (FILES ${3RDPARTY_VTK_DLL} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") + install (FILES ${3RDPARTY_VTK_DLL} + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + install (FILES ${3RDPARTY_VTK_DLL} + CONFIGURATIONS RelWithDebInfo + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + install (FILES ${3RDPARTY_VTK_DLL} + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind") endif() endforeach() OCCT_CHECK_AND_UNSET(3RDPARTY_VTK_DLL) @@ -152,7 +155,18 @@ if (INSTALL_VTK) else () foreach(VTK_DLL_NAME ${VTK_DLL_NAMES}) string(REPLACE ".dll" ".so.1" VTK_DLL_NAME "${VTK_DLL_NAME}") - install(FILES "${3RDPARTY_VTK_LIBRARY_DIR}/lib${VTK_DLL_NAME}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME "lib${VTK_DLL_NAME}") + install(FILES "${3RDPARTY_VTK_LIBRARY_DIR}/lib${VTK_DLL_NAME}" + CONFIGURATIONS Release + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib" + 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" + RENAME "lib${VTK_DLL_NAME}") + install(FILES "${3RDPARTY_VTK_LIBRARY_DIR}/lib${VTK_DLL_NAME}" + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd" + RENAME "lib${VTK_DLL_NAME}") endforeach() endif() diff --git a/adm/templates/DRAWEXE.vcxproj.user.in b/adm/templates/DRAWEXE.vcxproj.user.in index be63c38f49..43034febe7 100644 --- a/adm/templates/DRAWEXE.vcxproj.user.in +++ b/adm/templates/DRAWEXE.vcxproj.user.in @@ -1,6 +1,18 @@  - + + CASROOT=@CMAKE_SOURCE_DIR@ +PATH=@3RDPARTY_DLL_DIRS_FOR_PATH@;%PATH% + + WindowsLocalDebugger + + + CASROOT=@CMAKE_SOURCE_DIR@ +PATH=@3RDPARTY_DLL_DIRS_FOR_PATH@;%PATH% + + WindowsLocalDebugger + + CASROOT=@CMAKE_SOURCE_DIR@ PATH=@3RDPARTY_DLL_DIRS_FOR_PATH@;%PATH% diff --git a/adm/templates/custom.bat.in b/adm/templates/custom.bat.in index bcf6361235..2b80b91e3b 100644 --- a/adm/templates/custom.bat.in +++ b/adm/templates/custom.bat.in @@ -2,16 +2,14 @@ echo off if "%VCVER%" == "@COMPILER@" ( if "%ARCH%" == "@COMPILER_BITNESS@" ( - if "%CASDEB%" == "@BUILD_POSTFIX@" ( - set "TCL_DIR=@USED_3RDPARTY_TCL_DIR@" - set "FREETYPE_DIR=@USED_3RDPARTY_FREETYPE_DIR@" - set "FREEIMAGE_DIR=@USED_3RDPARTY_FREEIMAGE_DIR@" - set "FREEIMAGEPLUS_DIR=@USED_3RDPARTY_FREEIMAGEPLUS_DIR@" - 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@" - ) + set "TCL_DIR=@USED_3RDPARTY_TCL_DIR@" + set "FREETYPE_DIR=@USED_3RDPARTY_FREETYPE_DIR@" + set "FREEIMAGE_DIR=@USED_3RDPARTY_FREEIMAGE_DIR@" + set "FREEIMAGEPLUS_DIR=@USED_3RDPARTY_FREEIMAGEPLUS_DIR@" + 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@" ) ) diff --git a/adm/templates/custom.sh.in b/adm/templates/custom.sh.in index 14a3c8440b..209a00acd2 100644 --- a/adm/templates/custom.sh.in +++ b/adm/templates/custom.sh.in @@ -2,15 +2,13 @@ if [ "$COMPILER" == "@COMPILER@" ]; then if [ "$ARCH" == "@COMPILER_BITNESS@" ]; then - if [ "$CASDEB" == "@BUILD_POSTFIX@" ]; then - export TCL_DIR="@USED_3RDPARTY_TCL_DIR@" - export FREETYPE_DIR="@USED_3RDPARTY_FREETYPE_DIR@" - export FREEIMAGE_DIR="@USED_3RDPARTY_FREEIMAGE_DIR@" - 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 + export TCL_DIR="@USED_3RDPARTY_TCL_DIR@" + export FREETYPE_DIR="@USED_3RDPARTY_FREETYPE_DIR@" + export FREEIMAGE_DIR="@USED_3RDPARTY_FREEIMAGE_DIR@" + 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 diff --git a/adm/templates/draw.bat b/adm/templates/draw.bat index cb57d100ca..7b8cf2953c 100644 --- a/adm/templates/draw.bat +++ b/adm/templates/draw.bat @@ -1,10 +1,10 @@ @echo off rem Setup environment and launch DRAWEXE -call "%~dp0env.bat" +call "%~dp0env.bat" %1 %2 %3 echo Hint: use "pload ALL" command to load standard commands -DRAWEXE.exe %* +DRAWEXE.exe set "PATH=%ORIGIN_PATH%" diff --git a/adm/templates/env.bat.in b/adm/templates/env.bat.in index 04c6f65c03..2f6b92c02c 100644 --- a/adm/templates/env.bat.in +++ b/adm/templates/env.bat.in @@ -5,7 +5,7 @@ set "SCRIPTROOT=%SCRIPTROOT:~0,-1%" set "VCVER=@COMPILER@" set "ARCH=@COMPILER_BITNESS@" -set "CASDEB=@BUILD_POSTFIX@" +set "CASDEB=" if not ["%1"] == [""] set "VCVER=%1" if not ["%2"] == [""] set "ARCH=%2" @@ -15,7 +15,7 @@ if /I ["%3"] == ["debug"] set "CASDEB=d" if /I ["%3"] == ["d"] set "CASDEB=d" if exist "%~dp0custom.bat" ( - call "%~dp0custom.bat" %1 %2 %3 + call "%~dp0custom.bat" %VCVER% %ARCH% %CASDEB% ) if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%" diff --git a/adm/templates/env.build.bat.in b/adm/templates/env.build.bat.in index 201c341f4e..bee877308f 100644 --- a/adm/templates/env.build.bat.in +++ b/adm/templates/env.build.bat.in @@ -7,7 +7,7 @@ set "CASROOT=@CMAKE_SOURCE_DIR@" set "VCVER=@COMPILER@" set "ARCH=@COMPILER_BITNESS@" -set "CASDEB=@BUILD_POSTFIX@" +set "CASDEB=" if not ["%1"] == [""] set "VCVER=%1" if not ["%2"] == [""] set "ARCH=%2" diff --git a/adm/templates/env.build.sh.in b/adm/templates/env.build.sh.in index 729835dfcc..c2fab1afd1 100644 --- a/adm/templates/env.build.sh.in +++ b/adm/templates/env.build.sh.in @@ -10,7 +10,7 @@ fi # Read script arguments shopt -s nocasematch -export CASDEB="@BUILD_POSTFIX@"; +export CASDEB=""; if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi if [[ "$1" == "d" ]]; then export CASDEB="d"; fi shopt -u nocasematch diff --git a/adm/templates/env.sh.in b/adm/templates/env.sh.in index e25cd46ec5..d3404488a8 100644 --- a/adm/templates/env.sh.in +++ b/adm/templates/env.sh.in @@ -8,7 +8,7 @@ fi # Read script arguments shopt -s nocasematch -export CASDEB="@BUILD_POSTFIX@"; +export CASDEB=""; if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi if [[ "$1" == "d" ]]; then export CASDEB="d"; fi shopt -u nocasematch