1
cmake_minimum_required (VERSION 2.6)
2
# Create target to discover tests
3
function (compiz_discover_tests EXECUTABLE)
5
add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/test_${EXECUTABLE}_wrapper.cpp
6
COMMAND echo "int main (void) { return 0; }" >> ${CMAKE_CURRENT_BINARY_DIR}/test_${EXECUTABLE}_wrapper.cpp
7
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
9
add_executable (test_${EXECUTABLE}_wrapper
10
${CMAKE_CURRENT_BINARY_DIR}/test_${EXECUTABLE}_wrapper.cpp)
11
add_test (Test.${EXECUTABLE}.Wrapper test_${EXECUTABLE}_wrapper)
13
add_custom_target (${EXECUTABLE}_wrapper)
14
add_dependencies (${EXECUTABLE}_wrapper
15
test_${EXECUTABLE}_wrapper
16
compiz_discover_gtest_tests)
18
add_dependencies (${EXECUTABLE}
19
${EXECUTABLE}_wrapper)
21
add_custom_command (TARGET ${EXECUTABLE}
23
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE} --gtest_list_tests | ${CMAKE_BINARY_DIR}/compiz_gtest/compiz_discover_gtest_tests ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}
24
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
25
COMMENT "Discovering Tests in ${EXECUTABLE}"