]> OCCT Git - occt-wok.git/commitdiff
0023955: Improve CMake build scripts to make tests operable after install
authoribs <ibs@opencascade.com>
Tue, 9 Jul 2013 12:21:06 +0000 (16:21 +0400)
committeribs <ibs@opencascade.com>
Tue, 9 Jul 2013 12:21:06 +0000 (16:21 +0400)
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

index 4173bc7f625dee5cfaa6f29cf865ec798543b2a9..a0949201b578afde10225f2d7e63df445756d8f0 100644 (file)
@@ -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()