From ca37c133702a0602729a77fc1d68aa4a17c46e83 Mon Sep 17 00:00:00 2001 From: ibs Date: Tue, 9 Jul 2013 16:21:06 +0400 Subject: [PATCH] 0023955: Improve CMake build scripts to make tests operable after install 0024046: in CMake build case. testgrid process produces debug error 0023955 (change cmake scripts for tests) and 0024046 ("Basic Runtime Checks" option) issues "Basic Runtime Checks" option was "Both (/RTC1, equiv. to /RTCsu)" and has been switched now into default state option "install_tests" added to cmake gui conf process name of "res" folder changed to "src" data and tests folders added to copying process CASROOT variable is set by absolute path to OCCT --- src/WOKTclLib/templates/template.cmake | 43 ++++++++++++++++---------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/src/WOKTclLib/templates/template.cmake b/src/WOKTclLib/templates/template.cmake index 4173bc7..a094920 100644 --- a/src/WOKTclLib/templates/template.cmake +++ b/src/WOKTclLib/templates/template.cmake @@ -74,6 +74,11 @@ ELSEIF(WIN32) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -EHa") ENDIF() +# switch Basic Runtime Checks to default state +IF(MSVC AND "${BUILD_TYPE}" STREQUAL "Debug") + STRING (REGEX REPLACE "/RTC(su|[1su])" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") +ENDIF() + IF(WIN32) IF(NOT DEFINED MSVC70 AND NOT DEFINED MSVC80) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -MP") @@ -91,17 +96,17 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out/bin) # RESOURCES -install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/DrawResources" DESTINATION "${INSTALL_DIR}/res" ) -install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/StdResource" DESTINATION "${INSTALL_DIR}/res" ) -install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/SHMessage" DESTINATION "${INSTALL_DIR}/res" ) -install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/Textures" DESTINATION "${INSTALL_DIR}/res" ) -install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/XSMessage" DESTINATION "${INSTALL_DIR}/res" ) -install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/TObj" DESTINATION "${INSTALL_DIR}/res" ) -install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/XSTEPResource" DESTINATION "${INSTALL_DIR}/res" ) -install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/XmlOcafResource" DESTINATION "${INSTALL_DIR}/res" ) - -install(FILES "${CMAKE_SOURCE_DIR}/src/UnitsAPI/Lexi_Expr.dat" DESTINATION "${INSTALL_DIR}/res/UnitsAPI" ) -install(FILES "${CMAKE_SOURCE_DIR}/src/UnitsAPI/Units.dat" DESTINATION "${INSTALL_DIR}/res/UnitsAPI" ) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/DrawResources" DESTINATION "${INSTALL_DIR}/src" ) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/StdResource" DESTINATION "${INSTALL_DIR}/src" ) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/SHMessage" DESTINATION "${INSTALL_DIR}/src" ) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/Textures" DESTINATION "${INSTALL_DIR}/src" ) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/XSMessage" DESTINATION "${INSTALL_DIR}/src" ) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/TObj" DESTINATION "${INSTALL_DIR}/src" ) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/XSTEPResource" DESTINATION "${INSTALL_DIR}/src" ) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/src/XmlOcafResource" DESTINATION "${INSTALL_DIR}/src" ) + +install(FILES "${CMAKE_SOURCE_DIR}/src/UnitsAPI/Lexi_Expr.dat" DESTINATION "${INSTALL_DIR}/src/UnitsAPI" ) +install(FILES "${CMAKE_SOURCE_DIR}/src/UnitsAPI/Units.dat" DESTINATION "${INSTALL_DIR}/src/UnitsAPI" ) IF("${BUILD_TYPE}" STREQUAL "Release") SET(BUILD_SUFFIX "") @@ -181,6 +186,8 @@ SET(3RDPARTY_USE_GL2PS OFF CACHE BOOL "whether use gl2ps product or not") SET(3RDPARTY_USE_FREEIMAGE OFF CACHE BOOL "whether use freeimage product or not") SET(3RDPARTY_USE_TBB OFF CACHE BOOL "whether use tbb product or not") +SET(INSTALL_TESTS OFF CACHE BOOL "Is tests copy to install directory") + MACRO(THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME) IF(NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DIR) SET(3RDPARTY_${PRODUCT_NAME}_DIR "" CACHE PATH "Directory contains ${PRODUCT_NAME} product") @@ -481,15 +488,19 @@ link_directories( ${3RDPARTY_LIBRARY_DIRS} ) # SET(RUN_PROJECT "") -SET(CASROOT_DEFINITION "") +SET(CASROOT_DEFINITION "set \"CASROOT=${CMAKE_SOURCE_DIR}\"") SET(BIN_DIR_POSTFIX "bin") -SET(RESOURCE_DIR_PREFIX "%SCRIPTROOT%\\res") +SET(RESOURCE_DIR_PREFIX "%SCRIPTROOT%\\src") IF("${INSTALL_DIR}" STREQUAL "") MESSAGE(FATAL_ERROR "INSTALL_DIR is empty") ELSE() - # INC DIRECTORY - install(DIRECTORY ${CMAKE_SOURCE_DIR}/inc DESTINATION "${INSTALL_DIR}" ) + # inc,data,tests DIRECTORY + install(DIRECTORY "${CMAKE_SOURCE_DIR}/inc" DESTINATION "${INSTALL_DIR}" ) + install(DIRECTORY "${CMAKE_SOURCE_DIR}/data" DESTINATION "${INSTALL_DIR}" ) + IF(INSTALL_TESTS) + install(DIRECTORY "${CMAKE_SOURCE_DIR}/tests" DESTINATION "${INSTALL_DIR}" ) + ENDIF() # DRAW.BAT or DRAW.SH install(FILES "${CMAKE_SOURCE_DIR}/adm/cmake/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE @@ -504,8 +515,6 @@ IF(MSVC AND "${BUILD_TYPE}" STREQUAL "Debug") SET(RUN_PROJECT "start __PROJECT_NAME__.sln") SET(BIN_DIR_POSTFIX "out\\bin\\Debug") SET(RESOURCE_DIR_PREFIX "%CASROOT%\\src") - SET(CASROOT_DEFINITION "set \"CASROOT=${CMAKE_SOURCE_DIR}\"") - configure_file("${CMAKE_SOURCE_DIR}/adm/cmake/env.bat.in" __PROJECT_NAME__.bat @ONLY) ENDIF() -- 2.39.5