| cmake_minimum_required(VERSION 3.2) |
| |
| project(TestProject CXX) |
| |
| include(CTest) |
| |
| set(SOURCES |
| main.cpp |
| 3rdparty/foo.cpp |
| extra/extra.cpp |
| ) |
| |
| add_executable(myexecutable ${SOURCES}) |
| |
| set_property(SOURCE main.cpp APPEND PROPERTY LABELS SourceLabel) |
| set_property(TARGET myexecutable APPEND PROPERTY LABELS TargetLabel) |
| |
| set(MYEXECUTABLE_INFO_FILE "${CMAKE_CURRENT_BINARY_DIR}/myexecutable_info.cmake") |
| |
| file(WRITE "${MYEXECUTABLE_INFO_FILE}" " |
| set(TARGET myexecutable) |
| set(SOURCE_DIR \"${CMAKE_CURRENT_SOURCE_DIR}\") |
| set(SOURCES \"${SOURCES}\") |
| ") |
| |
| add_custom_command(TARGET myexecutable |
| POST_BUILD |
| COMMAND ${CMAKE_COMMAND} |
| "-DINFO_FILE=${MYEXECUTABLE_INFO_FILE}" |
| -P "${CMAKE_CURRENT_SOURCE_DIR}/fake_compile_time_gcno.cmake" |
| VERBATIM |
| ) |
| |
| add_test(NAME mytest |
| COMMAND ${CMAKE_COMMAND} |
| "-DMYEXECUTABLE=$<TARGET_FILE:myexecutable>" |
| "-DTARGETDIR=${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/myexecutable.dir" |
| -P "${CMAKE_CURRENT_SOURCE_DIR}/fake_run_time_gcda.cmake" |
| ) |
| |
| set_property(TEST mytest APPEND PROPERTY LABELS TestLabel) |