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 6add_custom_target(examples COMMENT "Build all the examples.") 7add_dependencies(callable_traits_check examples) 8 9include_directories(${boost_callable_traits_SOURCE_DIR}/include) 10 11file(GLOB_RECURSE EXAMPLES "*.cpp") 12file(GLOB_RECURSE EXPERIMENTAL_EXAMPLES "experimental*.cpp") 13 14if (NOT BOOST_CLBL_TRTS_BUILD_EXPERIMENTAL) 15 foreach(_experimental IN LISTS EXPERIMENTAL_EXAMPLES) 16 list(REMOVE_ITEM EXAMPLES ${_experimental}) 17 endforeach() 18endif() 19 20foreach(_file IN LISTS EXAMPLES) 21 boost_callable_traits_target_name_for(_target "${_file}") 22 add_executable(${_target} EXCLUDE_FROM_ALL "${_file}") 23 boost_callable_traits_add_test(${_target} ${CMAKE_CURRENT_BINARY_DIR}/${_target}) 24 add_dependencies(examples ${_target}) 25endforeach() 26