diff options
Diffstat (limited to '3rdParty/Boost/src/tools/bcp/add_path.cpp')
-rw-r--r-- | 3rdParty/Boost/src/tools/bcp/add_path.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/3rdParty/Boost/src/tools/bcp/add_path.cpp b/3rdParty/Boost/src/tools/bcp/add_path.cpp index 2ed4a94..3643bdb 100644 --- a/3rdParty/Boost/src/tools/bcp/add_path.cpp +++ b/3rdParty/Boost/src/tools/bcp/add_path.cpp @@ -193,6 +193,14 @@ void bcp_implementation::add_file(const fs::path& p) // static const std::pair<fs::path, fs::path> specials[] = { + std::pair<fs::path, fs::path>("boost/filesystem/convenience.hpp", "boost/filesystem.hpp"), + std::pair<fs::path, fs::path>("boost/filesystem/exception.hpp", "boost/filesystem.hpp"), + std::pair<fs::path, fs::path>("boost/filesystem/fstream.hpp", "boost/filesystem.hpp"), + std::pair<fs::path, fs::path>("boost/filesystem/operations.hpp", "boost/filesystem.hpp"), + std::pair<fs::path, fs::path>("boost/filesystem/path.hpp", "boost/filesystem.hpp"), + std::pair<fs::path, fs::path>("boost/filesystem.hpp", "libs/filesystem/build"), + std::pair<fs::path, fs::path>("boost/filesystem.hpp", "libs/filesystem/v2"), + std::pair<fs::path, fs::path>("boost/filesystem.hpp", "libs/filesystem/v3"), std::pair<fs::path, fs::path>("boost/config.hpp", "boost/config"), std::pair<fs::path, fs::path>("tools/build/allyourbase.jam", "Jamrules"), std::pair<fs::path, fs::path>("tools/build/allyourbase.jam", "project-root.jam"), @@ -204,6 +212,12 @@ static const std::pair<fs::path, fs::path> std::pair<fs::path, fs::path>("tools/build/v2/boost-build.jam", "project-root.jam"), std::pair<fs::path, fs::path>("tools/build/v2/boost-build.jam", "boost-build.jam"), std::pair<fs::path, fs::path>("tools/build/v2/boost-build.jam", "Jamfile.v2"), + std::pair<fs::path, fs::path>("tools/build/v2/boost-build.jam", "boostcpp.jam"), + std::pair<fs::path, fs::path>("tools/build/v2/boost-build.jam", "bootstrap.bat"), + std::pair<fs::path, fs::path>("tools/build/v2/boost-build.jam", "bootstrap.sh"), + std::pair<fs::path, fs::path>("tools/build/v2/boost-build.jam", "Jamroot"), + std::pair<fs::path, fs::path>("tools/build/v2/boost-build.jam", "INSTALL"), + std::pair<fs::path, fs::path>("tools/build/v2/boost-build.jam", "LICENSE_1_0.txt"), std::pair<fs::path, fs::path>("boost/preprocessor/iterate.hpp", "boost/preprocessor/iteration"), std::pair<fs::path, fs::path>("boost/preprocessor/slot/slot.hpp", "boost/preprocessor/slot/detail"), std::pair<fs::path, fs::path>("boost/function.hpp", "boost/function/detail"), @@ -321,7 +335,7 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile) // Now we need to scan for Boost.Preprocessor includes that // are included via preprocessor iteration: // - static const boost::regex ppfiles("^[[:blank:]]*#[[:blank:]]*define[[:blank:]]+(?:BOOST_PP_FILENAME|BOOST_PP_ITERATION_PARAMS|BOOST_PP_INDIRECT_SELF)[^\\n]+?[\"<]([^\">]+)[\">]"); + static const boost::regex ppfiles("^[[:blank:]]*#[[:blank:]]*define[[:blank:]]+(?:BOOST_PP_FILENAME|BOOST_PP_ITERATION_PARAMS|BOOST_PP_INDIRECT_SELF)(?:[^\\n]|\\\\\\n)+?[\"<]([^\">]+)[\">]"); i = boost::regex_token_iterator<const char*>(view.begin(), view.end(), ppfiles, 1); while(i != j) { @@ -484,7 +498,8 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile) // static const boost::regex lib1("boost/([^\\./]+)(?!detail).*"); boost::smatch swhat; - if(boost::regex_match(p.string(), swhat, lib1)) + std::string gs(p.generic_string()); + if(boost::regex_match(gs, swhat, lib1)) { add_dependent_lib(swhat.str(1), p, view); } @@ -492,7 +507,8 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile) // and this one catches boost/x/y/whatever (for example numeric/ublas): // static const boost::regex lib2("boost/([^/]+/[^/]+)/(?!detail).*"); - if(boost::regex_match(p.string(), swhat, lib2)) + gs = p.generic_string(); + if(boost::regex_match(gs, swhat, lib2)) { add_dependent_lib(swhat.str(1), p, view); } |