Commit Graph

7271 Commits

Author SHA1 Message Date
Brad King 9a88708893 Merge branch 'FindMatlab-2017a' into release 2017-05-01 09:26:38 -04:00
Raffi Enficiaud 6f04dffb7d FindMatlab: Add support for Matlab 2017a 2017-05-01 09:26:32 -04:00
Brad King bc71f940c7 Merge branch 'FindBoost-backport-fixes' into release 2017-04-24 10:54:54 -04:00
Roger Leigh 502608ab21 FindBoost: Support prebuilt Windows binaries from SourceForge
This are searched for in the default installed location
C:/local/boost_${ver}

Cherry picked from commit 862482df27
for backport to CMake 3.8.
2017-04-24 10:52:11 -04:00
Roger Leigh b479429b2c 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.

Cherry picked from commit 3ca6f70f8b
plus a fixup from commit 6115875bf0
for backport to CMake 3.8.
2017-04-24 10:52:01 -04:00
Brad King 92857eef23 FindBoost: Fix library directory for VS 2017
Boost 1.64 now names the library directory `14.1`, not `15.0`.
2017-04-24 10:51:08 -04:00
Brad King 08c99c9253 Merge branch 'cpack-rpm-buildrequires-docs' into release 2017-04-20 16:19:42 -04:00
Domen Vrankar 8b3693e466 CPack/RPM doc: CPACK_RPM_BUILDREQUIRES docs
Missing documentation for an already existing
CPackRPM source rpm packages feature.

Fixes #16814
2017-04-20 16:19:20 -04:00
Brad King b99fbf3b16 Merge branch 'FindBoost-fix-backslash-tolerance' into release 2017-04-19 11:28:08 -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
Alex Turbov 16ef163fd6 FindOpenSSL: Add more library name alternatives
Add names found in OpenSSL 1.1.0 builds from [1].

[1] https://www.npcglib.org/~stathis/blog/precompiled-openssl/
2017-04-19 11:08:42 -04:00
Brad King a6a0cfb24d Merge branch 'vs-rc-defines' into release 2017-04-10 11:08:26 -04:00
Brad King 89b92a98a5 RC: Mark CMAKE_RC_FLAGS_<CONFIG> cache entries as advanced
These were added by commit v3.8.0-rc4~4^2~1 (RC: Add missing
CMAKE_RC_FLAGS_<CONFIG> entries to cache, 2017-03-28) and should be
advanced as they are for other languages.
2017-04-10 11:07:14 -04:00
Vadim Zeitlin ae4b3b7072 FindwxWidgets: link with the new required libs under MSW
Latest wxWidgets git master version and the upcoming 3.1.1 release requires
linking with shlwapi and version DLLs. As this does no harm when using the
previous versions, just do it unconditionally.
2017-04-07 23:50:55 +02:00
Brad King 585f94fe69 Merge branch 'mac-implicit-link-no-lto-flag' into release 2017-04-03 13:24:03 -04:00
Brad King 53f17333f8 CMakeParseImplicitLinkInfo: Ignore ld -lto_library flag
The `ld` tool in Xcode 8.3 now has a `-lto_library <path>` flag.  Ignore
the flag instead of accidentally parsing it as `-l` with `to_library`.

Fixes: #16766
2017-04-03 13:23:31 -04:00
Brad King b1f35f1ffd Merge branch 'intel-compile-features' into release 2017-03-31 14:29:25 -04:00
Brad King 4af0c9daf4 Features: Update features for Intel C++ 17.0.2 on UNIX
Intel 17.0.2 on UNIX introduced a regression from 17.0.1 in its
definition of `__cpp_constexpr` in `-std=c++14` mode.  It incorrectly
defines it as `200704` instead of the expected `201304`.  Fix our
feature detection table to account for this.
2017-03-31 14:29:18 -04:00
Brad King 6f3838c034 ExternalProject: Fix regression in GIT_TAG with remote branch name
The change in commit  v3.8.0-rc2~7^2 (ExternalProject: Run `git
checkout` with `--` to clarify arguments, 2017-02-24) broke the case of
`GIT_TAG some-remote-branch` because an explicit `--` means that the
preceding argument is a tree-ish instead of a branch.  Revert the change
and leave a comment.

Fixes: #16763
2017-03-31 12:59:53 -04:00
Brad King 18eeed4194 Merge branch 'FindBoost-1.64-deps' into release 2017-03-30 08:55:01 -04:00
Roger Leigh 556d98da3b FindBoost: Update 1.64 dependencies using 1.64 beta1 2017-03-30 11:43:13 +01:00
Brad King cb4e731347 Merge branch 'sdcc-compiler-id' into release 2017-03-29 13:22:06 -04:00
Brad King 5695558f4a SDCC: Fix identification of current sdcc compiler
The sdcc compiler no longer defines the `SDCC` preprocessor macro.
Instead `__SDCC_VERSION_MAJOR` and similar component-wise macros are
defined.  Use them instead if defined.

Issue: #16746
2017-03-29 13:21:49 -04:00
Brad King 6ca509e7c6 Merge branch '16742-swift-3.0' into release 2017-03-29 10:40:59 -04:00
Brad King d4a995750a Merge branch 'vs-rc-defines' into release 2017-03-29 09:24:29 -04:00
Gregor Jasny c03141c04c Swift: Default to Swift 3.0 with Xcode 8.3 and later
Xcode 8.3 has dropped support for Swift 2.3 so that compiler and
feature detection failed.

Closes #16742
2017-03-28 16:06:29 -04:00
Brad King fff34934e7 MSVC: Restore _DEBUG preprocessor definition in RC debug builds
In commit v3.8.0-rc1~304^2 (MSVC: Do not define _DEBUG explicitly when
using /MDd, 2016-11-15) we removed the `_DEBUG` preprocessor definition
from MSVC C and C++ flags because the `cl` compiler automatically
defines it in Debug builds anyway.  However, the VS generators propagate
C preprocessor definitions to the RC (Windows Resource Compiler) tool.
This means that we used to explicitly define `_DEBUG` for RC debug
builds.  Therefore existing project code may expect the definition to be
there even though the `rc` compiler itself does not implicitly define
`_DEBUG` in debug builds.

Add the `_DEBUG` flag to the default `CMAKE_RC_FLAGS_DEBUG` instead
to restore this definition for RC debug builds.  This also makes it
available consistently in VS, Ninja, and Makefile generators.

Fixes: #16745
2017-03-28 13:10:56 -04:00
Brad King 79a915383f RC: Add missing CMAKE_RC_FLAGS_<CONFIG> entries to cache 2017-03-28 13:10:55 -04:00
Brad King 3ed87b7ee1 Merge branch 'InstallRequiredSystemLibraries-vs2017' into release 2017-03-27 11:50:36 -04:00
Brad King 6eb609fd59 InstallRequiredSystemLibraries: Find VS 2017 redist directory
Use our undocumented `cmake_host_system_information` query to find the
VS 2017 installation directory by asking the VS installer tool.  Then
look relative to that for the redist directory.

Fixes: #16737
2017-03-27 11:43:01 -04:00
Brad King 082c0375d9 InstallRequiredSystemLibraries: Split VS 2017 search paths
VS 2017 does not have the same registry entries or other paths we
search for other VS versions.  Split the search code paths to treat
it separately.
2017-03-27 11:43:01 -04:00
Domen Vrankar 1e0fc68501 CPack/RPM can now generate a single debuginfo package
CMake 3.8 introduced possibility of
generating a single debuginfo package
even if component packaging is enabled
so this note no longer applies.
2017-03-27 08:57:33 -04:00
Brad King 1adbe223cd Merge branch 'cpack-rpm-correct-error-message-debug-lengths' into release 2017-03-23 13:48:17 -04:00
Daniel Black 8dc23a4380 CPack/RPM: fix error message associated with source path length 2017-03-23 13:47:58 -04:00
Brad King 40cf5e0e07 Merge branch 'InstallRequiredSystemLibraries-vs2017' into release 2017-03-23 10:43:00 -04:00
Brad King d4a693a083 InstallRequiredSystemLibraries: Add support for VS 2017
VS 2017 (VS 15) places its redist DLLs in `Microsoft.VC150.*`
directories but still uses version number `140` in the DLL names.  The
redist directories now have version numbers in their name, and the MSVC
and MFC runtime DLLs may be in directories with different versions.
Fill out our logic to handle this.

For now assume we are given the `MSVC_REDIST_DIR` value as a cache
entry.  Unfortunately we cannot yet find the VS 2017 MSVC redist
directory automatically since there is no registry entry for the VS
installation.  Later we will have to use `cmVSSetupHelper` for this.

Issue: #16735
2017-03-23 10:30:14 -04:00
Brad King 5ed4e48128 InstallRequiredSystemLibraries: Split MFC redist dir variable 2017-03-23 10:26:52 -04:00
Brad King dbdb880af9 InstallRequiredSystemLibraries: Split VS IDE and DLL versions
Refactor MSVC logic to split the IDE and DLL version variables.
2017-03-23 10:14:50 -04:00
Brad King 51ef9bb1eb Merge branch 'InstallRequiredSystemLibraries-refactor' into release 2017-03-23 08:42:42 -04:00
Brad King b8c72c50f7 Merge branch 'avoid-MSVC-per-version-vars' into release 2017-03-23 08:42:37 -04:00
Brad King 9ab966a722 FindRuby: Use MSVC_VERSION instead of MSVC## 2017-03-23 08:40:35 -04:00
Brad King 69b9fde148 FindGTK2: Use MSVC_VERSION instead of MSVC## 2017-03-23 08:40:35 -04:00
Brad King 3fe3182247 FindBoost: Avoid mentioning discouraged MSVC##` variable 2017-03-23 08:40:34 -04:00
Brad King a2aad448e1 InstallRequiredSystemLibraries: Drop version from variable names
Each `MSVC${v}_*_DIR` variable is only ever used with one value for
`${v}` within a given build tree.  Drop the `${v}` version component
from the variable names.
2017-03-22 15:58:40 -04:00
Brad King 16eb58d503 InstallRequiredSystemLibraries: Refactor to avoid macros
For a given `MSVC_VERSION` our macros were each called at most once.
Replace them with a single code path that is parameterized over what
was the macro argument.
2017-03-22 15:48:34 -04:00
Brad King a259e8db8f InstallRequiredSystemLibraries: Use MSVC_VERSION instead of MSVC##
Issue: #16735
2017-03-22 12:50:10 -04:00
Brad King d2fb1264d7 Merge branch 'doc-prefer-MSVC_VERSION' into release 2017-03-22 11:28:31 -04:00
Brad King 4fbae41f88 Merge branch 'FindwxWidgets-vs-2017' into release 2017-03-22 11:28:25 -04:00
Brad King 49a60b70e7 MSVC: Exclude future cl 20+ from MSVC14 variable 2017-03-22 11:23:37 -04:00
Brad King 8f207df14d FindwxWidgets: Add support for VS 2017 v141 toolset
Issue: #16735
2017-03-22 11:08:05 -04:00