diff --git a/.travis.yml b/.travis.yml
index ae6c5e50..060a16aa 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,18 +4,11 @@
language: cpp
-sudo: false
-
-python: "2.7"
-
-os:
- - linux
- - osx
-
branches:
only:
- master
- develop
+ - /feature\/.*/
env:
matrix:
@@ -27,6 +20,20 @@ matrix:
- env: BOGUS_JOB=true
include:
+ - os: linux
+ env: TEST_CMAKE=true # variables unused - just for identification in travis ci gui
+ script:
+ - mkdir __build__ && cd __build__
+ - cmake .. -DBOOST_ENABLE_CMAKE=ON -DBOOST_INCLUDE_LIBRARIES=regex -DBOOST_REGEX_INCLUDE_EXAMPLES=ON
+ - cmake --build .
+
+ - os: linux
+ env: TEST_CMAKE=true BUILD_SHARED_LIBS=On # variables unused - just for identification in travis ci gui
+ script:
+ - mkdir __build__ && cd __build__
+ - cmake .. -DBUILD_SHARED_LIBS=ON -DBOOST_ENABLE_CMAKE=ON -DBOOST_INCLUDE_LIBRARIES=regex -DBOOST_REGEX_INCLUDE_EXAMPLES=ON
+ - cmake --build .
+
- os: linux
env: TOOLSET=gcc COMPILER=g++ CXXSTD=03
@@ -102,6 +109,42 @@ matrix:
sources:
- ubuntu-toolchain-r-test
+ - os: linux
+ env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11 CXXSTD_DIALECT=cxxstd-dialect=gnu
+ addons:
+ apt:
+ packages:
+ - g++-7
+ sources:
+ - ubuntu-toolchain-r-test
+
+ - os: linux
+ env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=14,1z CXXSTD_DIALECT=cxxstd-dialect=gnu
+ addons:
+ apt:
+ packages:
+ - g++-7
+ sources:
+ - ubuntu-toolchain-r-test
+
+ - os: linux
+ env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11 CXXSTD_DIALECT=cxxstd-dialect=gnu
+ addons:
+ apt:
+ packages:
+ - g++-8
+ sources:
+ - ubuntu-toolchain-r-test
+
+ - os: linux
+ env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=14,1z CXXSTD_DIALECT=cxxstd-dialect=gnu
+ addons:
+ apt:
+ packages:
+ - g++-8
+ sources:
+ - ubuntu-toolchain-r-test
+
- os: linux
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
@@ -205,58 +248,27 @@ matrix:
- os: osx
env: TOOLSET=clang COMPILER=clang++ CXXSTD=11
osx_image: xcode6.4
+ # On this image, git doesn't support --jobs 3
+ install:
+ - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
+ - cd ..
+ - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
+ - cd boost-root
+ - git submodule update --init tools/boostdep
+ - cp -r $TRAVIS_BUILD_DIR/* libs/regex
+ - python tools/boostdep/depinst/depinst.py -I example regex
+ - ./bootstrap.sh
+ - ./b2 headers
+
install:
+ - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
- cd ..
- - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
+ - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- - git submodule update --init tools/build
- - git submodule update --init libs/config
- - git submodule update --init libs/core
- - git submodule update --init libs/container_hash
- - git submodule update --init libs/detail
- - git submodule update --init libs/smart_ptr
- - git submodule update --init libs/predef
- - git submodule update --init libs/assert
- - git submodule update --init libs/throw_exception
- - git submodule update --init libs/mpl
- - git submodule update --init libs/type_traits
- - git submodule update --init libs/static_assert
- - git submodule update --init libs/integer
- - git submodule update --init libs/preprocessor
- - git submodule update --init libs/functional
- - git submodule update --init libs/program_options
- - git submodule update --init libs/chrono
- - git submodule update --init libs/system
- - git submodule update --init libs/thread
- - git submodule update --init libs/winapi
- - git submodule update --init libs/move
- - git submodule update --init libs/date_time
- - git submodule update --init libs/ratio
- - git submodule update --init libs/iterator
- - git submodule update --init libs/range
- - git submodule update --init libs/any
- - git submodule update --init libs/concept_check
- - git submodule update --init libs/array
- - git submodule update --init libs/timer
- - git submodule update --init libs/bind
- - git submodule update --init libs/utility
- - git submodule update --init libs/io
- - git submodule update --init libs/intrusive
- - git submodule update --init libs/container
- - git submodule update --init libs/tuple
- - git submodule update --init libs/exception
- - git submodule update --init libs/function
- - git submodule update --init libs/type_index
- - git submodule update --init libs/lexical_cast
- - git submodule update --init libs/numeric
- - git submodule update --init libs/math
- - git submodule update --init libs/tokenizer
- - git submodule update --init libs/optional
- - git submodule update --init libs/atomic
- - git submodule update --init libs/rational
- - git submodule update --init libs/algorithm
+ - git submodule update --init tools/boostdep
- cp -r $TRAVIS_BUILD_DIR/* libs/regex
+ - python tools/boostdep/depinst/depinst.py -I example -g "--jobs 3" regex
- ./bootstrap.sh
- ./b2 headers
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000..a61ba77c
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,103 @@
+# Copyright 2018-2019 Mike Dev
+# Distributed under the Boost Software License, Version 1.0.
+# See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt
+#
+# NOTE: CMake support for Boost.Regex is currently experimental at best
+# and the interface is likely to change in the future
+
+
+##### How-To:
+#
+# If you have a cmake project that wants to use and compile
+# boost_regex, as part of a single build system run, do the following:
+# 1) clone the boost project and all its sub-projects:
+#
+# git clone --branch develop --depth 1 --recursive --shallow-submodules https://github.com/boostorg/boost.git boost-root
+#
+# 2) add to your cmake script:
+#
+# add_subdirectory(
Fixed issue #8569.
@@ -183,7 +191,7 @@
#7644.
@@ -193,7 +201,7 @@
#6346.
@@ -202,7 +210,7 @@
expression.
@@ -212,7 +220,7 @@
#5736.
+
+ Boost.Regex-5.1.4
+ (Boost-172.0)
+
+
+
Boost.Regex-5.1.3
(Boost-1.64.0)
@@ -50,7 +58,7 @@
-
+
Boost.Regex-5.1.2
(Boost-1.62.0)
@@ -71,7 +79,7 @@
-
+
Boost.Regex-5.1.1
(Boost-1.61.0)
@@ -79,7 +87,7 @@
Change to lockfree implementation of memory cache, see PR#23.
-
+
Boost.Regex-5.1.0
(Boost-1.60.0)
@@ -102,7 +110,7 @@
-
+
Boost.Regex-5.0.1
(Boost-1.58.0)
@@ -135,7 +143,7 @@
-
+
Boost.Regex-5.0.0
(Boost-1.56.0)
@@ -168,14 +176,14 @@
-
+
Boost-1.54
-
+
Boost-1.53
-
+
Boost-1.51
-
+
Boost-1.50
-
+
Boost-1.48
-
+
Boost
1.47
@@ -225,7 +233,7 @@
#5504.
bjam include=some-include-path --toolset=toolset-name install-
- will add "some-include-path" to your compilers header include path, - or if ICU has been built with non-standard names for it's binaries, then: -
-bjam -sICU_LINK="linker-options-for-icu" --toolset=toolset-name install-
- Will use "linker-options-for-icu" when linking - the library rather than the default ICU binary names. -
-
- You might also need to use the options "cxxflags=-option" and "linkflags=-option"
- to set compiler and linker specific options.
+ invoked with the correct options. The main options that you're likely to pass
+ to b2
are:
+ + Option + + |
+
+ + Description + + |
+
---|---|
+ + include=/some/path + + |
+
+
+ Adds "/some/path" to the list of paths seached for include
+ files, normally equivalent to |
+
+ + library-path=/some/path + + |
+
+ + Adds "/some/path" to the list of paths searched for external + libraries, set this to the location of the ICU binaries if they're + in a non-standard location. + + |
+
+ + -sICU_ICUUC_NAME=NAME + + |
+
+
+ If |
+
+ + -sICU_ICUDT_NAME=NAME + + |
+
+
+ If |
+
+ + -sICU_ICUIN_NAME=NAME + + |
+
+
+ If |
+
+ + cxxstd=XX + + |
+
+ + Sets the C++ standard supported: XX should be either 03, 11, 14, + 17 or 2a. + + |
+
+ + cxxflags="FLAGS" + + |
+
+ + Passes "FLAGS" directly to the compiler, an option of last + resort! + + |
+
+ + linflags="FLAGS" + + |
+
+ + Passes "FLAGS" directly to the compiler on the link step, + an option of last resort! + + |
+
![]() |
@@ -126,16 +247,6 @@
targets to be rebuilt.
- If ICU is not already in your compiler's path, but instead headers, libraries
- and binaries are located at path-to-icu/include, path-to-icu/lib
- and path-to-icu/bin respectively then you need to set
- the environment variable ICU_PATH
- to point to the root directory of your ICU installation: this typically happens
- if you're building with MSVC. For example if ICU was installed to c:\download\icu
you
- might use:
-
bjam -sICU_PATH=c:\download\icu --toolset=toolset-name install