From 19fcec84d8d7d21e796c7624e521b60d28ee21ed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:45:59 +0200 Subject: Adding upstream version 16.2.11+ds. Signed-off-by: Daniel Baumann --- .../tools/cmake/include/BoostTestJamfile.cmake | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/boost/tools/cmake/include/BoostTestJamfile.cmake (limited to 'src/boost/tools/cmake/include/BoostTestJamfile.cmake') diff --git a/src/boost/tools/cmake/include/BoostTestJamfile.cmake b/src/boost/tools/cmake/include/BoostTestJamfile.cmake new file mode 100644 index 000000000..8240f683f --- /dev/null +++ b/src/boost/tools/cmake/include/BoostTestJamfile.cmake @@ -0,0 +1,80 @@ +# Copyright 2018, 2019 Peter Dimov +# Distributed under the Boost Software License, Version 1.0. +# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt + +# Include BoostTest outside the include guard for it to clear its global variables +include(BoostTest) + +if(NOT CMAKE_VERSION VERSION_LESS 3.10) + include_guard() +endif() + +include(BoostMessage) + +# boost_test_jamfile( FILE jamfile [PREFIX prefix] +# LINK_LIBRARIES libs... +# COMPILE_DEFINITIONS defs... +# COMPILE_OPTIONS opts... +# COMPILE_FEATURES features... +# ) + +function(boost_test_jamfile) + + cmake_parse_arguments(_ "" "FILE;PREFIX" "LIBRARIES;LINK_LIBRARIES;COMPILE_DEFINITIONS;COMPILE_OPTIONS;COMPILE_FEATURES" ${ARGN}) + + if(__UNPARSED_ARGUMENTS) + message(AUTHOR_WARNING "boost_test_jamfile: extra arguments ignored: ${__UNPARSED_ARGUMENTS}") + endif() + + if(__LIBRARIES) + boost_message(VERBOSE "boost_test_jamfile: LIBRARIES is deprecated, use LINK_LIBRARIES") + endif() + + if(NOT __FILE) + message(AUTHOR_WARNING "boost_test_jamfile: required argument FILE is missing") + return() + endif() + + if(DEFINED BUILD_TESTING AND NOT BUILD_TESTING) + return() + endif() + + file(STRINGS ${__FILE} data) + + set(types compile compile-fail link link-fail run run-fail) + + foreach(line IN LISTS data) + if(line) + + string(REGEX MATCHALL "[^ ]+" ll ${line}) + + if(ll) + list(GET ll 0 e0) + + if(e0 IN_LIST types) + + list(LENGTH ll lln) + + if(NOT lln EQUAL 2) + + boost_message(VERBOSE "boost_test_jamfile: Jamfile line ignored: ${line}") + + else() + + list(GET ll 1 e1) + + boost_test(PREFIX ${__PREFIX} TYPE ${e0} + SOURCES ${e1} + LINK_LIBRARIES ${__LIBRARIES} ${__LINK_LIBRARIES} + COMPILE_DEFINITIONS ${__COMPILE_DEFINITIONS} + COMPILE_OPTIONS ${__COMPILE_OPTIONS} + COMPILE_FEATURES ${__COMPILE_FEATURES} + ) + + endif() + endif() + endif() + endif() + endforeach(line) + +endfunction(boost_test_jamfile) -- cgit v1.2.3