diff --git a/modules/test/CMakeLists.txt b/modules/test/CMakeLists.txt index 8fa3251..c4ea0a8 100644 --- a/modules/test/CMakeLists.txt +++ b/modules/test/CMakeLists.txt @@ -1,4 +1,2 @@ add_library_module(test test.cpp entrypoint.cpp) - -add_executable(test_tests ${CMAKE_CURRENT_SOURCE_DIR}/tests/test.cpp) -target_link_libraries(test_tests PRIVATE test) +add_test_module(test test.tests.cpp) diff --git a/modules/test/tests/test.cpp b/modules/test/src/test.tests.cpp similarity index 100% rename from modules/test/tests/test.cpp rename to modules/test/src/test.tests.cpp diff --git a/modules/time/CMakeLists.txt b/modules/time/CMakeLists.txt index 74d3bec..834895b 100644 --- a/modules/time/CMakeLists.txt +++ b/modules/time/CMakeLists.txt @@ -1,6 +1,3 @@ add_library_module(time timer.cpp) - -add_executable(timer_tests ${CMAKE_CURRENT_SOURCE_DIR}/src/timer.tests.cpp) -target_include_directories(timer_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) -target_link_libraries(timer_tests PRIVATE time test) +add_test_module(time timer.tests.cpp) diff --git a/tools/cmake/macros.cmake b/tools/cmake/macros.cmake index 791b662..9f879ab 100644 --- a/tools/cmake/macros.cmake +++ b/tools/cmake/macros.cmake @@ -36,8 +36,21 @@ macro (add_executable_module exename) message("Adding executable ${exename} with source files: ${source_files}") add_executable(${exename} ${source_files}) - target_include_directories(${exename} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) - target_link_libraries(${exename} PUBLIC base) + target_include_directories(${exename} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) + target_link_libraries(${exename} PRIVATE base) +endmacro () + +macro (add_test_module exename) + set(source_files) + set(source_directory "${CMAKE_CURRENT_SOURCE_DIR}/src") + foreach (source_file ${ARGN}) + list(APPEND source_files "${source_directory}/${source_file}") + endforeach () + + message("Adding test executable ${exename}_tests with source files: ${source_files}") + add_executable(${exename}_tests ${source_files}) + target_include_directories(${exename} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) + target_link_libraries(${exename}_tests PRIVATE ${exename} base test) endmacro () macro (add_option option help)