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