111 lines
2.6 KiB
CMake
111 lines
2.6 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
file(GLOB_RECURSE TEST_CASE_SOURCES t*/*.cc)
|
|
file(GLOB_RECURSE TEST_CASE_CONFIGS t*/.clang-uml)
|
|
file(GLOB_RECURSE TEST_CONFIG_YMLS test_config_data/*.yml)
|
|
|
|
set(CLANG_UML_TEST_UTIL_SRC
|
|
test_util.cc
|
|
${TEST_UTIL_SOURCES}
|
|
)
|
|
set(CLANG_UML_TEST_UTIL_HEADER
|
|
catch.h
|
|
)
|
|
|
|
set(CLANG_UML_TEST_CASES_SRC
|
|
test_cases.cc
|
|
${TEST_CASE_SOURCES}
|
|
)
|
|
set(CLANG_UML_TEST_CASES_HEADER
|
|
catch.h
|
|
)
|
|
|
|
set(CLANG_UML_TEST_DECORATOR_PARSER_SRC
|
|
test_decorator_parser.cc
|
|
${TEST_UTIL_SOURCES}
|
|
)
|
|
set(CLANG_UML_TEST_DECORATOR_PARSER_HEADER
|
|
catch.h
|
|
)
|
|
|
|
set(CLANG_UML_TEST_CONFIG_SRC
|
|
test_config.cc
|
|
${TEST_UTIL_SOURCES}
|
|
)
|
|
set(CLANG_UML_TEST_CONFIG_HEADER
|
|
catch.h
|
|
)
|
|
|
|
add_executable(test_util
|
|
${CLANG_UML_TEST_UTIL_SRC}
|
|
${CLANG_UML_TEST_UTIL_HEADER})
|
|
|
|
target_link_libraries(test_util
|
|
PRIVATE
|
|
${LIBCLANG_LIBRARIES}
|
|
${YAML_CPP_LIBRARIES}
|
|
spdlog::spdlog clang-umllib cppast)
|
|
|
|
add_executable(test_decorator_parser
|
|
${CLANG_UML_TEST_DECORATOR_PARSER_SRC}
|
|
${CLANG_UML_TEST_DECORATOR_PARSER_HEADER})
|
|
|
|
target_link_libraries(test_decorator_parser
|
|
PRIVATE
|
|
${LIBCLANG_LIBRARIES}
|
|
${YAML_CPP_LIBRARIES}
|
|
spdlog::spdlog clang-umllib cppast)
|
|
|
|
add_executable(test_config
|
|
${CLANG_UML_TEST_CONFIG_SRC}
|
|
${CLANG_UML_TEST_CONFIG_HEADER})
|
|
|
|
target_link_libraries(test_config
|
|
PRIVATE
|
|
${LIBCLANG_LIBRARIES}
|
|
${YAML_CPP_LIBRARIES}
|
|
spdlog::spdlog clang-umllib cppast)
|
|
|
|
add_executable(test_cases
|
|
${CLANG_UML_TEST_CASES_SRC}
|
|
${CLANG_UML_TEST_CASES_HEADER})
|
|
|
|
target_link_libraries(test_cases
|
|
PRIVATE
|
|
${LIBCLANG_LIBRARIES}
|
|
${YAML_CPP_LIBRARIES}
|
|
spdlog::spdlog clang-umllib cppast)
|
|
|
|
foreach(TEST_CASE_CONFIG ${TEST_CASE_CONFIGS})
|
|
file(RELATIVE_PATH
|
|
TEST_CASE_CONFIG_RELATIVE
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${TEST_CASE_CONFIG})
|
|
message(${TEST_CASE_CONFIG_RELATIVE})
|
|
configure_file(
|
|
${TEST_CASE_CONFIG_RELATIVE}
|
|
${TEST_CASE_CONFIG_RELATIVE}
|
|
COPYONLY)
|
|
endforeach()
|
|
|
|
foreach(TEST_CONFIG_YML ${TEST_CONFIG_YMLS})
|
|
file(RELATIVE_PATH
|
|
TEST_CONFIG_YML_RELATIVE
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${TEST_CONFIG_YML})
|
|
message(${TEST_CONFIG_YML_RELATIVE})
|
|
configure_file(
|
|
${TEST_CONFIG_YML_RELATIVE}
|
|
${TEST_CONFIG_YML_RELATIVE}
|
|
COPYONLY)
|
|
endforeach()
|
|
|
|
add_test(NAME test_util COMMAND test_util)
|
|
add_test(NAME test_decorator_parser COMMAND test_decorator_parser)
|
|
add_test(NAME test_config COMMAND test_config)
|
|
add_test(NAME test_cases COMMAND test_cases)
|