From 8beca6ec5ec135d9547dfbf104439cfd42029910 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Fri, 14 Jul 2017 19:55:07 +0200 Subject: cmake: Add build target 'tests' which builds all tests (but does not execute them) - the recommended 'check' target depends on 'tests' (so "make check" will automatically build and run tests) - the pre-defined 'test' target does not automatically build tests, so make sure to run "make tests" before running "make test" (if you want to use it) --- CMakeLists.txt | 4 ++-- testfiles/CMakeLists.txt | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 43f7d8846..5cced40e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -245,11 +245,11 @@ add_custom_target(clean-all #----------------------------------------------------------------------------- if(GMOCK_PRESENT) + enable_testing() set(CMAKE_CTEST_COMMAND ctest -V) set(CMAKE_CTEST_ENV INKSCAPE_DATADIR=${CMAKE_CURRENT_SOURCE_DIR}/share) - enable_testing() - add_custom_target(check COMMAND ${CMAKE_COMMAND} -E env ${CMAKE_CTEST_ENV} ${CMAKE_CTEST_COMMAND}) add_subdirectory(testfiles EXCLUDE_FROM_ALL) + add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} DEPENDS tests) endif() # Canonicalize the flags to speed up recompilation using ccache/etc. diff --git a/testfiles/CMakeLists.txt b/testfiles/CMakeLists.txt index b1d68b1fb..388a04b11 100644 --- a/testfiles/CMakeLists.txt +++ b/testfiles/CMakeLists.txt @@ -20,9 +20,12 @@ set(TEST_LIBS gmock_main inkscape_base) + +add_custom_target(tests) foreach(source ${TEST_SOURCES}) add_executable(${source} src/${source}.cpp unittest.cpp doc-per-case-test.cpp) target_link_libraries(${source} ${TEST_LIBS}) add_test(NAME ${source} COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${source}) - add_dependencies(check ${source}) + set_tests_properties(${source} PROPERTIES ENVIRONMENT ${CMAKE_CTEST_ENV}) + add_dependencies(tests ${source}) endforeach() \ No newline at end of file -- cgit v1.2.3