forked from Ferdi265/cxx-ring-buffer
35 lines
1.2 KiB
CMake
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()
|