summaryrefslogtreecommitdiffstats
path: root/Modules/FindBoost.cmake
Commit message (Collapse)AuthorAgeFilesLines
* FindBoost: Simplify library dir detection with cascading if/elseif/elseAlex Turbov2016-10-131-6/+4
|
* FindBoost: Minor style updatesAlex Turbov2016-10-131-2/+2
|
* FindBoost: Use list(INSERT) to simplify suffix list generationAlex Turbov2016-10-131-1/+1
|
* FindBoost: Use string(APPEND) in more casesAlex Turbov2016-10-131-4/+4
|
* FindBoost: Add 1.62 and 1.62.0 as supported versionsRoger Leigh2016-10-031-1/+1
|
* Simplify CMake per-source license noticesBrad King2016-09-271-20/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* FindBoost: update to 1.62Tatsuyuki Ishi2016-09-251-0/+16
|
* Use string(APPEND) in ModulesDaniel Pfeifer2016-07-271-24/+24
| | | | | | | Automate with: find Modules -type f -print0 | xargs -0 perl -i -0pe \ 's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
* FindBoost: Add check headers for `zlib` and `bzip2`Alex Turbov2016-07-051-0/+4
| | | | | | | | | | | | | The official Windows builds of Boost have internal implementations for `zlib` and `bzip2` libraries used by Boost::iostreams library, e.g. * boost_bzip2-vc140-mt-1_59.lib * boost_zlib-vc140-mt-1_59.lib Add check headers for these so that users can specify them as components without any warnings. Reviewed-by: Roger Leigh <rleigh@dundee.ac.uk>
* FindBoost: Make imported targets fall back to `Release`Andreas Weis2016-06-201-7/+7
| | | | | | | | FindBoost only detects Debug and Release configurations. All other configurations will fall back to the configuration listed as the first entry in `IMPORTED_CONFIGURATIONS`. Switch the order so that `Release` is listed first, as this is a better fallback than `Debug` for the `RelWithDebInfo` and `MinSizeRel` configurations. See issue #16091.
* FindBoost: Search in official Windows prebuilt binary library directoryAlex Turbov2016-06-031-0/+34
| | | | | | | Avoid the need to specify `BOOST_LIBRARYDIR` along with `BOOST_ROOT` when using prebuilt binaries such as these: https://sourceforge.net/projects/boost/files/boost-binaries/
* FindBoost: Test `CMAKE_CXX_COMPILER_{ID,VERSION}` instead of `MSVC*`Alex Turbov2016-06-031-19/+22
|
* Merge topic 'boost-component-headers'Brad King2016-05-161-4/+84
|\ | | | | | | | | c2e8d515 FindBoost: Add checks for component-specific headers
| * FindBoost: Add checks for component-specific headersRoger Leigh2016-05-161-4/+84
| | | | | | | | | | | | | | | | | | | | This supplements the existing library checks, to cater for the possibility that the libraries are present but the headers are not. This can happen when the Boost collections is split up into multiple packages and not all are installed, and will avoid the checks silently passing when the build would subsequently fail.
* | FindBoost: Update dependencies for Boost 1.61Roger Leigh2016-05-131-1/+15
|/
* FindBoost: Fix Boost_NO_SYSTEM_PATHS to not consider environment (#15702)Brad King2016-05-021-2/+2
| | | | | | Previously we added only NO_CMAKE_SYSTEM_PATH to find command calls. Add NO_SYSTEM_ENVIRONMENT_PATH too so that paths found from system environment variables are not considered either.
* FindBoost: Define Boost::boost for all boost versionsRoger Leigh2016-04-191-2/+2
|
* FindBoost: Add support for IBM XL compilerErik Zenker2016-03-231-0/+2
|
* FindBoost: Tolerate missing indirect dependencies (#16013)Roger Leigh2016-03-151-2/+12
| | | | | | | | | Depending upon the configuration, certain components may or may not be installed, for example Boost.Regex, but other components may still have header dependencies upon these components which will obviously fail to work. Since we can't make a sensible determination with the hardcoded dependency information, we choose to interpret these dependencies less strictly.
* FindBoost: Add support for Boost 1.61Sergei Nikulov2016-01-221-2/+2
|
* FindBoost: Add support for Boost 1.60Roger Leigh2015-12-171-1/+15
|
* FindBoost: Add imported targetsRoger Leigh2015-12-021-0/+122
| | | | | | | | | | Targets include: - Boost::boost: Target for header-only dependencies - Boost::<C>: Target for specific component dependency - Boost::diagnostic_definitions: adds BOOST_LIB_DIAGNOSTIC - Boost::disable_autolinking: adds BOOST_ALL_NO_LIB - Boost::dynamic_linking: adds BOOST_ALL_DYN_LINK
* FindBoost: Automatically add missing component dependenciesRoger Leigh2015-12-021-0/+43
| | | | | | | | | The function _Boost_MISSING_DEPENDENCIES will look at the user-supplied component list, check the dependency information for each component using _Boost_COMPONENT_DEPENDENCIES, and will add any missing dependencies to the component list. This ensures that all required components will be searched for.
* FindBoost: Embed component dependency tableRoger Leigh2015-12-021-0/+221
| | | | | | | The function _Boost_COMPONENT_DEPENDENCIES is used to query the library dependencies for a given component for a given version of Boost. This covers Boost releases from 1.33 to 1.59, using the information generated by Utilities/Scripts/BoostScanDeps.cmake.
* FindBoost: Add support for Boost 1.59Roger Leigh2015-08-141-2/+4
|
* Merge topic 'FindBoost-per-config-libraries'Brad King2015-06-021-0/+2
|\ | | | | | | | | b3df1e9f FindBoost: Fix Boost_LIBRARY_DIR_{RELEASE,DEBUG} cache entry configuration
| * FindBoost: Fix Boost_LIBRARY_DIR_{RELEASE,DEBUG} cache entry configurationBrad King2015-06-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | These cache entries introduced by commit 892b854f (FindBoost: Search for debug and release libraries separately, 2015-01-26) should be marked as advanced just as Boost_LIBRARY_DIR was. Also their _LAST values should be tracked so changes can be detected reliably. Both of these are handled by code looking in _Boost_VARS_LIB for a list of relevant variables. Fix construction of this list that was broken by the above commit. Reported-by: Sylvain Joubert <joubert.sy@gmail.com>
* | Add a 'Green Hills MULTI' generator on WindowsGeoff Viola2015-04-201-1/+4
|/ | | | | | | | | | | | Green Hills MULTI is an IDE for embedded real-time systems. The IDE's product page can be found here: http://www.ghs.com/products/MULTI_IDE.html It supports cross compiling on ARM, Intel x86, and other architectures with various operating systems. The IDE exists on Linux and Windows host systems, but CMake will currently only generate the project files on Windows host systems.
* FindBoost: Search for debug and release libraries separately (#15364)Gunther Laure2015-02-051-49/+107
| | | | | Split Boost_LIBRARY_DIR into Boost_LIBRARY_DIR_[RELEASE,DEBUG] to allow libraries to be grouped into per-config directories.
* Merge topic 'FindBoost-update-versions'Brad King2015-01-151-1/+1
|\ | | | | | | | | 4048f7cd FindBoost: Add latest Boost version 1.57.0 and next milestone 1.58.0
| * FindBoost: Add latest Boost version 1.57.0 and next milestone 1.58.0Sergey Nikulov2015-01-131-1/+1
| |
* | FindBoost: fix find_library call when using "re-rooting"Guillaume Papin2014-10-261-2/+2
|/ | | | | | | | | | | | When using CMAKE_FIND_ROOT_PATH, FindBoost is able to find the first component and cache the full path of the directory in Boost_LIBRARY_DIR so that all components are looked for in same directory. The issue was that, when looking for the other components, Boost_LIBRARY_DIR was re-rooted against CMAKE_FIND_ROOT_PATH even though it was already a path on the host. This change fixes this by disabling the re-rooting in the find_library call when using Boost_LIBRARY_DIR as a hint. See http://www.cmake.org/pipermail/cmake-developers/2014-October/011670.html
* FindBoost: Avoid if() quoted auto-dereferenceNils Gladitz2014-10-061-4/+4
| | | | | | When testing CMAKE_CXX_COMPILER[_ID] values with if(MATCHES) or if(STREQUAL), do not explicitly dereference or quote the variable. We want if() to auto-dereference the variable and not its value.
* FindBoost: Add -vc140 mangling for VS 14Brad King2014-06-251-0/+2
| | | | Co-Author: Pawel Stopinski <diokhan@go2.pl>
* Remove .* expressions from beginning and end of MATCHES regexsRolf Eike Beer2014-04-141-1/+1
| | | | | | | | | All these expressions work the same: "foo" ".*foo.*" "^.*foo.*$" This assumes that the "Intel*" expressions were meant to be "Intel.*".
* Clean up usage of if(... MATCHES regex) followed string(REGEX REPLACE regex)Rolf Eike Beer2014-04-141-6/+6
| | | | | | The matches have already been calculated and can simply be taken from CMAKE_MATCH_n variables. This avoids multiple compilations of the same or very similar regular expressions.
* FindBoost: Search next to MPI libs for graph_parallel (#14832)Ben Boeckel2014-03-251-1/+2
| | | | | In addition to the MPI libraries, graph_parallel lives in the MPI libdir as well.
* FindBoost: Add suport for custom namespacesChuck Atkins2014-02-171-25/+37
| | | | | | | | | | When building boost with an alternate namespace the libraries generated will have a different naming convention. This is often done to ensure no symbol conflicts with external libraries built against a different version of boost. If the namespace used is "myprivateboost::" instead of "boost::" then the libraries built will be named myprivateboost_foo instead of boost_foo. Add an option to specify a custom namespace used to alter the library names that get searched for.
* FindBoost: Search next to MPI libraries for boost_mpi (#14739)Brad King2014-02-101-4/+31
| | | | | | | | | | Some distributions place boost_mpi next to the MPI libraries against which it was built instead of next to the other Boost libraries. If find_package(MPI) has already been run prior to find_package(Boost) then MPI_CXX_LIBRARIES or MPI_C_LIBRARIES may be set to the location of the MPI libraries. Teach FindBoost.cmake to look there for boost_mpi and boost_mpi_python after looking next to the other Boost libraries but not consider the location to be Boost_LIBRARY_DIR.
* FindBoost: Add Boost_USE_DEBUG_RUNTIME option (#14686)Brad King2014-01-081-1/+7
| | | | | Add an option to control use of the 'g' runtime debug library tag on MSVC tools. Default to ON to preserve existing behavior.
* FindBoost: Clarify example static libs option (#13663)Brad King2013-11-011-2/+2
| | | | State explicitly in the example that it will only find static libraries.
* FindBoost: Refine .rst formattingBrad King2013-11-011-32/+11
| | | | | Move the '::' starting literal blocks to the end of the preceding paragraph. Convert the "Boost CMake" divider to a section header.
* Convert builtin help to reStructuredText source filesKitware Robot2013-10-151-113/+157
| | | | | | | | Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.
* Merge branch 'master' into vs12-generatorBrad King2013-06-281-6/+19
|\ | | | | | | | | Resolve conflicts in Tests/Preprocess/CMakeLists.txt by keeping the side from 'master'.
| * FindBoost: Clarify failure on missing 'static' libs (#14235)Brad King2013-06-201-1/+6
| | | | | | | | | | | | | | | | When Boost_USE_STATIC_LIBS is ON we may complain that Boost libraries cannot be found even when shared libraries are present. Update the error message to tell the user explicitly that we want static libraries. Suggested-by: Laurence R. McGlashan <laurence.mcglashan@gmail.com>
| * Merge topic 'FindBoost-normalize-slashes'Brad King2013-05-311-2/+10
| |\ | | | | | | | | | | | | 363825c FindBoost: Fix handling of \ in input paths (#14179)
| | * FindBoost: Fix handling of \ in input paths (#14179)Brad King2013-05-301-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 5b9149e0 (FindBoost: Overhaul caching and search repeat behavior, 2012-09-24) we refactored the internal library search to use a _Boost_FIND_LIBRARY macro to wrap around find_library calls. However, CMake macros re-process escape sequences when evaluating calls inside the macro after substituting placeholders (a historical bug). In order to avoid escape sequences, convert backslashes to forward slashes before passing arguments to the _Boost_FIND_LIBRARY macro.
| * | Fix spelling and typos (non-binary)Andreas Mohr2013-05-071-3/+3
| |/
* | FindBoost: Add -vc120 mangling for VS 12Brad King2013-06-281-0/+2
|/
* FindBoost: Rewrite documentationBrad King2012-09-271-242/+135
| | | | | | | | | | | | | Write new documentation for this module. Ensure that it formats correctly in "cmake --help-module FindBoost" output. Show the basic form of calling find_package(Boost). Document all result variables, input variables, and cache variables appropriately grouped together. Explain the search process and how it re-runs when changes are made. Explain the difference between finding headers/libraries versus finding a "Boost CMake" package configuraiton file. Drop the emphasis on Boost_ADDITIONAL_VERSIONS because the implementation should predict most future versions instead.