-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
34 lines (27 loc) · 1.05 KB
/
CMakeLists.txt
File metadata and controls
34 lines (27 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
include(CTest)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(LMMS_TESTS
src/core/ArrayVectorTest.cpp
src/core/AutomatableModelTest.cpp
src/core/Base64Test.cpp
src/core/MathTest.cpp
src/core/ProjectVersionTest.cpp
src/core/RelativePathsTest.cpp
src/tracks/AutomationTrackTest.cpp
)
foreach(LMMS_TEST_SRC IN LISTS LMMS_TESTS)
# TODO CMake 3.20: Use cmake_path
get_filename_component(LMMS_TEST_NAME ${LMMS_TEST_SRC} NAME_WE)
add_executable(${LMMS_TEST_NAME} $<TARGET_OBJECTS:lmmsobjs> ${LMMS_TEST_SRC})
add_test(NAME ${LMMS_TEST_NAME} COMMAND ${LMMS_TEST_NAME})
# TODO CMake 3.12: Propagate usage requirements by linking to lmmsobjs
target_include_directories(${LMMS_TEST_NAME} PRIVATE $<TARGET_PROPERTY:lmmsobjs,INCLUDE_DIRECTORIES>)
target_link_libraries(${LMMS_TEST_NAME} PRIVATE
${LMMS_REQUIRED_LIBS}
${QT_LIBRARIES}
${QT_QTTEST_LIBRARY}
)
target_compile_features(${LMMS_TEST_NAME} PRIVATE cxx_std_17)
target_compile_definitions(${LMMS_TEST_NAME} PRIVATE $<TARGET_PROPERTY:lmmsobjs,INTERFACE_COMPILE_DEFINITIONS>)
endforeach()