Commit Graph

54573 Commits

Author SHA1 Message Date
Brad King
a136b6ec98 MINGW: Define variable only when targeting Windows platforms
The `MINGW` variable indicates that the compiler targets MinGW, a GNU
ABI on Windows.  Since commit aff3147917 (Modernize GNU compiler info on
Windows, 2009-12-02, v2.8.2~636), we load the `Platform/Windows-GNU`
module for compilers targetin MinGW, so set the variable there instead.
This is equivalent to `Platform/Windows-MSVC` setting the `MSVC`
variable.  Also remove `if(MINGW)` checks from the module, which have
not been necessary since the enclosed logic was moved to that module.

The undocumented `CMAKE_COMPILER_IS_MINGW` internal variable is now
unused, so remove it too.

Fixes: #22647
2021-09-17 12:17:35 -04:00
Brad King
39c5dad0cb Ninja: Remove redundant check for GNU-like compiler on Windows
Update the Ninja generator's check to work using whatever language is
being enabled instead of hard-coding C and CXX.  With that, the
undocumented internal `CMAKE_COMPILER_IS_MINGW` variable is only set by
compilers already covered by other alternatives in the condition.  See
commit b3de0dfe93 (Ninja: Use forward slashes for any GCC on Windows,
2015-05-07, v3.3.0-rc1~93^2~3).
2021-09-17 12:15:11 -04:00
Brad King
0b7ae84a96 Cygwin: Remove redundant definitions of CYGWIN and UNIX variables
These are set by modules loaded for `CMAKE_SYSTEM_NAME`.  We do not
need to set them again if the compiler defines `__CYGWIN__`.

Also remove the now-unused undocumented `CMAKE_COMPILER_IS_CYGWIN`
internal variable.
2021-09-16 09:55:26 -04:00
Brad King
ffb9978e95 Merge topic 'clarify_cmake_policy_warning_doc'
1230ceb97e Help: Improve explanation on CMAKE_POLICY_WARNING warnings occur

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6522
2021-09-16 08:24:56 -04:00
Brad King
f5445e321e Merge topic 'enh-CPack-SetOption-accepts-new-types'
7fce78982b Use new SetOption signatures
7aeb262278 cmCPackGenerator::SetOption accepts cmProp or std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6526
2021-09-16 08:22:06 -04:00
Brad King
9858381ba8 Merge topic 'enh-CTest-SetOption-accepts-new-types'
8f52451682 Use new SetOption signatures
8d0ae460de cmCTestGenericHandler::SetOption accepts cmProp or std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6525
2021-09-16 08:20:30 -04:00
Brad King
98f78af88b Merge topic 'update-curl'
412189bce7 curl: Set build options the way we need for CMake
8ecd95845c Merge branch 'upstream-curl' into update-curl
386467c9dc curl 2021-09-14 (8e82f2a0)
a8ae9c7055 curl: Update script to get curl 7.79.0
3cfd89add5 cmCurl: Fix file:// URLs with spaces for curl 7.78+
63b5a6869e cmCurl: Adopt helper to fix file:// URLs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6523
2021-09-16 08:19:37 -04:00
Brad King
b3f4a05761 Merge branch 'release-3.21' 2021-09-16 08:16:54 -04:00
Brad King
1b91aaecd8 Merge topic 'vs2022'
b6ac10394b VS: Update Visual Studio 17 2022 generator for Preview 4
f200f4d5a7 VS: Fix managed C++ project generation for VS 2022

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6524
2021-09-16 08:16:54 -04:00
Brad King
64aac043ee Merge topic 'vs2022' into release-3.21
b6ac10394b VS: Update Visual Studio 17 2022 generator for Preview 4
f200f4d5a7 VS: Fix managed C++ project generation for VS 2022

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6524
2021-09-16 08:16:53 -04:00
Brad King
86d0d78f2e Merge topic 'msvc-pch-obj-restriction'
3b9e04accb PCH: MSVC: Restrict OBJECT library INTERFACE_LINK_LIBRARIES usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6518
2021-09-16 08:15:31 -04:00
Kitware Robot
038c416f93 CMake Nightly Date Stamp 2021-09-16 00:01:13 -04:00
Brad King
412189bce7 curl: Set build options the way we need for CMake 2021-09-15 15:28:53 -04:00
Brad King
8ecd95845c Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2021-09-14 (8e82f2a0)
2021-09-15 15:28:38 -04:00
Curl Upstream
386467c9dc curl 2021-09-14 (8e82f2a0)
Code extracted from:

    https://github.com/curl/curl.git

at commit 8e82f2a04a238c54ba91e553e9a8452e6d405965 (curl-7_79_0).
2021-09-15 15:28:31 -04:00
Brad King
a8ae9c7055 curl: Update script to get curl 7.79.0 2021-09-15 15:28:20 -04:00
Brad King
3cfd89add5 cmCurl: Fix file:// URLs with spaces for curl 7.78+
Since curl 7.78, URLs with spaces that are not encoded as `%20` or `+`
are now correctly rejected with `CURLUE_MALFORMED_INPUT`.  However,
CMake has long accepted `file://` URLs with spaces in the path due to
curl 7.77 and below accidentally allowing them.  Preserve this by
explicitly encoding spaces in such URLs before handing them to curl.

See also upstream curl commit `b67d3ba73` (curl_url_set: reject spaces
in URLs w/o CURLU_ALLOW_SPACE, 2021-05-31, curl-7_78_0~133).
2021-09-15 15:28:01 -04:00
Brad King
63b5a6869e cmCurl: Adopt helper to fix file:// URLs
Migrate and generalize the helper added by commit e63dcb1378 (Encoding:
Use encoding libcurl expects with file: urls., 2014-11-05,
v3.2.0-rc1~420^2).
2021-09-15 15:03:22 -04:00
Brad King
b6ac10394b VS: Update Visual Studio 17 2022 generator for Preview 4 2021-09-15 13:20:02 -04:00
Brad King
f200f4d5a7 VS: Fix managed C++ project generation for VS 2022
VS 2022 expects managed `.vcxproj` files to have a `ManagedAssembly`
element.

Fixes: #22583
2021-09-15 13:19:37 -04:00
Marc Chevrier
7fce78982b Use new SetOption signatures 2021-09-15 18:30:49 +02:00
Marc Chevrier
7aeb262278 cmCPackGenerator::SetOption accepts cmProp or std::string 2021-09-15 18:30:41 +02:00
Marc Chevrier
8f52451682 Use new SetOption signatures 2021-09-15 18:08:19 +02:00
Marc Chevrier
8d0ae460de cmCTestGenericHandler::SetOption accepts cmProp or std::string 2021-09-15 18:08:19 +02:00
Cristian Adam
3b9e04accb PCH: MSVC: Restrict OBJECT library INTERFACE_LINK_LIBRARIES usage
The pch object file could cause problems when the reused pch is passed
through an OBJECT library, which would use INTERFACE_LINK_LIBRARIES to
link the pch object file.

Fixes: #22630
2021-09-15 10:39:46 -04:00
Brad King
1375862764 Merge topic 'cpack-nsis-apps-n-features'
eb3b3bacdc CPack/NSIS: Fix uninstall on Windows using "Apps & Features"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6517
2021-09-15 10:18:55 -04:00
Brad King
c9a29ce55d Merge topic 'fltk_re-entrant'
51fd21736b FindFLTK: Safe to include multiple times

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6519
2021-09-15 10:18:06 -04:00
Brad King
49fb755302 Merge topic 'cmProp-explicit-string_view-cast-operator'
79362cf117 cmProp: cm::string_view cast operator must be explicit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6515
2021-09-15 10:16:41 -04:00
Robert Maynard
1230ceb97e Help: Improve explanation on CMAKE_POLICY_WARNING warnings occur 2021-09-15 09:28:10 -04:00
Kitware Robot
c2c1c701c7 CMake Nightly Date Stamp 2021-09-15 00:01:22 -04:00
Marc Chevrier
79362cf117 cmProp: cm::string_view cast operator must be explicit
To avoid ambiguity on std::string assigment between the following two
cmProp cast operators:
* operator const std::string&() const noexcept
* operator cm::string_view() const noexcept
2021-09-14 17:42:02 +02:00
Robert Maynard
51fd21736b FindFLTK: Safe to include multiple times
FindFLTK could store multiple entries in `FLTK_INCLUDE_DIR`,
and when re-executed would stored into `FLTK_DIR` which had
uses which presumed single entries.

Fixes #13198
2021-09-14 11:10:28 -04:00
Andras Lasso
eb3b3bacdc CPack/NSIS: Fix uninstall on Windows using "Apps & Features"
According to NSIS documentation [1], uninstaller executable path in
UninstallString must always be quoted.  Quote the uninstall executable
in `NSIS.template.in` so that it works when the path has spaces.

[1] https://nsis.sourceforge.io/Add_uninstall_information_to_Add/Remove_Programs
2021-09-14 09:52:19 -04:00
Brad King
69c0a5daf9 Merge topic 'pch-xcode-multiple-languages'
bbcdac4e5d PCH: Fix all-language precompile header support in Xcode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6435
2021-09-14 09:48:00 -04:00
Brad King
8f67d42671 Merge topic 'find-matlab-imported-targets'
161990b921 FindMatlab: Add imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6488
2021-09-14 09:42:50 -04:00
Brad King
fdeb9e0751 Merge topic 'GNUInstallDirs_become_conda_install_aware'
ecaca8c129 GNUInstallDirs now aware of conda lib directory requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Silvio Traversaro <pegua1@gmail.com>
Merge-request: !6512
2021-09-14 09:41:19 -04:00
Brad King
67b3c27192 Merge topic 'refactor-CPack-GetOption-returns-cmProp'
202a65759b cmCPackGenerator::GetOption returns cmProp

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6506
2021-09-14 09:40:19 -04:00
Brad King
0a84ba8590 Merge topic 'refactor-CTest-GetOption-returns-cmProp'
f9bcde974e cmCTestGenericHandler::GetOption returns cmProp

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6505
2021-09-14 09:39:09 -04:00
Brad King
03124e4d4c Merge topic 'update-jsoncpp'
ffc6be33a7 IWYU: Map jsoncpp internal header to its public header
d7dfb84f89 Merge branch 'upstream-jsoncpp' into update-jsoncpp
0b97650518 jsoncpp 2020-09-25 (9059f5ca)
d9f8e39357 jsoncpp: Update script to get jsoncpp 1.9.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6514
2021-09-14 09:37:49 -04:00
Brad King
085719d4d8 Merge topic 'iwyu-cl'
ccfe1b0b40 IWYU: Add `--driver-mode=cl` when applicable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6511
2021-09-14 09:36:13 -04:00
Brad King
2a8d9bf4cc Merge topic 'CMakeDependentOption-condition-syntax'
059b90a0b4 CMakeDependentOption: Introduce policy CMP0127 for full Condition Syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6493
2021-09-14 09:35:07 -04:00
Brad King
036f41e45f Merge topic 'CMakeFindPackageMode-sysroot'
8defe3380e CMakeFindPackageMode: Honor CMAKE_SYSROOT to detect lib64 platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6513
2021-09-14 09:33:55 -04:00
Kitware Robot
de1c6c0bc5 CMake Nightly Date Stamp 2021-09-14 00:01:11 -04:00
Silvio Traversaro
161990b921 FindMatlab: Add imported targets 2021-09-13 12:12:05 -04:00
Cristian Adam
bbcdac4e5d PCH: Fix all-language precompile header support in Xcode
Fixes: #22384
2021-09-13 08:12:11 -07:00
Marc Chevrier
202a65759b cmCPackGenerator::GetOption returns cmProp 2021-09-13 09:54:27 -04:00
Robert Maynard
ecaca8c129 GNUInstallDirs now aware of conda lib directory requirements
No matter the OS when installing for conda the library components
need to be placed into the `lib` directory.

To better meet these requirements GNUInstallDirs now checks to see
if it is being asked to install into a conda install location,
and if so use the 'lib' directory instead of the system directory
name.
2021-09-13 08:42:40 -04:00
Marc Chevrier
f9bcde974e cmCTestGenericHandler::GetOption returns cmProp 2021-09-13 11:29:07 +02:00
Kitware Robot
253f31f5ef CMake Nightly Date Stamp 2021-09-13 00:01:21 -04:00
Kitware Robot
b7bcf70761 CMake Nightly Date Stamp 2021-09-12 00:01:13 -04:00