Commit Graph

181 Commits

Author SHA1 Message Date
Filip Matzner
81cc993f89 FindBoost: Backport versioned python dependencies for v1.35 to v1.66
Update `mpi_python##` and `numpy##` component dependencies to honor
python version suffixes on components named by the caller.  Although
upstream Boost did not add version suffixes prior to version 1.67, it is
commonly done by distros.  Honor suffixes specified by project code.
Projects must take responsibility for naming distro-specific component
suffixes for versions prior to 1.67.

Fixes: #17892, #17970
2018-05-09 07:57:36 -04:00
Brad King
557e68e1a3 FindBoost: Remove extra indentation in 1.65/1.66 dependency block 2018-05-08 08:51:57 -04:00
Roger Leigh
1673923c30 FindBoost: Add support for Boost 1.67 with Python version suffixes
Fixes: #16612, #16335, #16391, #12955
2018-03-21 13:34:17 -04:00
Sergiu Deitsch
2557cad5ec FindBoost: support OPTIONAL_COMPONENTS 2018-01-19 17:00:44 +01:00
Paul "TBBle" Hampson
6297d6c7fd FindBoost: Generate imported targets for future Boost versions
Per discussion on cmake/cmake#17575, this protection not particularly
valuable, as the dependency information which the imported targets wrap
is generated anyway.

This removes a road-block for using `Boost_ADDITIONAL_VERSIONS` to
support newly-released Boost versions pending a new CMake release.
2018-01-10 17:17:32 +11:00
Paul "TBBle" Hampson
d56deff7d1 FindBoost: Search for upstream-packaged libs next to includes
Upstream packages Boost binaries for Windows with the 'boost' directory
(the INCLUDE_DIR) next to the lib-... directory (the LIBRARY_DIR).
2018-01-10 17:17:27 +11:00
Paul "TBBle" Hampson
b044f69a41 FindBoost: Implement "Architecture and Address Model" tag
This tag is new in Boost 1.66.0, and is present in the 'versioned'
library file name layout.
2018-01-10 17:17:20 +11:00
Paul "TBBle" Hampson
b1e9f67137 FindBoost: Fix incorrect alphabetisation of headers list 2018-01-10 17:17:10 +11:00
Paul "TBBle" Hampson
433a2d495a FindBoost: Boost 1.66.0 dependency and release update
Release notes: http://www.boost.org/users/history/version_1_66_0.html

* All new libraries are header-only.
* _Boost_COMPONENT_DEPENDENCIES is unchanged from 1.65.1
* _Boost_FIBER_COMPILER_FEATURES is unchanged from 1.64.0
2018-01-10 17:16:57 +11:00
Craig Scott
3c413e2a31 GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Modules 2017-12-30 09:35:56 +11:00
Roger Leigh
458c589fe3 FindBoost: Add Windows ABI tag for Clang debug
Thanks to Walter Pearce for this suggestion.

Fixes: #17505
2017-11-27 13:49:01 -05:00
Roger Leigh
00e39a4afc FindBoost: Use CMAKE_CXX_COMPILER_ID for Intel compiler 2017-11-27 13:48:22 -05:00
Ben Boeckel
d70bdc72ce FindBoost: support more than one number in version components 2017-11-06 13:26:23 -05:00
Ben Boeckel
335816efad FindBoost: use CMake's compiler version rather than querying again 2017-11-03 11:43:22 -04:00
Brad King
c044b9ae84 FindBoost: Improve messages when a Boost CMake package is found
Add a test for this case to verify the messages.  This test will also be
valuable to cover this code path in which we've had several regressions
recently.
2017-09-29 10:10:01 -04:00
Alex Turbov
a929dd166e FindBoost: Simplify search in lists
Instead of `list(FIND...)` and then checking result for `-1`
(found/not-found), nowadays `if` command has the `IN_LIST` test for
that.

This change was originally made by commit v3.9.0-rc1~41^2 (FindBoost:
Simplify search in lists, 2017-04-23) but then had to be reverted by
commit v3.9.2~3^2 (FindBoost: Revert "Simplify search in lists.",
2017-09-05) due to problems related to using `find_dependency`.  Those
problems were addressed by commit 3080a0a611 (FindBoost: Improve
behavior when thread dependency is missing, 2017-09-15), so now we can
restore the original change.

Issue: #17252
2017-09-18 13:44:25 -04:00
Brad King
3080a0a611 FindBoost: Improve behavior when thread dependency is missing
The `find_dependency` macro is not meant for use in find modules and
`return()`s from the caller when the package is not found.  Avoid using
it in FindBoost.  Instead use plain `find_package` for the Threads
package and manually forward the `QUIET` argument.  When the Threads
package is missing then treat the Boost `thread` component as missing.

Issue: #17257
2017-09-15 10:42:14 -04:00
Brad King
2581ab4395 Merge topic 'boost-1.65.1'
dbba53a5 FindBoost: Add version 1.65.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1241
2017-09-08 09:46:32 -04:00
Brad King
10a3835cbd Merge topic 'FindBoost-limit-configs'
e6159e18 FindBoost: Add option to prevent finding DEBUG/RELEASE Boost-libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1216
2017-09-07 11:23:00 -04:00
Roger Leigh
dbba53a5aa FindBoost: Add version 1.65.1 2017-09-06 21:11:47 +01:00
Deniz Bahadir
e6159e1842 FindBoost: Add option to prevent finding DEBUG/RELEASE Boost-libs
With the use of options `Boost_USE_DEBUG_LIBS` and
`Boost_USE_RELEASE_LIBS` it is now possible to skip searching for either
DEBUG or RELEASE Boost libraries.
This is useful if Boost is installed on the system in multiple
directories but only one of them should be used which only contains e.g.
the RELEASE libraries. Without this change the DEBUG libraries might be
found in the other directory which might not be desired at all.
2017-09-06 17:58:45 +02:00
Brad King
ff0847b2d5 Merge topic 'FindBoost-fix-policy-scope'
ade45fa3 FindBoost: Revert "Simplify search in lists."

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1238
2017-09-06 10:47:49 -04:00
Brad King
ade45fa342 FindBoost: Revert "Simplify search in lists."
Revert commit v3.9.0-rc1~41^2 (FindBoost: Simplify search in lists,
2017-04-23).  It regressed the module by exposing issue #17257, but the
fix for that issue is not suitable for inclusion in a patch release.
It is simplest to revert the commit until the larger problem can be
addressed.

Fixes: #17252
2017-09-05 14:04:51 -04:00
Roger Leigh
fa114e7d70 FindBoost: Add Boost 1.65 dependencies 2017-08-22 17:03:36 +01:00
Cristian Adam
eddbd62d0f FindBoost: pop policy stack before returning
CMake would give a fatal error if the policy stack was cleaned up
upon exiting the module.
2017-07-27 07:49:48 +10:00
Alex Turbov
cc329a0125 FindBoost: Simplify search in lists.
Instead of `list(FIND...)` and then checking result for `-1`
(found/not-found), nowadays `if` command has the `IN_LIST` test for
that.
2017-05-26 11:21:49 -04:00
Alex Turbov
4c2ae38b0b Boost Fiber actually require at least C++11.
Some boost libraries may require particular set of compler features.
The very first one was `boost::fiber` introduced in Boost 1.62.
One can check required compiler features of it in
`${Boost_ROOT}/libs/fiber/build/Jamfile.v2`.
2017-04-23 21:19:37 +07:00
Brad King
6c7460bc48 Merge topic 'FindBoost-fix-backslash-tolerance'
2516bccd FindBoost: Restore tolerance of backslashes in paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !721
2017-04-20 08:47:05 -04:00
Alex Turbov
2516bccdf6 FindBoost: Restore tolerance of backslashes in paths
Since commit v3.8.0-rc1~136^2 (FindBoost: Search official location of
prebuilt binaries on Windows, 2016-12-21) we pass input paths through
`_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS` in more
places than before.  This broke tolerance of backslashes in paths
provided by the user due to the macro argument re-parsing.  Turn
`_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS` into a
function instead of macro to avoid re-parsing of macro arguments.

Fixes: #16816
2017-04-19 11:24:41 -04:00
yume todo
6115875bf0 FindBoost: Fix release name candidate list construction
Changes in commit 3ca6f70f (FindBoost: Allow testing for multiple
compiler suffixes, 2017-03-28) accidentally left a `set()` instead of a
`list(APPEND)` while constructing `_boost_RELEASE_NAMES`.  Fix the logic
to match what was done for `_boost_DEBUG_NAMES`.  Otherwise we drop some
of the candidate names.
2017-04-06 14:03:26 -04:00
Brad King
fb3f6fd3fe Merge topic 'FindBoost-vs-toolset-fallback'
862482df FindBoost: Support prebuilt Windows binaries from SourceForge
3ca6f70f FindBoost: Allow testing for multiple compiler suffixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !639
2017-04-04 09:20:16 -04:00
Roger Leigh
556d98da3b FindBoost: Update 1.64 dependencies using 1.64 beta1 2017-03-30 11:43:13 +01:00
Roger Leigh
862482df27 FindBoost: Support prebuilt Windows binaries from SourceForge
This are searched for in the default installed location
C:/local/boost_${ver}
2017-03-29 11:27:43 +01:00
Roger Leigh
3ca6f70f8b FindBoost: Allow testing for multiple compiler suffixes
This is to permit VS2017 to make use of the vc141 suffix or
fall back to the compatible vc140 to use Boost libraries built
with VS2015.

Fixes: #16631
2017-03-29 11:27:43 +01:00
Brad King
a1440504ff Merge topic 'avoid-MSVC-per-version-vars'
9ab966a7 FindRuby: Use `MSVC_VERSION` instead of `MSVC##`
69b9fde1 FindGTK2: Use `MSVC_VERSION` instead of `MSVC##`
3fe31822 FindBoost: Avoid mentioning discouraged `MSVC##`` variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !610
2017-03-23 08:44:22 -04:00
Brad King
b8c72c50f7 Merge branch 'avoid-MSVC-per-version-vars' into release 2017-03-23 08:42:37 -04:00
Brad King
3fe3182247 FindBoost: Avoid mentioning discouraged MSVC##` variable 2017-03-23 08:40:34 -04:00
Mateusz Łoskot
9b2f8a82e5 FindBoost: Update support for 1.64
Update the Boost library name mangling used for VS 2017 to match a
change made to Boost upstream (vc1410 => vc141).
2017-03-22 10:49:17 -04:00
Mateusz Łoskot
6bd28fd235 FindBoost: Add support for 1.64
Update the module to enable finding components of Boost 1.64 (beta) from
the upcoming release.  Also update the Boost library name mangling used
for VS 2017 to match a change made to Boost upstream (vc150 => vc1410).
2017-03-20 14:43:24 -04:00
Yves Frederix
97d61562d0 FindBoost: unset cache variables if the lib dir changes
This fixes a regression introduced by commit v3.3.0-rc1~5^2~2
(FindBoost: Search for debug and release libraries separately,
2015-01-26).  The `_Boost_CHANGE_LIBDIR` variable was split into
`_Boost_CHANGE_LIBDIR_{DEBUG,RELEASE}` but one usage site was not
updated.
2017-01-30 09:29:28 -05:00
Brad King
a8b576244f Merge topic 'FindBoost-1.63'
a9b93501 FindBoost: Add support for 1.63
2017-01-11 09:58:17 -05:00
Alex Turbov
ff91b1514b FindBoost: Search official location of prebuilt binaries on Windows
Make it possible to find Boost in the default install path (`c:\boost`)
of an official prebuilt binaries installation even when `BOOST_ROOT`
has not been specified.
2017-01-10 14:21:53 -05:00
Roger Leigh
a9b93501d4 FindBoost: Add support for 1.63 2017-01-10 13:15:34 -05:00
Brad King
c7cd379179 Merge topic 'FindBoost-vs15'
c3b6b5ba FindBoost: Add support for VS 2017
2016-12-09 14:23:50 -05:00
Vic Luo
c3b6b5babc FindBoost: Add support for VS 2017 2016-12-08 08:20:08 -05:00
Alex Turbov
08b9a0fdfa FindBoost: Simplify library dir detection with cascading if/elseif/else 2016-10-13 10:19:07 -04:00
Alex Turbov
ca4029fa9a FindBoost: Minor style updates 2016-10-13 10:17:24 -04:00
Alex Turbov
2e242b5c1e FindBoost: Use list(INSERT) to simplify suffix list generation 2016-10-13 10:16:46 -04:00
Alex Turbov
6699d46a2a FindBoost: Use string(APPEND) in more cases 2016-10-13 10:15:34 -04:00
Roger Leigh
a997cac832 FindBoost: Add 1.62 and 1.62.0 as supported versions 2016-10-03 12:19:33 +01:00