Files
enduro2d/untests/CMakeLists.txt
2019-02-06 23:14:00 +07:00

70 lines
1.5 KiB
CMake

function(add_e2d_tests NAME)
set(TESTS_NAME untests_${NAME})
#
# sources
#
file(GLOB ${TESTS_NAME}_sources
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}
${E2D_LIBRARIES})
target_include_directories(${TESTS_NAME}
PRIVATE ${E2D_INCLUDE_DIRS})
set_target_properties(${TESTS_NAME} PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED YES
CXX_EXTENSIONS NO)
#
# 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)
option(E2D_BUILD_BASE_UNTESTS "Build base untests" ON)
option(E2D_BUILD_CORE_UNTESTS "Build core untests" ON)
option(E2D_BUILD_HIGH_UNTESTS "Build high untests" ON)
option(E2D_BUILD_MATH_UNTESTS "Build math untests" ON)
option(E2D_BUILD_UTILS_UNTESTS "Build utils untests" ON)
if(E2D_BUILD_BASE_UNTESTS)
add_e2d_tests(base)
endif()
if(E2D_BUILD_CORE_UNTESTS)
add_e2d_tests(core)
endif()
if(E2D_BUILD_HIGH_UNTESTS)
add_e2d_tests(high)
endif()
if(E2D_BUILD_MATH_UNTESTS)
add_e2d_tests(math)
endif()
if(E2D_BUILD_UTILS_UNTESTS)
add_e2d_tests(utils)
endif()