Commit Graph

2394 Commits

Author SHA1 Message Date
Brad King
a962249f7c Merge topic 'release-3.20-cleanups'
7c147b21c7 Help: Add Ninja Multi-Config and make generator types into links
5039ca1126 Help: Convert output directory variable mentions to cross-references
1a7e51b9d5 Help: Cleanup wording and links in 3.20 release notes
d16830324f CPackIFW: Improve warning and docs for show page list option
7ed7db88a4 CPackIFW: Fix cppcheck warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5810
2021-02-15 10:32:20 -05:00
Brad King
58a2f5d029 Merge topic 'FindGDAL-improvements'
55e493928b FindGDAL: add release note
f4b53fadda FindGDAL: support finding additional GDAL library names
1b2774450d FindGDAL: add support for skipping gdal-config
1621cb3eb1 FindGDAL: add documentation to cache variables
3caaff4c08 FindGDAL: conditionally set the output variables
3f6a4f2062 FindGDAL: mark cache variables as advanced
02e906305d FindGDAL: use execute_process instead of exec_program
140344da14 FindGDAL: fix some indentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5799
2021-02-15 10:21:18 -05:00
Brad King
65b4ae2394 Merge topic 'relnote-IOS_INSTALL_COMBINED-xcode12'
cd80f3905f Help: Add 3.19.5 release notes for Xcode iOS-related changes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5811
2021-02-15 10:12:48 -05:00
Craig Scott
cd80f3905f Help: Add 3.19.5 release notes for Xcode iOS-related changes 2021-02-14 18:28:56 +11:00
Craig Scott
1a7e51b9d5 Help: Cleanup wording and links in 3.20 release notes 2021-02-14 15:37:55 +11:00
Ben Boeckel
55e493928b FindGDAL: add release note 2021-02-12 07:43:23 -05:00
Brad King
c9eebb75ac Merge topic 'iar-stm8-compiler-support'
8ee933900e IAR: add support for the STM8 compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5796
2021-02-12 06:52:27 -05:00
Felipe Torrezan
8ee933900e IAR: add support for the STM8 compiler 2021-02-12 06:51:05 -05:00
Brad King
693f4c70ff Begin post-3.20 development 2021-02-10 08:29:46 -05:00
Brad King
fc901bc91d Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2021-02-10 08:25:37 -05:00
Brad King
704878e3ad Help: Organize and revise 3.20 release notes
Add section headers similar to the 3.19 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2021-02-10 08:17:45 -05:00
Brad King
4911636728 Help: Consolidate 3.20 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.20.rst`.
2021-02-10 08:16:42 -05:00
John Melas
90467747a1 FindBoost: Add option to suppress new boost version dependency warning
Add option `Boost_NO_WARN_NEW_VERSIONS` to suppress new boost version
dependency warning.

Fixes: #21786
2021-02-10 08:02:24 -05:00
Brad King
40f4147224 Merge topic 'object-lib-multiarch'
4d46b1401f add_library(): Allow imported object libraries with multi-arch
1a915e8953 Tests: TargetObjects does not need any languages enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5771
2021-02-09 08:22:06 -05:00
Brad King
18fa819e26 Merge topic '21479-branding-name-cpack-nsis'
0aabeb0c30 CPack/NSIS: Add option for setting branding text

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5784
2021-02-09 08:20:17 -05:00
Brad King
9cddaad940 AddFileDependencies: Deprecate this unnecessary module
Document that one can call `set_property` directly instead.
2021-02-08 12:44:37 -05:00
Johnny Jazeix
0aabeb0c30 CPack/NSIS: Add option for setting branding text
See https://nsis.sourceforge.io/Reference/BrandingText
for more information.

Fixes: #21479
2021-02-07 16:10:57 +01:00
Craig Scott
4d46b1401f add_library(): Allow imported object libraries with multi-arch
Fixes: #21276
2021-02-06 11:34:28 +11:00
Brad King
acb33d0904 Merge topic 'fetchcontent-performance'
17e5516e60 FetchContent: Invoke steps directly and avoid a separate sub-build
4f3d1abbb4 ExternalProject: Refactor pre-configure steps to support no-target uses
23aab9ecce ExternalProject: Avoid scanning docs for keywords, use include_guard()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Acked-by: Michael Hirsch, Ph.D. <michael@scivision.dev>
Acked-by: Lars Melchior <lars.melchior@gmail.com>
Merge-request: !5749
2021-02-05 07:01:05 -05:00
Brad King
2c2eb777f4 Merge topic 'build-test-presets'
9b5289ebd8 Help: Add release note for build and test presets
c8a5cd6871 Tests: Update RunCMake/CMakePresets --list-presets
69a5cf23a2 Tests: Update RunCMake/CommandLine BuildDir
b500935b94 Tests: Add test preset tests
74a86566f0 Tests: Add build preset tests
56751c83aa Tests: Factor out RunCMake.CMakePresets schema validation
676ecf0d37 cmake-presets: Add build and test presets
4f4f2028b8 Help: Add documentation for buildPresets and testPresets
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5681
2021-02-05 06:57:28 -05:00
Craig Scott
17e5516e60 FetchContent: Invoke steps directly and avoid a separate sub-build
The cost of setting up and executing a separate sub-build to do the
download, update and patch steps required for FetchContent population
can be significant with some platforms and CMake generators. Avoid the
sub-build altogether by invoking the step scripts directly.

Previously, if no generator was set (e.g. population was being done in
script mode), a generator needed to be available on the default PATH.
Since we no longer use a sub-build, this restriction is also now gone.

Fixes: #21703
2021-02-05 07:33:38 +11:00
Craig Scott
4f3d1abbb4 ExternalProject: Refactor pre-configure steps to support no-target uses
The mkdir, download, update and patch steps are used by
FetchContent during the configure phase of the main build. Because
these steps need a target, this has so far required a sub-build to be
set up. The changes here factor out the preparation of the scripts
from the creation of the targets, allowing future work to leverage these
steps without a sub-build (see #21703).

As part of the refactoring, some rationalisation of the stamp files,
repository info files and script names was done to make things more
consistent between download methods and step implementations.
Every download method now records its own specific repository info
in a file and that file is a dependency of the download step. The source
directory is also written to that file, so if the SOURCE_DIR changes, the
download will be retriggered (the existing implementation fails in this
scenario). Each download method now also has just one driver script
that implements the whole step (it may pull in other scripts to do its
task though). The patch step gained support for USES_TERMINAL as
a result of generalising the implementation for custom commands.

Fixes: #21748
2021-02-05 07:33:38 +11:00
Brad King
9b5289ebd8 Help: Add release note for build and test presets 2021-02-04 11:39:55 -05:00
Brad King
67cb006732 Merge topic 'aix-xcoff-edit'
e017ba046c AIX: Enable XCOFF editing to replace RPATH on installation
56fc4a325f cmXCOFF: Add helper to parse and edit the XCOFF binary format
ddaaee907d CMakeDetermineCompilerId: Recognize XCOFF executable format
69e1d95a8a Tests: Add sample XCOFF binaries
f79d991dfd Tests: Convert CMake.ELF to RunCMake.file-RPATH ELF case
d8f3e68ca9 Ninja Multi-Config: Enable relink diagnostic message
cdcfe3eb99 Rename CMAKE_USE_MACH_PARSER to CMake_USE_MACH_PARSER
b6071c93f5 Rename CMAKE_USE_ELF_PARSER to CMake_USE_ELF_PARSER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5769
2021-02-04 08:29:57 -05:00
Brad King
4cd23c5e0d Merge topic 'issue-17634'
5af38a11ce try_run: Allow to set working directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5757
2021-02-04 08:22:19 -05:00
Brad King
e017ba046c AIX: Enable XCOFF editing to replace RPATH on installation
Avoid relinking before installation.
2021-02-03 12:26:58 -05:00
Brad King
c28dbd7e30 Merge topic 'intel-llvm-compilers'
a552487843 Help: Clarify release note for IntelLLVM compiler support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5758
2021-02-03 11:11:25 -05:00
Asit Dhal
5af38a11ce try_run: Allow to set working directory
Fixes: #17634
2021-02-03 08:42:05 +01:00
Brad King
a552487843 Help: Clarify release note for IntelLLVM compiler support
Update the release note added by commit b9f945eccb (Help: Add release
note for IntelLLVM compiler support, 2021-01-29) to distinguish between
the Intel oneAPI NextGen and Classic compilers.

Co-Author: William R. Dieter <william.r.dieter@intel.com>
Suggested-by: Michael Hirsch, Ph.D <michael@scivision.dev>
2021-02-02 13:30:09 -05:00
Brad King
8387aa20f2 Merge topic 'issue-19198'
255df8622b file(GENERATE): Support new line style

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !5649
2021-02-02 08:53:07 -05:00
Deniz Bahadir
bc00cf9300 FindOpenSSL: Add support for version-range 2021-02-01 12:27:05 +01:00
Asit Dhal
255df8622b file(GENERATE): Support new line style
Fixes: #19198
2021-02-01 01:38:19 +01:00
Brad King
b9f945eccb Help: Add release note for IntelLLVM compiler support
This was accidentally left out from commit a90d2a9eed (IntelLLVM: Add
support for Intel LLVM-based compilers, 2020-11-02).

Issue: #21561
2021-01-29 08:07:16 -05:00
Tin Huynh
83ea49818f NVHPC: Add support for NVIDIA HPC SDK compilers based on PGI
Identify the compilers as `NVHPC` to distinguish it from the older PGI
compilers from which they evolved, and from other `NVIDIA` compilers.

Fixes: #20887
2021-01-27 09:53:02 -05:00
Brad King
a0e44fc16b Merge topic 'rel-package-names'
2186f8988f Utilities/Release: Rename Windows packages to 'windows-$arch'
dc9340dbc4 Utilities/Release: Rename Linux packages to 'linux-$arch'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5738
2021-01-27 09:07:09 -05:00
Brad King
f39fb0b90d Merge topic 'outdir-target-genex'
64c3857780 OUTPUT_DIRECTORY: Support tgt genex in output artifact vars

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5690
2021-01-27 09:04:29 -05:00
Asit Dhal
64c3857780 OUTPUT_DIRECTORY: Support tgt genex in output artifact vars
Following variables now support target dependent generator expressions.
- CMAKE_RUNTIME_OUTPUT_DIRECTORY
- CMAKE_LIBRARY_OUTPUT_DIRECTORY
- CMAKE_ARCHIVE_OUTPUT_DIRECTORY

Fixes: #18055
2021-01-26 12:13:15 -05:00
Rodolfo Lima
bdf30bdad8 CPack: add CPACK_THREADS variable to control compression threads
This allows setting how many threads the compressor will use.
Currently only implemented for XZ when using system's lzma library.

Fixes: #21715
2021-01-26 16:23:37 +01:00
Brad King
2186f8988f Utilities/Release: Rename Windows packages to 'windows-$arch' 2021-01-26 09:11:14 -05:00
Brad King
dc9340dbc4 Utilities/Release: Rename Linux packages to 'linux-$arch' 2021-01-25 13:53:40 -05:00
Brad King
adaa393115 Merge topic 'cpack-deb-shlibdeps-private-search-dirs'
d586a4ad60 CPackDeb: dpkg-shlibdeps now supports searching for private shared libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5718
2021-01-25 11:39:39 -05:00
Deniz Bahadir
d586a4ad60 CPackDeb: dpkg-shlibdeps now supports searching for private shared libs
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.
2021-01-22 08:33:01 -05:00
Marc Chevrier
89b01b04fa UseSWIG: use swig tool to generate dependencies
add_custom_command() supports option DEPFILE when generator is
Makefiles or Ninja. And swig tool is able to generate a dependencies
file which is compatible with DEPFILE option.
2021-01-21 19:29:04 +01:00
Brad King
fddbb7db4b Merge topic 'vs-sdk-selection'
1e67482daf VS: Generalize Win10 max SDK version to all VS generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5721
2021-01-21 09:18:31 -05:00
jonathan molinatto
1e67482daf VS: Generalize Win10 max SDK version to all VS generators
The `CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM` variable added in
CMake 3.19 by commit ba497111f6 (VS: Add option for custom Win10 SDK
version maximum, 2020-08-20, v3.19.0-rc1~262^2) was documented as if it
worked for all generators but implemented only to override CMake's
builtin default for the VS 2015 max SDK version.  Generalize the
variable to set a custom max SDK version for later VS versions too.

Fixes: #21720
2021-01-20 14:46:34 -05:00
Brad King
66b33c8cd4 Help: Add release note for fileapi "toolchains" object
This release note was accidentally left out of commit f72bb2ee0d (Help:
Add documentation for "toolchains" object kind, 2021-01-07).
2021-01-15 13:29:09 -05:00
Brad King
967d1f7dde Merge topic 'install-FILES-rename-genex'
ac3ccc393e install(files): Support genex in rename option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5694
2021-01-14 13:00:16 -05:00
Brad King
438ed46c13 Merge topic 'ExternalProject-configure-handled-by-build'
7155e358c9 ExternalProject: Add CONFIGURE_HANDLED_BY_BUILD option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5626
2021-01-13 09:21:47 -05:00
Asit Dhal
ac3ccc393e install(files): Support genex in rename option
Fixes: #19903
2021-01-13 11:27:56 +01:00
Daan De Meyer
7155e358c9 ExternalProject: Add CONFIGURE_HANDLED_BY_BUILD option
Fixes #21592.
2021-01-12 08:50:02 +01:00