Force platform features check to be re-tested when running test-suite

Fixed syntax error in vc_debug_hook.h
This commit is contained in:
Fernando Cacciola 2008-06-12 22:02:13 +00:00
parent a11e64b39e
commit ca9cc615e8
3 changed files with 59 additions and 54 deletions

View File

@ -99,12 +99,16 @@ foreach(config_test_cpp ${all_config_tests})
get_filename_component(config_test_name ${config_test_cpp} NAME_WE) 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}. # 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}$" )
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()
if ( ${config_test_name} )
set ( ${config_test_name} 0 )
else()
set ( ${config_test_name} 1 )
endif() endif()
add_config_flag( ${config_test_name} ${config_test_name} ) add_config_flag( ${config_test_name} ${config_test_name} )
@ -128,7 +132,7 @@ if(QT_FOUND)
endif() endif()
if ( RUNNING_CGAL_AUTO_TEST AND MSVC ) if ( RUNNING_CGAL_AUTO_TEST AND MSVC )
file( APPEND "${CGAL_BINARY_DIR}/include/CGAL/compiler_config.h" "#include <CGAL/Testsuite/vc_debug_hook.h>") file( APPEND "${CGAL_BINARY_DIR}/include/CGAL/compiler_config.h" "#include <CGAL/Testsuite/vc_debug_hook.h>" )
endif() endif()
#-------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------

View File

@ -16,52 +16,53 @@
# KDE4's CheckCSourceRuns.cmake # KDE4's CheckCSourceRuns.cmake
MACRO(CHECK_CXX_FILE_RUNS FILE VAR TEST) 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 compiler settings
SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}") SET(MACRO_CHECK_FUNCTION_DEFINITIONS "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
else() if(CMAKE_REQUIRED_LIBRARIES)
SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES) SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
endif() else()
SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES)
endif()
# Try to compile and run the test if(CMAKE_REQUIRED_INCLUDES)
#MESSAGE(STATUS "Performing Test ${TEST}") SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
TRY_RUN(${VAR} ${VAR}_COMPILED else()
${CMAKE_BINARY_DIR} SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES)
${FILE} endif()
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 # Try to compile and run the test
if(NOT ${VAR}_COMPILED) #MESSAGE(STATUS "Performing Test ${TEST}")
SET(${VAR} 1) TRY_RUN(${VAR} ${VAR}_COMPILED
endif() ${CMAKE_BINARY_DIR}
# if the return value was 0 then it worked ${FILE}
SET(result_var ${${VAR}}) COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
if("${result_var}" EQUAL 0) CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
SET(${VAR} 1 CACHE INTERNAL "Test ${TEST}") "${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES}"
MESSAGE(STATUS "Performing Test ${TEST} - Success") "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}"
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log OUTPUT_VARIABLE OUTPUT)
"Performing C++ SOURCE FILE Test ${TEST} succeded with the following output:\n"
"${OUTPUT}\n" # if it did not compile make the return value fail code of 1
"Source file was:\n${SOURCE}\n") if(NOT ${VAR}_COMPILED)
else() SET(${VAR} 1 CACHE INTERNAL "Test ${TEST}" FORCE )
MESSAGE(STATUS "Performing Test ${TEST} - Failed") endif()
SET(${VAR} "" CACHE INTERNAL "Test ${TEST}") # if the return value was 0 then it worked
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log SET(result_var ${${VAR}})
"Performing C++ SOURCE FILE Test ${TEST} failed with the following output:\n" if("${result_var}" EQUAL 0)
"${OUTPUT}\n" SET(${VAR} 1 CACHE INTERNAL "Test ${TEST}" FORCE )
"Return value: ${result_var}\n" MESSAGE(STATUS "Performing Test ${TEST} - Success")
"Source file was:\n${SOURCE}\n") FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
endif() "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) ENDMACRO(CHECK_CXX_FILE_RUNS)

View File

@ -60,7 +60,7 @@ namespace
{ {
CGAL_DebugHook() 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 // This is OK for unattended runs but will prevent the IDE for trapping the signal
std::signal(SIGSEGV,CGAL_handle_signal); std::signal(SIGSEGV,CGAL_handle_signal);