summaryrefslogtreecommitdiffstats
path: root/Modules/FindBoost.cmake
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* FindBoost: Refactor Boost_FOUND computation and version checkBrad King2012-09-271-98/+60
| | | | | | | | Construct an initial Boost_FOUND value immediately after searching for Boost_INCLUDE_DIR. Base the result only on whether header files for the requested version were found. Then after searching for component libraries update Boost_FOUND based on whether all requested components were found.
* FindBoost: Construct a clean Boost_LIBRARIES valueBrad King2012-09-271-1/+2
| | | | | | Construct the value from scratch based on the component library list. Avoid accumulating values from repeated find_package(Boost) calls. If Boost is not found, Boost_LIBRARIES should be empty.
* FindBoost: Overhaul caching and search repeat behaviorBrad King2012-09-271-128/+208
| | | | | | | | | | | | | | | | | | | | | | | Overhaul the implementation as follows: (1) Do not cache result variables such as Boost_VERSION, Boost_LIB_VERSION, Boost_LIBRARY_DIRS, Boost_${COMPONENT}_FOUND, Boost_${COMPONENT}_LIBRARY, or Boost_LIB_DIAGNOSTIC_DEFINITIONS that are derived uniquely from other search results. The user should not edit them anyway. (2) Add cache value Boost_LIBRARY_DIR to hold the single directory expected to contain all libraries. Once one library is found, search only that directory for other libraries. (3) Use the find_library NAMES_PER_DIR option to consider all possible library names at the same time. (4) Collect all documented input and cache variables and detect when they have been changed by the user. Discard prior search results that may have been influenced by the changes and search for them again. Environment variables are not expected to be persistent so use them only as hints and do not consider changes to them to be meaningful.
* FindBoost: Use PATH_SUFFIXES to look in "Program Files"Brad King2012-09-271-8/+6
| | | | | | | | | The CMake find_path command looks under the proper "Program Files" directories on Windows with any of the provided PATH_SUFFIXES. This is simpler and more robust than directly reading ENV{ProgramFiles}. Once Boost_INCLUDE_DIR has been located we already look next to it for the lib directory anyway, so we do not need special help to find Boost libraries under "Program Files".
* FindBoost: Mark Boost_DIR cache entry as advancedBrad King2012-09-261-0/+1
|
* FindBoost: Remove extra indentation levelBrad King2012-09-251-553/+553
| | | | A large portion of the file was still indented for historical reasons.
* read less from version headers into variablesRolf Eike Beer2012-08-191-1/+2
| | | | | | | | | Instead of reading the whole file using file(READ) and later matching on the whole file use file(STRINGS ... REGEX) to get only those lines we are interested in at all. This will make the list much smaller (good for debugging) and also the regular expressions will need to match on much smaller strings. Also unset the content variables once they are not used anymore.
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-45/+45
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-1/+1
| | | | | | | | | | | | | | | | | Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
* FindBoost: Future proof to 1.56Philip Lowman2012-06-301-1/+4
|
* FindBoost: Fix bug where Boost_FOUND could be false when version specifiedPhilip Lowman2012-06-301-118/+105
| | | | | | Fixes a problem where when specifying a version number without the REQUIRED parameter, Boost_FOUND would be true on the first configure but false on subsequent configures.
* FindBoost: add support for 1.49 and 1.50Rolf Eike Beer2012-04-071-2/+3
| | | | | Boost 1.49 has already be released. Add this and the next to come version number to the search list.
* FindBoost: Quote possibly empty string argument (#12273)David Cole2011-12-191-1/+1
| | | | Author: Claudio Bley
* FindBoost: Use MSVC11 to find Boost on Windows (#12568)Mateusz Loskot2011-11-101-4/+6
| | | | While at it, add recent Boost versions.
* FindBoost: Call find_package with NO_MODULE firstTodd Gamblin2011-09-011-10/+72
| | | | | | | | | | | FindBoost now attempts to find Boost using find_package(Boost NO_MODULE) before it does a module mode search. User can now set any of these to Boost's install prefix to detect it in module or config mode: - Boost_DIR for consistency with other CMake modules - BOOST_ROOT or BOOSTROOT for adherence to boost convention
* FindBoost: Also search for 1.46.1Philip Lowman2011-06-101-1/+2
|
* FindBoost: Fixes #12188Philip Lowman2011-06-101-0/+6
| | | | | | | Workaround an issue where users wanted to use Boost_LIBRARIES with the install() command and debug/optimized keywords were interfering. Now debug/optimized keywords are removed if the release & debug library are the same.
* Lowercase all function names and improve consistencyPhilip Lowman2010-12-281-168/+168
|
* Fix spelling BOOST_LIBRARYDIR message. Add error for common misspellings.Philip Lowman2010-12-281-16/+21
|
* Add Boost 1.46Philip Lowman2010-12-131-2/+2
|
* [patch] Add Boost 1.45 to search, simplify a check removing VERSION_LESSPhilip Lowman2010-12-131-28/+26
| | | | | Also some whitespace issues are cleaned up. Patch from Adam Richardson attached to #11445
* 11363: FindBoost.cmake fails to find debug libraries in tagged layout installPhilip Lowman2010-10-291-0/+1
|
* Remove superfluous variable Boost_COMPAT_STATIC_RUNTIME.Philip Lowman2010-10-121-17/+8
| | | | | | | There is no need to introduce this extra variable as FindBoost can simply rely on if Boost_USE_STATIC_RUNTIME is defined or not to disable the old searching behavior for static runtime libraries on WIN32.
* FindBoost.cmake: Fix library search path glitch introduced in earlier commitPhilip Lowman2010-09-201-23/+24
|
* FindBoost.cmake: Implements 11160Philip Lowman2010-09-181-1/+32
| | | | | | | | | | | | Add Boost_REALPATH option for people packaging Boost with their app: Boost_REALPATH Resolves symbolic links for discovered boost libraries to assist with packaging. For example, instead of Boost_SYSTEM_LIBRARY_RELEASE being resolved to "/usr/lib/libboost_system.so" it would be "/usr/lib/libboost_system.so.1.42.0" instead. This does not affect linking and should not be enabled unless the user needs this information.
* FindBoost.cmake: Fixes 10436Philip Lowman2010-09-181-0/+2
| | | | | Add an additional library filename permutation which fixes library detection for some custom builds of Boost.
* FindBoost.cmake: Fixes 11121Philip Lowman2010-09-181-0/+32
| | | | Add support for finding Boost.Thread with special THREADAPI in filename
* FindBoost.cmake: Fixes 11246Philip Lowman2010-09-181-1/+1
| | | | | FindBoost can find shared libraries (.so) in rare circumstances even when Boost_USE_STATIC_LIBS is set
* FindBoost.cmake: Fix compiling against a boost source treePhilip Lowman2010-09-181-4/+1
| | | | This fixes issues 11192 & 11187.