CMakeLists.txt 974 B

12345678910111213141516171819202122232425
  1. # Copyright Louis Dionne 2015
  2. # Modified Work Copyright Barrett Adair 2015-2017
  3. # Distributed under the Boost Software License, Version 1.0.
  4. # (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
  5. add_custom_target(examples COMMENT "Build all the examples.")
  6. add_dependencies(callable_traits_check examples)
  7. include_directories(${boost_callable_traits_SOURCE_DIR}/include)
  8. file(GLOB_RECURSE EXAMPLES "*.cpp")
  9. file(GLOB_RECURSE EXPERIMENTAL_EXAMPLES "experimental*.cpp")
  10. if (NOT BOOST_CLBL_TRTS_BUILD_EXPERIMENTAL)
  11. foreach(_experimental IN LISTS EXPERIMENTAL_EXAMPLES)
  12. list(REMOVE_ITEM EXAMPLES ${_experimental})
  13. endforeach()
  14. endif()
  15. foreach(_file IN LISTS EXAMPLES)
  16. boost_callable_traits_target_name_for(_target "${_file}")
  17. add_executable(${_target} EXCLUDE_FROM_ALL "${_file}")
  18. boost_callable_traits_add_test(${_target} ${CMAKE_CURRENT_BINARY_DIR}/${_target})
  19. add_dependencies(examples ${_target})
  20. endforeach()