Commit Graph

164 Commits

Author SHA1 Message Date
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
Brad King
86578eccf2 Simplify CMake per-source license notices
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.
2016-09-27 15:14:44 -04:00
Tatsuyuki Ishi
9bb8ac8ed2 FindBoost: update to 1.62 2016-09-25 16:53:03 +09:00
Daniel Pfeifer
5d0d980d99 Use string(APPEND) in Modules
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'
2016-07-28 00:41:13 +02:00
Alex Turbov
cb1a434ce0 FindBoost: Add check headers for zlib and bzip2
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>
2016-07-05 14:22:01 -04:00
Andreas Weis
c9fca42fd1 FindBoost: Make imported targets fall back to Release
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.
2016-06-20 10:14:10 -04:00
Alex Turbov
c3a281fd32 FindBoost: Search in official Windows prebuilt binary library directory
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/
2016-06-03 11:15:02 -04:00
Alex Turbov
3720d5f4a3 FindBoost: Test CMAKE_CXX_COMPILER_{ID,VERSION} instead of MSVC* 2016-06-03 11:11:38 -04:00
Brad King
d082810949 Merge topic 'boost-component-headers'
c2e8d515 FindBoost: Add checks for component-specific headers
2016-05-16 10:11:43 -04:00
Roger Leigh
c2e8d5150e FindBoost: Add checks for component-specific headers
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.
2016-05-16 09:57:46 -04:00
Roger Leigh
328eff90eb FindBoost: Update dependencies for Boost 1.61 2016-05-13 19:39:41 +01:00
Brad King
5a9b2b3b11 FindBoost: Fix Boost_NO_SYSTEM_PATHS to not consider environment (#15702)
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.
2016-05-02 11:43:28 -04:00
Roger Leigh
2c1b720e64 FindBoost: Define Boost::boost for all boost versions 2016-04-19 22:07:45 +01:00
Erik Zenker
4527b9c416 FindBoost: Add support for IBM XL compiler 2016-03-23 13:41:42 -04:00
Roger Leigh
e2f387fabb FindBoost: Tolerate missing indirect dependencies (#16013)
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.
2016-03-15 09:54:58 -04:00
Sergei Nikulov
b94e855d5f FindBoost: Add support for Boost 1.61 2016-01-22 08:35:04 -05:00
Roger Leigh
0a31fdabec FindBoost: Add support for Boost 1.60 2015-12-17 21:46:58 +00:00
Roger Leigh
3f9b081f6e FindBoost: Add imported targets
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
2015-12-02 09:40:17 -05:00