diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt index 33c3e56f04d..8f6c213d2d5 100644 --- a/CMake/CMakeLists.txt +++ b/CMake/CMakeLists.txt @@ -99,13 +99,17 @@ foreach(config_test_cpp ${all_config_tests}) get_filename_component(config_test_name ${config_test_cpp} NAME_WE) # Compile and run ${config_test_cpp}. Exit code is stored in ${config_test_name}. - CHECK_CXX_FILE_RUNS(${config_test_cpp} ${config_test_name} ${config_test_name}) + if( RUNNING_CGAL_AUTO_TEST OR "${config_test_name}" MATCHES "^${config_test_name}$" ) - if ( ${config_test_name} ) - set ( ${config_test_name} 0 ) - else() - set ( ${config_test_name} 1 ) - endif() + CHECK_CXX_FILE_RUNS(${config_test_cpp} ${config_test_name} ${config_test_name}) + + if ( ${config_test_name} ) + set ( ${config_test_name} 0 CACHE INTERNAL "" FORCE ) + else() + set ( ${config_test_name} 1 CACHE INTERNAL "" FORCE ) + endif() + + endif() add_config_flag( ${config_test_name} ${config_test_name} ) @@ -128,7 +132,7 @@ if(QT_FOUND) endif() if ( RUNNING_CGAL_AUTO_TEST AND MSVC ) - file( APPEND "${CGAL_BINARY_DIR}/include/CGAL/compiler_config.h" "#include ") + file( APPEND "${CGAL_BINARY_DIR}/include/CGAL/compiler_config.h" "#include " ) endif() #-------------------------------------------------------------------------------------------------- diff --git a/CMake/cmake/modules/CheckCXXFileRuns.cmake b/CMake/cmake/modules/CheckCXXFileRuns.cmake index 45d7dbc63ff..3b27c6ed173 100644 --- a/CMake/cmake/modules/CheckCXXFileRuns.cmake +++ b/CMake/cmake/modules/CheckCXXFileRuns.cmake @@ -16,52 +16,53 @@ # KDE4's CheckCSourceRuns.cmake MACRO(CHECK_CXX_FILE_RUNS FILE VAR TEST) - # Set compiler settings - SET(MACRO_CHECK_FUNCTION_DEFINITIONS "-D${VAR} ${CMAKE_REQUIRED_FLAGS}") - if(CMAKE_REQUIRED_LIBRARIES) - SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") - else() - SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES) - endif() - - if(CMAKE_REQUIRED_INCLUDES) - SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}") - else() - SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES) - endif() - # Try to compile and run the test - #MESSAGE(STATUS "Performing Test ${TEST}") - TRY_RUN(${VAR} ${VAR}_COMPILED - ${CMAKE_BINARY_DIR} - ${FILE} - COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} - CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} - "${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES}" - "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}" - OUTPUT_VARIABLE OUTPUT) - - # if it did not compile make the return value fail code of 1 - if(NOT ${VAR}_COMPILED) - SET(${VAR} 1) - endif() - # if the return value was 0 then it worked - SET(result_var ${${VAR}}) - if("${result_var}" EQUAL 0) - SET(${VAR} 1 CACHE INTERNAL "Test ${TEST}") - MESSAGE(STATUS "Performing Test ${TEST} - Success") - FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log - "Performing C++ SOURCE FILE Test ${TEST} succeded with the following output:\n" - "${OUTPUT}\n" - "Source file was:\n${SOURCE}\n") - else() - MESSAGE(STATUS "Performing Test ${TEST} - Failed") - SET(${VAR} "" CACHE INTERNAL "Test ${TEST}") - FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log - "Performing C++ SOURCE FILE Test ${TEST} failed with the following output:\n" - "${OUTPUT}\n" - "Return value: ${result_var}\n" - "Source file was:\n${SOURCE}\n") - endif() + # Set compiler settings + SET(MACRO_CHECK_FUNCTION_DEFINITIONS "-D${VAR} ${CMAKE_REQUIRED_FLAGS}") + if(CMAKE_REQUIRED_LIBRARIES) + SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") + else() + SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES) + endif() + + if(CMAKE_REQUIRED_INCLUDES) + SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}") + else() + SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES) + endif() + + # Try to compile and run the test + #MESSAGE(STATUS "Performing Test ${TEST}") + TRY_RUN(${VAR} ${VAR}_COMPILED + ${CMAKE_BINARY_DIR} + ${FILE} + COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} + CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} + "${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES}" + "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}" + OUTPUT_VARIABLE OUTPUT) + + # if it did not compile make the return value fail code of 1 + if(NOT ${VAR}_COMPILED) + SET(${VAR} 1 CACHE INTERNAL "Test ${TEST}" FORCE ) + endif() + # if the return value was 0 then it worked + SET(result_var ${${VAR}}) + if("${result_var}" EQUAL 0) + SET(${VAR} 1 CACHE INTERNAL "Test ${TEST}" FORCE ) + MESSAGE(STATUS "Performing Test ${TEST} - Success") + FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log + "Performing C++ SOURCE FILE Test ${TEST} succeded with the following output:\n" + "${OUTPUT}\n" + "Source file was:\n${SOURCE}\n") + else() + MESSAGE(STATUS "Performing Test ${TEST} - Failed") + SET(${VAR} "" CACHE INTERNAL "Test ${TEST}" FORCE ) + FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log + "Performing C++ SOURCE FILE Test ${TEST} failed with the following output:\n" + "${OUTPUT}\n" + "Return value: ${result_var}\n" + "Source file was:\n${SOURCE}\n") + endif() ENDMACRO(CHECK_CXX_FILE_RUNS) diff --git a/Testsuite/include/CGAL/Testsuite/vc_debug_hook.h b/Testsuite/include/CGAL/Testsuite/vc_debug_hook.h index ddba6fac116..1bf4cf56867 100644 --- a/Testsuite/include/CGAL/Testsuite/vc_debug_hook.h +++ b/Testsuite/include/CGAL/Testsuite/vc_debug_hook.h @@ -60,7 +60,7 @@ namespace { CGAL_DebugHook() { - ::_CrtSetReportHook(CGAL_report_hook); + _CrtSetReportHook(CGAL_report_hook); // This is OK for unattended runs but will prevent the IDE for trapping the signal std::signal(SIGSEGV,CGAL_handle_signal);