1# Copyright (C) 2019 T. Zachary Laine 2# 3# Distributed under the Boost Software License, Version 1.0. (See 4# accompanying file LICENSE_1_0.txt or copy at 5# http://www.boost.org/LICENSE_1_0.txt) 6include_directories(${CMAKE_HOME_DIRECTORY}) 7 8include(CTest) 9 10enable_testing() 11 12add_custom_target(stl_interfaces_check COMMAND ${CMAKE_CTEST_COMMAND} -j4 -C ${CMAKE_CFG_INTDIR}) 13if (NOT TARGET check) 14 add_custom_target(check DEPENDS stl_interfaces_check) 15else() 16 add_dependencies(check stl_interfaces_check) 17endif() 18 19set(warnings_flag) 20if (NOT MSVC) 21 set(warnings_flag -Wall) 22endif () 23 24macro(add_test_executable name) 25 add_executable(${name} ${name}.cpp) 26 target_compile_options(${name} PRIVATE ${warnings_flag}) 27 target_link_libraries(${name} stl_interfaces) 28 target_compile_definitions(${name} PRIVATE BOOST_NO_AUTO_PTR) 29 set_property(TARGET ${name} PROPERTY CXX_STANDARD ${CXX_STD}) 30 add_test(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}) 31 if (clang_on_linux) 32 target_link_libraries(${name} c++) 33 endif () 34endmacro() 35 36add_test_executable(input) 37add_test_executable(output) 38add_test_executable(forward) 39add_test_executable(bidirectional) 40add_test_executable(random_access) 41add_test_executable(reverse_iter) 42add_test_executable(detail) 43add_test_executable(static_vec) 44add_test_executable(static_vec_noncopyable) 45add_test_executable(array) 46