Files
cxx-ring-buffer/test/CMakeLists.txt
2020-04-18 14:15:25 +02:00

35 lines
1.2 KiB
CMake

set(test-targets "")
file(GLOB test-sources *.cpp)
foreach(test-source ${test-sources})
get_filename_component(test-name ${test-source} NAME_WE)
set(test-target test-${test-name})
list(APPEND test-targets ${test-target})
add_executable(${test-target} ${test-source})
target_include_directories(${test-target} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(${test-target} PRIVATE ring-buffer)
endforeach()
file(GLOB test-directories *)
foreach(test-directory ${test-directories})
if(NOT IS_DIRECTORY ${test-directory})
continue()
endif()
set(test-name ${test-directory})
set(test-target test-${test-name})
list(APPEND test-targets ${test-target})
if(IS_DIRECTORY ${test-directory}/src)
file(GLOB_RECURSE test-directory-sources ${test-directory}/src/*.cpp)
else()
file(GLOB test-directory-sources ${test-directory}/*.cpp)
endif()
add_executable(${test-target} ${test-directory-sources})
if(IS_DIRECTORY ${test-directory}/include)
target_include_directories(${test-target} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${test-directory}/include)
endif()
target_link_libraries(${test-target} PRIVATE ring-buffer)
endforeach()