summaryrefslogtreecommitdiffstats
path: root/Modules/Internal
Commit message (Collapse)AuthorAgeFilesLines
* CPack/NSIS: Fix installer not waiting for uninstaller to finishMika Fischer2022-10-101-5/+14
| | | | | | | | | | | | | | | | In commit b795c96727 (CPack/NSIS: Fix uninstall command when run from installer, 2022-03-21, v3.23.0-rc5~9^2~1) we incorrectly removed the `_?` parameter when calling the uninstaller during installation. This parameter is however essential for ExecWait to actually wait for the uninstaller to finish. Without it, the uninstaller is started in the background and installer and uninstaller run at the same time. See https://nsis.sourceforge.io/Docs/Chapter3.html#installerusageuninstaller Add back the `_?` parameter to fix this regression. Use another approach to solve the problem motivating the original change. Fixes: #24041
* CPack/NuGet: Restore component packaging on WindowsAlex Turbov2022-05-181-1/+3
| | | | | | | | | The change from `\` to `/` in commit dade75509f (CPack/NuGet: Fix nuspec file generation for UNIX-style OS, 2020-12-21, v3.20.0-rc1~243^2) does not work on Windows. Use `cmake_path` to form a path to an image directory with preinstalled files. Fixes: #22489
* CheckLinkerFlag: Catch linker warning when the checked flag is ignoredBrad King2022-04-211-0/+9
| | | | | | | | | | | | | | | Prior to commit 219dde4ea8 (CheckPIESupported: now uses any SYSROOT settings, 2022-01-16, v3.23.0-rc1~110^2), the checks for `-pie` and `-no_pie` on macOS failed due to executing the compiler directly without any `-isysroot`, producing `ld: library not found for -lc++`. See issues #23053 and #19180. The failing check for `-pie` was a bug because it is supported on macOS, both for `x86_64` and `arm64`, and the commit fixed that check. However, `-no_pie` is not supported on macOS `arm64`. The above commit was only able to detect that due to commit f745e0497e (CheckCompilerFlags: Catch linker warning about ignored flags, 2022-01-03, v3.23.0-rc1~174^2), which we need to revert due to issue #23432. Instead, catch only the linker warning about the exact flag being checked.
* CheckSourceCompiles: Avoid linker warning with -fembed-bitcodeCraig Scott2022-04-091-0/+69
| | | | | | | | | | | | | | | When the Apple linker sees -headerpad_max_install_names and bitcode is enabled with a flag like -fembed-bitcode, it issues a warning and ignores the -headerpad_max_install_names flag. This causes unrelated compiler and linker flag checks to fail for valid flags. In f745e0497e (CheckCompilerFlags: Catch linker warning about ignored flags, 2022-01-03), we started detecting linker warnings, which caused a regression for projects that were setting -fembed-bitcode in their CMAKE_CXX_FLAGS or similar. Prevent that regression by removing the -headerpad_max_install_names linker flag when we know it will warn and be ignored anyway. Fixes: #23390 Issue: #23408
* CheckCompilerFlag: Fix regression in locale environment preservationBrad King2022-04-071-2/+2
| | | | | | | Fix a typo from commit 660e0d80ae (internal/CheckCompilerFlag: rely on common configuration, 2022-01-12, v3.23.0-rc1~124^2~1) that caused locale environment variables to not be restored after they are set during the check.
* Merge topic 'productbuild-rootVolumeOnly' into release-3.23Brad King2022-03-221-6/+5
|\ | | | | | | | | | | | | | | | | 2a8df7e7db productbuild: Don't write rootVolumeOnly attribute if writing domains 95eb8cbcfc CPack: Avoid space / tab mix in productbuild distribution.xml template 28fdc3a536 productbuild: Simplify internal CPACK_PRODUCTBUILD_DOMAINS usage Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7092
| * productbuild: Don't write rootVolumeOnly attribute if writing domainsCraig Scott2022-03-211-2/+1
| | | | | | | | | | | | The rootVolumeOnly attribute is deprecated. Apple docs say to use domains instead. Fixes: #23343
| * CPack: Avoid space / tab mix in productbuild distribution.xml templateCraig Scott2022-03-211-6/+6
| |
* | Merge topic 'cpack-nsis-fix-uninstall-quoting' into release-3.23Brad King2022-03-221-3/+5
|\ \ | |/ |/| | | | | | | | | | | 5d2ceaada8 CPack/NSIS: Add support for unquoted (legacy) uninstaller strings b795c96727 CPack/NSIS: Fix uninstall command when run from installer Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7096
| * CPack/NSIS: Add support for unquoted (legacy) uninstaller stringsMarc Jeanmougin2022-03-211-0/+4
| |
| * CPack/NSIS: Fix uninstall command when run from installerMarc Jeanmougin2022-03-211-3/+1
| | | | | | | | | | | | | | | | The quoting introduced by commit eb3b3bacdc (CPack/NSIS: Fix uninstall on Windows using "Apps & Features", 2021-09-13, v3.22.0-rc1~136^2) created two errors in the uninstaller call: double quoting of the uninstaller executable, and quotes added to the `_?=` argument which does not support them. Simplify the command.
* | CPack/NSIS: Fix description not displayed for componentsJohnny Jazeix2022-01-291-2/+1
| | | | | | | | Fixes: #23151
* | Check{Compiler,Linker}Flag: Add possibility to retrieve check outputsMarc Chevrier2022-01-193-1/+24
| |
* | CheckLinkerFlag: rely now on internal implementationMarc Chevrier2022-01-141-0/+35
| | | | | | | | | | This internal implementation share the configuration with CheckCompilerFlag.
* | internal/CheckCompilerFlag: rely on common configurationMarc Chevrier2022-01-142-64/+79
| | | | | | | | | | Extract configuration step from the CheckCompilerFlag command to enable to share it with future CheckLinkerFlag implementation
* | FreeBSD: fix up the package nameAdriaan de Groot2021-12-211-1/+1
| | | | | | | | | | | | | | | | | | When using libpkg, the output filename is determined by libpkg itself, based on information in the manifest: package name and version, basically. This doesn't necessarily match the name that CMake has determined via CPACK_TEMPORARY_PACKAGE_FILE_NAME or CPACK_PACKAGE_FILE_NAME. So reset the CMake-determined list to match what libpkg will do.
* | CPack: Remove undocumented deprecated OSXX11 generatorBrad King2021-11-052-0/+0
| | | | | | | | | | | | | | | | This CPack generator was never documented, and has been deprecated since commit 2ed00e8ef8 (CPack: Deprecate OSXX11 generator, 2020-01-31, v3.17.0-rc1~45^2). Issue: #20235
* | CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecturemakise-homura2021-10-151-0/+8
|/ | | | | | | | | | | "OS Elbrus" (OSL for short), a reference Linux distro for E2K (Elbrus) platform may have broken dpkg-shlibdeps, that doesn't specify dependencies correctly. In this case, the only reliable way is to explicitly set dependencies of libc6 and lcc-libs, and then warn user to let him know this list may be incomplete. This commit does that. This fix has no effect on correctly working dpkg-shlibdeps, so when this bug will be fixed in new versions of OSL, CPack will work as expected with these distros.
* CPack/NSIS: Fix uninstall on Windows using "Apps & Features"Andras Lasso2021-09-141-1/+1
| | | | | | | | 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
* Merge topic 'host-distro-info'Brad King2021-08-242-0/+79
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b9698f89df cmake_host_system_information: Make it available for all systems 5469c71a82 Refactor: Simplify `GetValue()` function calls 6c92f80f2e cmake_host_system_information: Also set `USED_FALLBACK_SCRIPT` efe139d1b8 cmake_host_system_information: Can run fallback scripts 1e65e4a6e5 cmake_host_system_information: Can read `/etc/os-release` file e808cbb1dd Testing: Convert `cmake_host_system_information` tests into `RunCMake` 9e831284e5 Documentation: Use definition list instead of tables 346f3de005 Refactor: Deduplicate code for `VS_nn_DIR` keys processing ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6410
| * cmake_host_system_information: Can run fallback scriptsAlex Turbov2021-08-202-0/+79
| |
* | Merge topic 'nsis_ignore_license_page'Brad King2021-08-031-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 795e406e3b CPack/NSIS: Add option to not display license page Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6422
| * | CPack/NSIS: Add option to not display license pageJohnny Jazeix2021-08-011-1/+1
| |/ | | | | | | Fixes: #22215
* | Merge topic 'cpack-rpm-pre-semicolon'Brad King2021-08-031-3/+1
|\ \ | |/ |/| | | | | | | | | | | 3cdf23985f CPackRPM: avoid a spurious `;` in the `%pre` and other sections with scripts Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !6415
| * CPackRPM: avoid a spurious `;` in the `%pre` and other sections with scriptsArtur Samarin2021-08-021-3/+1
| | | | | | | | | | | | | | This was accidentally added by commit 34c8a23044 (CPackRPM: add scriplets tags only if scripts exist, 2021-04-01, v3.21.0-rc1~387^2). Fixes: #22501
* | Merge topic 'cpack-deb-lib-multiarch'Brad King2021-07-131-2/+4
|\ \ | | | | | | | | | | | | | | | | | | 68b961d361 CPack/DEB: Add postinst/postrm ldconfig for multi-arch lib dirs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6341
| * | CPack/DEB: Add postinst/postrm ldconfig for multi-arch lib dirsAlex Turbov2021-07-121-2/+4
| | | | | | | | | | | | Fixes: #22411
* | | Merge topic 'cpack-deb-post-ops'Brad King2021-07-131-1/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 805fa791d1 CPack/DEB: Avoid overriding user-provided `postinst` and `postrm` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6335
| * | CPack/DEB: Avoid overriding user-provided `postinst` and `postrm`Alex Turbov2021-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a user provides `CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA` or `CPACK_DEBIAN_<comp>_PACKAGE_CONTROL_EXTRA` variables in `CMakeLists.txt` and the package contains dynamic libraries, the `CPackDeb.cmake` sets `CPACK_ADD_LDCONFIG_CALL` to `1`. Later it analyzes if defaulted `postinst`/`postrm` should be generated trying to check if the user provides any in `CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA` variable. However, the `foreach` loop uses the invalid variable `PACKAGE_CONTROL_EXTRA` instead, so these files gonna be overridden. Fix the variable name. Fixes: #22410
| * | Merge topic 'check_cxx_compiler_flag_no_normal_variable' into release-3.21Brad King2021-07-081-1/+0
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 018d300ca0 Check*CompilerFlag: Do not set result as a normal variable too Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6318
* | | | CPack/RPM: Add option to set %global __requires_exclude_fromLisa Welsch2021-07-091-0/+12
| |_|/ |/| |
* | | Merge topic 'cpack-nsis_update-languange-list'Brad King2021-07-081-0/+13
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 9ce235fe5d CPack/NSIS: Update language list in template Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6310
| * | | CPack/NSIS: Update language list in templateMarc Ruiz2021-07-071-0/+13
| |/ / | | | | | | | | | Fixes: #22382
* | | Merge topic 'check_cxx_compiler_flag_no_normal_variable'Brad King2021-07-081-1/+0
|\ \ \ | |/ / |/| / | |/ | | | | | | 018d300ca0 Check*CompilerFlag: Do not set result as a normal variable too Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6318
| * Check*CompilerFlag: Do not set result as a normal variable tooRobert Maynard2021-07-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | This was previously fixed by commit d46590910c (Check*CompilerFlag: Do not set result as a normal variable too, 2020-09-21, v3.18.3~1^2^2), but was regressed by refactoring in commit 90dead024c (CheckCompilerFlag: unified way to check compiler flags per language, 2020-09-25, v3.19.0-rc1~88^2) due to the changes being developed concurrently. Fix it again, and add a test case. Fixes: #21207
| * Merge topic 'correct_check_compiler_flag_regression' into release-3.19Brad King2020-11-301-3/+3
| |\ | | | | | | | | | | | | | | | | | | | | | 72f6b4bfbe Modules: Rename Internal/CMake{CheckCompiler => TryCompilerOrLinker}Flag Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kumar Gala <kumar.gala@gmail.com> Merge-request: !5540
* | | CPack/RPM: Fix weak dep supportAlex Sweet2021-06-291-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RPM 4.11.3 for el7 contains backported support for the RPM weak dep tags. It only supports querying those tags, but rpmbuild can not make use of them. Since CPack relies on rpmbuild --querytags to check for support, this commit switches to rpm --suggests to check for support of weak dependencies. Fixes: #22350
* | | CheckCompilerFlag: Handle -Werror= for GCC 11Marc Aldorasi2021-06-171-2/+4
| | |
* | | Merge topic 'add_hip_language'Brad King2021-06-094-0/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8514ee9b31 HIP: analyze output of `hipcc` to determine default GPU architecture 20d086f1a2 HIP: All HIP tests now run on CMake's current AMD hardware 2e86e50c2f HIP: Add HIP to all the Check* modules 947dbed0aa HIP: Automatically inject the `hip::device` runtime target b50bfc8913 HIP: Add language to CMake ff0d2858e1 HIP: Extract clang compiler details from hipcc bd844387df ROCMClang: Add the ROCm toolkit derived clang compiler to CMake 590553f322 Compilers: protect use of __has_include ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Zack Galbreath <zack.galbreath@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Acked-by: Axel Huebl <axel.huebl@plasma.ninja> Merge-request: !6121
| * | | HIP: Add HIP to all the Check* modulesRobert Maynard2021-06-073-0/+9
| | | |
| * | | HIP: Add language to CMakeRobert Maynard2021-06-071-0/+14
| | | |
* | | | CPackDeb: output the error message when no description can be madeBen Boeckel2021-06-071-1/+1
|/ / / | | | | | | | | | The `message` command does not support automatic dereferencing.
* | | CPack/NSIS: Fix CPACK_NSIS_UNINSTALL_NAME when not Uninstall.exeMarkus Israelsson2021-04-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | If a previous installation was detected by the NSIS script the uninstaller was not correctly run unless it was still named `Uninstall.exe`. This meant that using `CPACK_NSIS_UNINSTALL_NAME` was simply broken. Fixes: #22103
* | | CPackRPM: add scriplets tags only if scripts existDomen Vrankar2021-04-011-36/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scriplet tags should not be added to generated spec files if scripts weren't provided as those tags are otherwise present in generated rpm file even if the script wasn't provided thereby generating unneeded dependency on shell. Fixes: #21345
* | | Merge topic 'cpackrpm-debuginfo-single-package-install-erase-scripts'Brad King2021-04-011-0/+19
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 31c184ad69 CPackRPM: handle scripts in debuginfo single package mode Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5953
| * | | CPackRPM: handle scripts in debuginfo single package modeDomen Vrankar2021-03-301-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabling CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE while using rpm install or erase scripts resulted in resulted missing scripts for non default components. Fixes: #21974
* | | | CPackRPM: correctly handle empty dir in single package modeDomen Vrankar2021-03-281-2/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Enabling CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE while having an empty directory in non main component resulted in packaging error that the directory does not exist. Fixes: #21951
* | | CPack/NSIS: Add option for setting branding textJohnny Jazeix2021-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | See https://nsis.sourceforge.io/Reference/BrandingText for more information. Fixes: #21479
* | | CPackDeb: dpkg-shlibdeps now supports searching for private shared libsDeniz Bahadir2021-01-221-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | The new CPack variable `CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS` can be set to a list of directories. If `CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or `CPACK_DEBIAN_<component>_PACKAGE_SHLIBDEPS` are set to `ON` these directories will be searched by `dpkg-shlibdeps` in order to find private shared library dependencies of the libraries/executables that shall be packed.
* | | CPack/NuGet: Fix nuspec file generation for UNIX-style OSiorikyu2020-12-221-1/+1
| | | | | | | | | | | | Use forward slashes, which should work on both UNIX and Windows.