From b420491e880dc1530ae41621ddb4bdfe1c5da956 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 16 Aug 2018 11:25:16 +0100 Subject: [PATCH 01/12] Add BOOST_NO_CXX17_HDR_STRING_VIEW. --- checks/Jamfile.v2 | 3 +- checks/test_case.cpp | 7 +++- .../boost_config/boost_macro_reference.html | 12 ++++++ doc/html/index.html | 2 +- doc/macro_reference.qbk | 1 + include/boost/config/compiler/visualc.hpp | 1 + include/boost/config/detail/suffix.hpp | 4 ++ include/boost/config/stdlib/libcpp.hpp | 1 + include/boost/config/stdlib/libstdcpp3.hpp | 1 + test/all/Jamfile.v2 | 5 ++- test/boost_no_cxx17_hdr_string_view.ipp | 26 +++++++++++++ test/config_info.cpp | 2 + test/config_test.cpp | 12 +++++- test/no_cxx17_hdr_string_view_fail.cpp | 37 +++++++++++++++++++ test/no_cxx17_hdr_string_view_pass.cpp | 37 +++++++++++++++++++ 15 files changed, 146 insertions(+), 5 deletions(-) create mode 100644 test/boost_no_cxx17_hdr_string_view.ipp create mode 100644 test/no_cxx17_hdr_string_view_fail.cpp create mode 100644 test/no_cxx17_hdr_string_view_pass.cpp diff --git a/checks/Jamfile.v2 b/checks/Jamfile.v2 index 2fcbb854..2697985e 100644 --- a/checks/Jamfile.v2 +++ b/checks/Jamfile.v2 @@ -1,6 +1,6 @@ # # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Sat Aug 4 19:11:09 2018 +# This file was automatically generated on Thu Aug 16 11:20:17 2018 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -113,6 +113,7 @@ obj cxx14_std_exchange : test_case.cpp : TEST_BOOST_NO_CXX14_STD_EXCHANG obj cxx14_variable_templates : test_case.cpp : TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ; obj cxx17_fold_expressions : test_case.cpp : TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ; obj cxx17_hdr_optional : test_case.cpp : TEST_BOOST_NO_CXX17_HDR_OPTIONAL ; +obj cxx17_hdr_string_view : test_case.cpp : TEST_BOOST_NO_CXX17_HDR_STRING_VIEW ; obj cxx17_if_constexpr : test_case.cpp : TEST_BOOST_NO_CXX17_IF_CONSTEXPR ; obj cxx17_inline_variables : test_case.cpp : TEST_BOOST_NO_CXX17_INLINE_VARIABLES ; obj cxx17_iterator_traits : test_case.cpp : TEST_BOOST_NO_CXX17_ITERATOR_TRAITS ; diff --git a/checks/test_case.cpp b/checks/test_case.cpp index b0a1f387..590aff77 100644 --- a/checks/test_case.cpp +++ b/checks/test_case.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Sat Aug 4 19:11:09 2018 +// This file was automatically generated on Thu Aug 16 11:20:17 2018 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -521,6 +521,11 @@ # error "Defect macro BOOST_NO_CXX17_HDR_OPTIONAL is defined." # endif #endif +#ifdef TEST_BOOST_NO_CXX17_HDR_STRING_VIEW +# ifdef BOOST_NO_CXX17_HDR_STRING_VIEW +# error "Defect macro BOOST_NO_CXX17_HDR_STRING_VIEW is defined." +# endif +#endif #ifdef TEST_BOOST_NO_CXX17_IF_CONSTEXPR # ifdef BOOST_NO_CXX17_IF_CONSTEXPR # error "Defect macro BOOST_NO_CXX17_IF_CONSTEXPR is defined." diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index fd9fc6ba..59fac717 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -3832,6 +3832,18 @@ + +

+ BOOST_NO_CXX17_HDR_STRING_VIEW +

+ + +

+ The compiler does not support the header <string_view>. +

+ + +

BOOST_NO_CXX17_STD_APPLY diff --git a/doc/html/index.html b/doc/html/index.html index 8fba1b03..6858d0a9 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -993,7 +993,7 @@ - +

Last revised: August 04, 2018 at 18:19:41 GMT

Last revised: August 16, 2018 at 10:24:31 GMT


diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index 4cad88fc..3e6bbf0f 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -948,6 +948,7 @@ that are not yet supported by a particular compiler or library. [table [[Macro ][Description ]] [[`BOOST_NO_CXX17_HDR_OPTIONAL`][The compiler does not support the header ``.]] +[[`BOOST_NO_CXX17_HDR_STRING_VIEW`][The compiler does not support the header ``.]] [[`BOOST_NO_CXX17_STD_APPLY`][The compiler does not support `std::apply()`.]] [[`BOOST_NO_CXX17_STD_INVOKE`][The compiler does not support `std::invoke()`.]] [[`BOOST_NO_CXX17_ITERATOR_TRAITS`][The compiler does not support SFINAE-friendly `std::iterator_traits`.]] diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 3e7fce4a..60518c12 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -203,6 +203,7 @@ # define BOOST_NO_CXX17_STRUCTURED_BINDINGS # define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW #endif // MSVC including version 14 has not yet completely diff --git a/include/boost/config/detail/suffix.hpp b/include/boost/config/detail/suffix.hpp index 1d6a9eac..cee9647b 100644 --- a/include/boost/config/detail/suffix.hpp +++ b/include/boost/config/detail/suffix.hpp @@ -1026,10 +1026,14 @@ namespace std{ using ::type_info; } // This is a catch all case for obsolete compilers / std libs: #if !defined(__has_include) # define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW #else #if !__has_include() # define BOOST_NO_CXX17_HDR_OPTIONAL #endif +#if !__has_include() +# define BOOST_NO_CXX17_HDR_STRING_VIEW +#endif #endif // diff --git a/include/boost/config/stdlib/libcpp.hpp b/include/boost/config/stdlib/libcpp.hpp index ffb9c1e4..ffe2f2a0 100644 --- a/include/boost/config/stdlib/libcpp.hpp +++ b/include/boost/config/stdlib/libcpp.hpp @@ -90,6 +90,7 @@ #if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L) # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW #endif #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR) # define BOOST_NO_AUTO_PTR diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index d39c1f00..38209ddd 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -300,6 +300,7 @@ extern "C" char *gets (char *__s); # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW #endif #if defined(__has_include) diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 index 22682495..e8b778e3 100644 --- a/test/all/Jamfile.v2 +++ b/test/all/Jamfile.v2 @@ -1,7 +1,7 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Sat Aug 4 19:11:09 2018 +# This file was automatically generated on Thu Aug 16 11:20:17 2018 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -328,6 +328,9 @@ test-suite "BOOST_NO_CXX17_FOLD_EXPRESSIONS" : test-suite "BOOST_NO_CXX17_HDR_OPTIONAL" : [ run ../no_cxx17_hdr_optional_pass.cpp ] [ compile-fail ../no_cxx17_hdr_optional_fail.cpp ] ; +test-suite "BOOST_NO_CXX17_HDR_STRING_VIEW" : +[ run ../no_cxx17_hdr_string_view_pass.cpp ] +[ compile-fail ../no_cxx17_hdr_string_view_fail.cpp ] ; test-suite "BOOST_NO_CXX17_IF_CONSTEXPR" : [ run ../no_cxx17_if_constexpr_pass.cpp ] [ compile-fail ../no_cxx17_if_constexpr_fail.cpp ] ; diff --git a/test/boost_no_cxx17_hdr_string_view.ipp b/test/boost_no_cxx17_hdr_string_view.ipp new file mode 100644 index 00000000..11589dab --- /dev/null +++ b/test/boost_no_cxx17_hdr_string_view.ipp @@ -0,0 +1,26 @@ +// (C) Copyright John Maddock 2018 + +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for more information. + +// MACRO: BOOST_NO_CXX17_HDR_STRING_VIEW +// TITLE: C++17 header unavailable +// DESCRIPTION: The standard library does not supply C++17 header + +#include + +namespace boost_no_cxx17_hdr_string_view { + +int test() +{ + using std::string_view; + using std::wstring_view; + using std::u16string_view; + using std::u32string_view; + return 0; +} + +} diff --git a/test/config_info.cpp b/test/config_info.cpp index ab4bfd46..65adea8f 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -1160,6 +1160,7 @@ void print_boost_macros() PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES); PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS); PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL); + PRINT_MACRO(BOOST_NO_CXX17_HDR_STRING_VIEW); PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR); PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES); PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS); @@ -1239,6 +1240,7 @@ void print_boost_macros() + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); diff --git a/test/config_test.cpp b/test/config_test.cpp index b17fd2eb..f18f3701 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Sat Aug 4 19:11:09 2018 +// This file was automatically generated on Thu Aug 16 11:20:17 2018 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -347,6 +347,11 @@ namespace boost_no_cxx17_fold_expressions = empty_boost; #else namespace boost_no_cxx17_hdr_optional = empty_boost; #endif +#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW +#include "boost_no_cxx17_hdr_string_view.ipp" +#else +namespace boost_no_cxx17_hdr_string_view = empty_boost; +#endif #ifndef BOOST_NO_CXX17_IF_CONSTEXPR #include "boost_no_cxx17_if_constexpr.ipp" #else @@ -1511,6 +1516,11 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_NO_CXX17_HDR_OPTIONAL at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } + if(0 != boost_no_cxx17_hdr_string_view::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX17_HDR_STRING_VIEW at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } if(0 != boost_no_cxx17_if_constexpr::test()) { std::cerr << "Failed test for BOOST_NO_CXX17_IF_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; diff --git a/test/no_cxx17_hdr_string_view_fail.cpp b/test/no_cxx17_hdr_string_view_fail.cpp new file mode 100644 index 00000000..63241313 --- /dev/null +++ b/test/no_cxx17_hdr_string_view_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Thu Aug 16 11:20:17 2018 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + + +// Test file for macro BOOST_NO_CXX17_HDR_STRING_VIEW +// This file should not compile, if it does then +// BOOST_NO_CXX17_HDR_STRING_VIEW should not be defined. +// See file boost_no_cxx17_hdr_string_view.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifdef BOOST_NO_CXX17_HDR_STRING_VIEW +#include "boost_no_cxx17_hdr_string_view.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx17_hdr_string_view::test(); +} + diff --git a/test/no_cxx17_hdr_string_view_pass.cpp b/test/no_cxx17_hdr_string_view_pass.cpp new file mode 100644 index 00000000..e50648ac --- /dev/null +++ b/test/no_cxx17_hdr_string_view_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Thu Aug 16 11:20:17 2018 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + + +// Test file for macro BOOST_NO_CXX17_HDR_STRING_VIEW +// This file should compile, if it does not then +// BOOST_NO_CXX17_HDR_STRING_VIEW should be defined. +// See file boost_no_cxx17_hdr_string_view.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW +#include "boost_no_cxx17_hdr_string_view.ipp" +#else +namespace boost_no_cxx17_hdr_string_view = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx17_hdr_string_view::test(); +} + From cec1a860e948e361a13a0d8fa2ac1b217ba6478f Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sat, 15 Sep 2018 08:21:19 +0100 Subject: [PATCH 02/12] Add call to report_errors() to limits_test.cpp. --- test/limits_test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/limits_test.cpp b/test/limits_test.cpp index 62444965..8c43ac0e 100644 --- a/test/limits_test.cpp +++ b/test/limits_test.cpp @@ -207,7 +207,7 @@ int cpp_main(int, char*[]) test_float_limits(long_double(), "long double"); // Some compilers don't pay attention to std:3.6.1/5 and issue a // warning here if "return 0;" is omitted. - return 0; + return boost::report_errors(); } From d229f9be9670f6721e619583609d1e43207cf1ae Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sat, 15 Sep 2018 08:22:00 +0100 Subject: [PATCH 03/12] Latest msvc seems OK with C++14 constexpr now. --- include/boost/config/compiler/visualc.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 60518c12..29642473 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -236,9 +236,11 @@ // Supported from msvc-15.5 onwards: #define BOOST_NO_CXX11_SFINAE_EXPR #endif +#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402) // C++ 14: // Still gives internal compiler error for msvc-15.5: # define BOOST_NO_CXX14_CONSTEXPR +#endif // C++ 17: #if (_MSC_VER < 1912) || (_MSVC_LANG < 201703) #define BOOST_NO_CXX17_INLINE_VARIABLES From 85f716830d1f59a7609ddd8e083752aecd29b855 Mon Sep 17 00:00:00 2001 From: Mike Dev Date: Fri, 14 Sep 2018 15:00:28 +0200 Subject: [PATCH 04/12] [CMake] Generate cmake target that other libraries can use ... to express their dependency on this library and retrieve any configuration information such as the include directory, binary to link to (if any), transitive dependencies, necessary compiler options or the required c++ standards level. --- CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..2d0b9cad --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.8) +project(boost-config LANGUAGES CXX) + +add_library(boost_config INTERFACE) +add_library(Boost::config ALIAS boost_config) + +target_include_directories(boost_config INTERFACE include) From 1f5fc3c74bcc53827ad7dbdc0715f3501ac98f0a Mon Sep 17 00:00:00 2001 From: Mike Dev Date: Wed, 19 Sep 2018 18:37:32 +0200 Subject: [PATCH 05/12] [CMake] Lower requirement to 3.5 and rename project to BoostConfig --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d0b9cad..78cd8827 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(boost-config LANGUAGES CXX) +cmake_minimum_required(VERSION 3.5) +project(BoostConfig LANGUAGES CXX) add_library(boost_config INTERFACE) add_library(Boost::config ALIAS boost_config) From 6b238b5d1c0cd94299223c0877468257f4e68d7f Mon Sep 17 00:00:00 2001 From: Mike Dev Date: Tue, 25 Sep 2018 16:37:33 +0200 Subject: [PATCH 06/12] [CMake] Add copyright notice --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 78cd8827..2483832d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,7 @@ +# Copyright 2018 Mike Dev +# 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 + cmake_minimum_required(VERSION 3.5) project(BoostConfig LANGUAGES CXX) From fe45ca1601c1ec04e996148ea723b4769613fa27 Mon Sep 17 00:00:00 2001 From: Mike Dev Date: Tue, 25 Sep 2018 20:08:34 +0200 Subject: [PATCH 07/12] [CMake] Test cmake target on travis --- .travis.yml | 8 +++++++- test/cmake/CMakeLists.txt | 13 +++++++++++++ test/cmake/main.cpp | 7 +++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 test/cmake/CMakeLists.txt create mode 100644 test/cmake/main.cpp diff --git a/.travis.yml b/.travis.yml index 9692e361..43de396e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -264,7 +264,10 @@ install: - cp -r $TRAVIS_BUILD_DIR/* libs/config - ./bootstrap.sh - ./b2 headers - + - cd .. + - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/config.git boost-config-standalone + - mkdir cmake-build + script: - |- echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam @@ -272,6 +275,9 @@ script: - for CXXLOCAL in $CXXSTD; do (cd libs/config/test && ../../../b2 config_info_travis_install toolset=$TOOLSET cxxstd=$CXXLOCAL $CXXSTD_DIALECT && echo With Standard Version $CXXLOCAL && ./config_info_travis && rm ./config_info_travis) done - unset IFS - ./b2 -j3 libs/config/test toolset=$TOOLSET cxxstd=$CXXSTD $CXXSTD_DIALECT + - cd ../cmake-build + - cmake ../boost-config-standalone/test/cmake + - cmake --build . notifications: email: diff --git a/test/cmake/CMakeLists.txt b/test/cmake/CMakeLists.txt new file mode 100644 index 00000000..a8cd7bf1 --- /dev/null +++ b/test/cmake/CMakeLists.txt @@ -0,0 +1,13 @@ +# Copyright 2018 Mike Dev +# 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 + +cmake_minimum_required(VERSION 3.5) +project(BoostFilesystem_test) + +add_subdirectory(../.. ${CMAKE_CURRENT_BINARY_DIR}/boost_config) + +add_executable(boost_config_cmake_compilation_test main.cpp) +target_link_libraries(boost_config_cmake_compilation_test Boost::config) + + diff --git a/test/cmake/main.cpp b/test/cmake/main.cpp new file mode 100644 index 00000000..ec7f32a3 --- /dev/null +++ b/test/cmake/main.cpp @@ -0,0 +1,7 @@ +// Copyright 2018 Mike Dev +// 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 + +int main() {} From 9d084e53102ef88c69536b52c2dbefa5390e8953 Mon Sep 17 00:00:00 2001 From: Mike Dev Date: Thu, 27 Sep 2018 18:17:22 +0200 Subject: [PATCH 08/12] [CI/CMake] Remove cmake build from ci --- .travis.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 43de396e..9692e361 100644 --- a/.travis.yml +++ b/.travis.yml @@ -264,10 +264,7 @@ install: - cp -r $TRAVIS_BUILD_DIR/* libs/config - ./bootstrap.sh - ./b2 headers - - cd .. - - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/config.git boost-config-standalone - - mkdir cmake-build - + script: - |- echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam @@ -275,9 +272,6 @@ script: - for CXXLOCAL in $CXXSTD; do (cd libs/config/test && ../../../b2 config_info_travis_install toolset=$TOOLSET cxxstd=$CXXLOCAL $CXXSTD_DIALECT && echo With Standard Version $CXXLOCAL && ./config_info_travis && rm ./config_info_travis) done - unset IFS - ./b2 -j3 libs/config/test toolset=$TOOLSET cxxstd=$CXXSTD $CXXSTD_DIALECT - - cd ../cmake-build - - cmake ../boost-config-standalone/test/cmake - - cmake --build . notifications: email: From d25a1df5d2fc33cc10d151bb9de1f29e890b1e42 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Fri, 28 Sep 2018 12:07:29 +0100 Subject: [PATCH 09/12] Add comments to CMake files. [CI SKIP] --- CMakeLists.txt | 10 ++++++++++ test/cmake/CMakeLists.txt | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2483832d..09fec397 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,16 @@ # Copyright 2018 Mike Dev # 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 +# +# CAUTION!!!! +# +# This addition to Boost.Config should be considered experimental and is part +# of an ongoing effort to add CMake support Boost-wide. +# +# IT IS HIGHLY LIKELY THAT THIS FILE WILL CHANGE WITHOUT NOTICE!!! +# +# DO NOT REPLY ON THE CONTENTS OF THIS FILE!!! +# cmake_minimum_required(VERSION 3.5) project(BoostConfig LANGUAGES CXX) diff --git a/test/cmake/CMakeLists.txt b/test/cmake/CMakeLists.txt index a8cd7bf1..562e7a42 100644 --- a/test/cmake/CMakeLists.txt +++ b/test/cmake/CMakeLists.txt @@ -1,6 +1,16 @@ # Copyright 2018 Mike Dev # 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 +# +# CAUTION!!!! +# +# This addition to Boost.Config should be considered experimental and is part +# of an ongoing effort to add CMake support Boost-wide. +# +# IT IS HIGHLY LIKELY THAT THIS FILE WILL CHANGE WITHOUT NOTICE!!! +# +# DO NOT REPLY ON THE CONTENTS OF THIS FILE!!! +# cmake_minimum_required(VERSION 3.5) project(BoostFilesystem_test) From 1d39fdec80318465176580925d7dd09dc9783305 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Fri, 28 Sep 2018 12:46:49 +0100 Subject: [PATCH 10/12] Remove malformed CMake testing files. --- test/cmake/CMakeLists.txt | 23 ----------------------- test/cmake/main.cpp | 7 ------- 2 files changed, 30 deletions(-) delete mode 100644 test/cmake/CMakeLists.txt delete mode 100644 test/cmake/main.cpp diff --git a/test/cmake/CMakeLists.txt b/test/cmake/CMakeLists.txt deleted file mode 100644 index 562e7a42..00000000 --- a/test/cmake/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2018 Mike Dev -# 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 -# -# CAUTION!!!! -# -# This addition to Boost.Config should be considered experimental and is part -# of an ongoing effort to add CMake support Boost-wide. -# -# IT IS HIGHLY LIKELY THAT THIS FILE WILL CHANGE WITHOUT NOTICE!!! -# -# DO NOT REPLY ON THE CONTENTS OF THIS FILE!!! -# - -cmake_minimum_required(VERSION 3.5) -project(BoostFilesystem_test) - -add_subdirectory(../.. ${CMAKE_CURRENT_BINARY_DIR}/boost_config) - -add_executable(boost_config_cmake_compilation_test main.cpp) -target_link_libraries(boost_config_cmake_compilation_test Boost::config) - - diff --git a/test/cmake/main.cpp b/test/cmake/main.cpp deleted file mode 100644 index ec7f32a3..00000000 --- a/test/cmake/main.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2018 Mike Dev -// 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 - -int main() {} From f19c65679e1b6da669c9dfc13ac5503dce8f4e26 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Fri, 5 Oct 2018 19:32:44 +0100 Subject: [PATCH 11/12] Add minimal CMake test script - just enough to verify the interface description. --- .travis.yml | 8 ++++++++ test/CMakeLists.txt | 27 +++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 test/CMakeLists.txt diff --git a/.travis.yml b/.travis.yml index 9692e361..b481255d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -251,6 +251,14 @@ matrix: env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z osx_image: xcode6.4 + - os: linux + env: CMAKE_TEST_PROJECT=1 + install: true + script: + - mkdir __build__ && cd __build__ + - cmake ../test + - cmake --build . + install: - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true - cd .. diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 00000000..96511ddd --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,27 @@ +# Copyright 2018 John Maddock +# 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 +# +# CAUTION!!!! +# +# This addition to Boost.Config should be considered experimental and is part +# of an ongoing effort to add CMake support Boost-wide. +# +# IT IS HIGHLY LIKELY THAT THIS FILE WILL CHANGE WITHOUT NOTICE!!! +# +# DO NOT REPLY ON THE CONTENTS OF THIS FILE!!! +# +# In particular this is not a comprehensive test suite, just a quick check +# that the root CMakeLists.txt works OK, and a convenience for folks who +# want to import these projects into their IDE. +# +cmake_minimum_required(VERSION 3.5) + +add_subdirectory(.. ${CMAKE_CURRENT_BINARY_DIR}/boost_config) + +add_executable(config_info config_info.cpp) +target_link_libraries(config_info Boost::config) + +add_executable(config_test config_test.cpp) +target_link_libraries(config_test Boost::config) + From ce370332cee9182e1bbad67c02c2257ad3720528 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Mon, 15 Oct 2018 17:57:12 +0100 Subject: [PATCH 12/12] Documentation update: * Fix URL of bug tracker to point to Github. * Regenerate docs. * Add README.md --- README.md | 35 +++++++++++++++++++++++++++++++++++ doc/config.qbk | 2 +- doc/html/index.html | 4 ++-- 3 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..d98d250c --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +Boost Config Library +============================ + +This library provides configuration support for the Boost C++ libraries. + +The full documentation is available on [boost.org](http://www.boost.org/doc/libs/release/libs/config/index.html). + +## Support, bugs and feature requests ## + +Bugs and feature requests can be reported through the [Gitub issue tracker](https://github.com/boostorg/config/issues) +(see [open issues](https://github.com/boostorg/config/issues) and +[closed issues](https://github.com/boostorg/config/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed)). + +You can submit your changes through a [pull request](https://github.com/boostorg/config/pulls). + +There is no mailing-list specific to Boost Config, although you can use the general-purpose Boost [mailing-list](http://lists.boost.org/mailman/listinfo.cgi/boost-users) using the tag [config]. + + +## Development ## + +Clone the whole boost project, which includes the individual Boost projects as submodules ([see boost+git doc](https://github.com/boostorg/boost/wiki/Getting-Started)): + + git clone https://github.com/boostorg/boost + cd boost + git submodule update --init + +The Boost Config Library is located in `libs/config/`. + +### Running tests ### +First, make sure you are in `libs/config/test`. +You can either run all the tests listed in `Jamfile.v2` or run a single test: + + ../../../b2 <- run all tests + ../../../b2 config_info <- single test + diff --git a/doc/config.qbk b/doc/config.qbk index 3dc11ba6..584fc298 100644 --- a/doc/config.qbk +++ b/doc/config.qbk @@ -29,7 +29,7 @@ Distributed under the Boost Software License, Version 1.0. [/ Other web resources ] [def __STL_PORT__ [@http://stlport.sourceforge.net STLport]] -[def __BOOST_TRACKER__ [@https://svn.boost.org/trac/boost/newticket Trac]] +[def __BOOST_TRACKER__ [@https://github.com/boostorg/config/issues Github]] [def __CORE_LANGUAGE_DR337__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337 Core Language DR337]] [def __PRINCIPLES_AND_PATTERNS_ARTICLE__ [@http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf following article]] diff --git a/doc/html/index.html b/doc/html/index.html index 6858d0a9..38d8c0d3 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -162,7 +162,7 @@

Boost library users can request support for additional compilers or platforms - by visiting our Trac + by visiting our Github and submitting a support request.

@@ -993,7 +993,7 @@ - +

Last revised: August 16, 2018 at 10:24:31 GMT

Last revised: October 15, 2018 at 16:56:00 GMT