42 lines
1.0 KiB
CMake
42 lines
1.0 KiB
CMake
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)
|