Files
enduro2d/untests/CMakeLists.txt
2023-01-08 16:12:00 +07:00

52 lines
1.2 KiB
CMake

function(add_e2d_tests NAME)
set(TESTS_NAME untests_${NAME})
#
# sources
#
file(GLOB ${TESTS_NAME}_sources
catch/*.*
sources/*.*
sources/${TESTS_NAME}/*.*)
set(TESTS_SOURCES ${${TESTS_NAME}_sources})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${TESTS_SOURCES})
#
# executable
#
add_executable(${TESTS_NAME} ${TESTS_SOURCES})
target_link_libraries(${TESTS_NAME} enduro2d)
set_target_properties(${TESTS_NAME} PROPERTIES FOLDER untests)
target_compile_options(${TESTS_NAME}
PRIVATE
$<$<CXX_COMPILER_ID:MSVC>:
/W3 /MP /bigobj>
PRIVATE
$<$<OR:$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:
-Wall -Wextra -Wpedantic>)
#
# resources
#
add_custom_command(TARGET ${TESTS_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_CURRENT_SOURCE_DIR}/bin
$<TARGET_FILE_DIR:${TESTS_NAME}>/bin)
#
# tests
#
add_test(${TESTS_NAME} ${TESTS_NAME})
endfunction(add_e2d_tests)
add_e2d_tests(base)
add_e2d_tests(core)
add_e2d_tests(high)
add_e2d_tests(math)
add_e2d_tests(utils)