# # Testing # cmake_minimum_required (VERSION 2.7) PROJECT (Testing) # # Lib and exe path # SET (LIBRARY_OUTPUT_PATH ${Testing_BINARY_DIR}/bin/ CACHE PATH "Single output directory for building all libraries.") SET (EXECUTABLE_OUTPUT_PATH ${Testing_BINARY_DIR}/bin/ CACHE PATH "Single output directory for building all executables.") # # Where will executable tests be written ? # IF (EXECUTABLE_OUTPUT_PATH) SET (CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH}) ELSE (EXECUTABLE_OUTPUT_PATH) SET (CXX_TEST_PATH .) ENDIF (EXECUTABLE_OUTPUT_PATH) # # Include Dart # (will also set NSLOOKUP, HOSTNAME, etc.) # INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake) # # Extra coverage # BUILD_COMMAND(BUILD_COMMAND_VAR ${CMAKE_MAKE_PROGRAM}) BUILD_NAME(BUILD_NAME_VAR) SITE_NAME(SITE_NAME_VAR) # # Enable testing # ENABLE_TESTING() # # Add test # ADD_EXECUTABLE(testing testing.cxx) ADD_TEST(testing.1 ${Testing_BINARY_DIR}/bin/testing) # # skip level test # ADD_SUBDIRECTORY(Sub/Sub2) # Per-config target name test. ADD_LIBRARY(pcStatic STATIC pcStatic.c) SET_PROPERTY(TARGET pcStatic PROPERTY RELEASE_POSTFIX -opt) SET_PROPERTY(TARGET pcStatic PROPERTY DEBUG_POSTFIX -dbg) ADD_LIBRARY(pcShared SHARED pcShared.c) SET_PROPERTY(TARGET pcShared PROPERTY RELEASE_POSTFIX -opt) SET_PROPERTY(TARGET pcShared PROPERTY DEBUG_POSTFIX -dbg) SET_PROPERTY(TARGET pcShared PROPERTY VERSION 1.2) SET_PROPERTY(TARGET pcShared PROPERTY SOVERSION 3) IF(NOT WIN32) SET(soname_file -DpcShared_soname_file=$) ENDIF() ADD_EXECUTABLE(perconfig perconfig.c) TARGET_LINK_LIBRARIES(perconfig pcStatic pcShared) SET_PROPERTY(TARGET perconfig PROPERTY RELEASE_POSTFIX -opt) SET_PROPERTY(TARGET perconfig PROPERTY DEBUG_POSTFIX -dbg) ADD_TEST(NAME testing.perconfig COMMAND perconfig) # Test using a driver script with generator expressions. ADD_TEST(NAME testing.driver COMMAND ${CMAKE_COMMAND} -Dconfiguration=$ -Dperconfig_file_dir=$ -Dperconfig_file_name=$ -Dperconfig_file=$ -DpcStatic_file=$ -DpcStatic_linker_file=$ -DpcShared_file=$ -DpcShared_linker_file=$ ${soname_file} -P ${Testing_SOURCE_DIR}/driver.cmake )