Commit Graph

5137 Commits

Author SHA1 Message Date
Brad King
6968500352 Merge topic 'ios-rpath-linker-flag'
4aed96e230 Apple: Set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG on non-macOS too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5980
2021-04-07 10:06:56 -04:00
Brad King
b962b9cf1d Merge topic 'autouic-source-group-fixes'
e8ddc1e268 Autogen: Fix a bug in setting the UIC source group
7f0151dc91 Help: Document the AUTOUIC_SOURCE_GROUP property
f6c47dd0b4 Help: Fix a typo in the AUTOGEN_SOURCE_GROUP help

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alexey Edelev <alexey.edelev@qt.io>
Merge-request: !5978
2021-04-07 08:45:06 -04:00
Brad King
71e887d678 Merge topic 'add_q_namespace_export_docs'
3538f1c69b Help: Add Q_NAMESPACE_EXPORT to CMAKE_AUTOMOC_MACRO_NAMES default values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5982
2021-04-06 08:27:15 -04:00
Craig Scott
4aed96e230 Apple: Set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG on non-macOS too
Since CMake 3.19, we no longer support macOS SDKs older than 10.5,
which corresponds to Xcode 3. Supporting older Xcode versions for
device platforms is also not realistic. We therefore expect the -rpath
linker option should always be supported now.

When targeting iOS, tvOS or watchOS, the previous disabling of -rpath
support meant that the install_name_dir of shared libraries and
frameworks was unable to use @rpath. This resulted in embedding
absolute paths for their install_name. When they were embedded in an
app bundle, this would cause the app to fail at runtime. By enabling the
-rpath linker option, the default install_name_dir is now @rpath for these platforms, which results in binaries that do work at runtime.

Fixes: #20036
2021-04-06 11:46:56 +10:00
Brad King
792027f70f Merge topic 'doc-imported-soname'
4d6e899578 Help: Document in add_library how to import libraries with SONAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5975
2021-04-05 11:34:24 -04:00
Alexander Neumann
3538f1c69b Help: Add Q_NAMESPACE_EXPORT to CMAKE_AUTOMOC_MACRO_NAMES default values
This was accidentally left out of commit 426941c433 (Autogen: Recognize
the new Q_NAMESPACE_EXPORT macro in AUTOMOC, 2020-02-26,
v3.17.0-rc2~3^2).
2021-04-05 11:25:19 -04:00
Duncan Barber
7f0151dc91 Help: Document the AUTOUIC_SOURCE_GROUP property
This property came into existence with the changes in b4a103bdec because generated files are now being added for UIC.
2021-04-04 12:29:56 +01:00
Duncan Barber
f6c47dd0b4 Help: Fix a typo in the AUTOGEN_SOURCE_GROUP help 2021-04-04 12:24:43 +01:00
Brad King
4d6e899578 Help: Document in add_library how to import libraries with SONAME
When using `add_library` to create an `IMPORTED` library target, there
are a few target properties that are essential to correctly tell CMake
about the library file.  We already cover `IMPORTED_LOCATION` and
`IMPORTED_IMPLIB`.  Add `IMPORTED_SONAME` and `IMPORTED_NO_SONAME`,
which are important in certain cases.

Fixes: #22016
2021-04-02 12:12:28 -04:00
Brad King
f7f6c9f84b Merge topic 'doc-IMPORTED_LOCATION'
08a25e4902 Help: Clarify IMPORTED_LOCATION documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5968
2021-04-02 07:54:37 -04:00
mcc
08a25e4902 Help: Clarify IMPORTED_LOCATION documentation
Prefer the macOS term "application bundle" over just "bundle".
Put both macOS cases together.
2021-04-01 13:40:44 -04:00
Brad King
0fee2adf8c Merge topic 'fujitsu-compiler-4.0-support'
8ef55dec29 Help: Add release notes for Fujitsu compiler support
4c74c86f40 FindBLAS/LAPACK: Add support for the Fujitsu SSL2 library
376c300b25 FindOpenMP: Add support for Fujitsu compilers
9e0a1cf03e FindMPI: Add support for the Fujitsu compiler wrappers
a237450948 Tests: Update for the FujitsuClang compiler
27579e9cf1 FujitsuClang: Add support for the Fujitsu compiler in Clang mode
a55feff69c Tests: Update for the Fujitsu compiler
3c867cff4a Fujitsu: Add support for the Fujitsu compiler in Trad mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Acked-by: Gilles Gouaillardet <gilles@rist.or.jp>
Merge-request: !5954
2021-04-01 10:26:54 -04:00
Brad King
1c399ca88c Merge topic 'cmake-presets-condition-regex'
5ac8b923f5 CMakePresets.json: Add matches condition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5963
2021-04-01 10:26:12 -04:00
Brad King
78ff963f74 Merge topic 'doc-CMAKE_APPLE_SILICON_PROCESSOR' into release-3.20
3f04f69733 Help: CMAKE_APPLE_SILICON_PROCESSOR cannot be set in a toolchain file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5965
2021-04-01 10:23:13 -04:00
Brad King
f4a778c2eb Merge topic 'doc-CMAKE_APPLE_SILICON_PROCESSOR'
3f04f69733 Help: CMAKE_APPLE_SILICON_PROCESSOR cannot be set in a toolchain file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5965
2021-04-01 10:23:13 -04:00
Brad King
3f04f69733 Help: CMAKE_APPLE_SILICON_PROCESSOR cannot be set in a toolchain file
`CMakeDetermineSystem` determines the host system information before
loading the toolchain file.

Issue: #22012
2021-04-01 10:04:05 -04:00
Kyle Edwards
5ac8b923f5 CMakePresets.json: Add matches condition 2021-03-31 10:24:24 -04:00
Chuck Atkins
8ef55dec29 Help: Add release notes for Fujitsu compiler support 2021-03-31 09:16:42 -04:00
Chuck Atkins
27579e9cf1 FujitsuClang: Add support for the Fujitsu compiler in Clang mode
This should be front end compatible with vanilla clang but giving it a
unique identifier allows a project to pass additional options unique to
Fujitsu and outside the scope of a CMake builtin.
2021-03-31 09:14:45 -04:00
Chuck Atkins
3c867cff4a Fujitsu: Add support for the Fujitsu compiler in Trad mode
Co-Author: Yuichiro Utsumi <utsumi.yuichiro@jp.fujitsu.com>
2021-03-30 10:32:53 -04:00
Brad King
d9b8acd238 Merge topic 'ifw-depends-name-version-parsing'
a43783a08d CPackIFW: Fix parsing of name and version in component DEPENDS
f536e6f3fb CPackIFW: Remove redundant variable assignment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5929
2021-03-30 09:56:31 -04:00
Brad King
e6a5799fa0 Merge topic 'multiple-L-labels'
44ad3f0b7f ctest: Support multiple -L and -LE options to mean "AND"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Lars Bilke <larsbilke83@googlemail.com>
Merge-request: !5329
2021-03-30 09:55:42 -04:00
Brad King
94f6ac5b50 Merge topic 'SWIG'
1d8e3a1e77 UseSWIG: Use standard library name conventions for csharp language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5949
2021-03-29 09:36:36 -04:00
Brad King
d212d91f14 Merge topic 'commands-file-permissions' into release-3.20
769ff05483 Help: Clarify permission-related command options
900184616a Cleanup: Fix misspelt name of local C++ variable
635431a0c9 Tests: Check host platform instead of target for running stat
4ceb0ca59e Tests: Remove redundant files for configure_file() tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5945
2021-03-29 09:32:09 -04:00
Brad King
75dd9b6c97 Merge topic 'commands-file-permissions'
769ff05483 Help: Clarify permission-related command options
900184616a Cleanup: Fix misspelt name of local C++ variable
635431a0c9 Tests: Check host platform instead of target for running stat
4ceb0ca59e Tests: Remove redundant files for configure_file() tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5945
2021-03-29 09:32:09 -04:00
Brad King
c0ac5fd16c Merge topic 'FindIntl-builtin'
0850160254 Merge branch 'backport-FindIntl-builtin' into FindIntl-builtin
8e342a6637 FindIntl: Fix detection of intl built in to C library
f56c1571d2 Merge branch 'backport-FindIntl-builtin' into FindIntl-builtin
e34d64c04d FindIntl: Fix detection of intl built in to C library
cb0d1a49e6 FindIntl: Improve documentation formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jeremy Tan <jtanx@outlook.com>
Acked-by: David Adam <zanchey@ucc.gu.uwa.edu.au>
Merge-request: !5948
2021-03-29 09:31:02 -04:00
Adriaan de Groot
44ad3f0b7f ctest: Support multiple -L and -LE options to mean "AND"
Fixes: #21087
2021-03-28 12:04:05 +11:00
Craig Scott
769ff05483 Help: Clarify permission-related command options
The previous docs did not make clear that at most only one of the three
permissions-related options can be given for configure_file() or
file(GENERATE) and that USE_SOURCE_PERMISSIONS is already the
default behavior for these commands.

Use consistent wording to refer to the input and output files for
configure_file().

Add missing "versionadded" directives on some of these keywords.

Use the consistent wording and keyword ordering between the
configure_file(), file(GENERATE) and file(COPY) commands.
2021-03-27 09:54:27 +11:00
Craig Scott
a43783a08d CPackIFW: Fix parsing of name and version in component DEPENDS
The DEPENDS or DEPENDENCIES arguments in a call to
cpack_ifw_configure_component() or cpack_ifw_configure_component_group()
specify a name and optionally a version constraint as a single string.
QtIFW also allows a colon (requires QtIFW 3.1 or later) or a hyphen to
separate the name and version. The version may optionally contain a
leading operator, with = being assumed when no operator is present.

The previous code was not handling : as a separator at all and was
erroneously dropping the version part when no operator was given.
Fix both of those non-conforming behaviors and also warn if trying
to use a hyphen in a name with a QtIFW version that isn't recent enough
to support it.

Fixes: #21697
2021-03-27 07:44:00 +11:00
Marc Chevrier
1d8e3a1e77 UseSWIG: Use standard library name conventions for csharp language
Fixes: #21542
2021-03-26 16:27:18 +01:00
Brad King
0850160254 Merge branch 'backport-FindIntl-builtin' into FindIntl-builtin 2021-03-26 11:17:28 -04:00
Brad King
e34d64c04d FindIntl: Fix detection of intl built in to C library
Since commit c30d06b7e6 (FindIntl: Add imported target, 2020-10-06,
v3.20.0-rc1~687^2) we use `check_symbol_exists` to check whether the
`intl` library is built in to the C library.  On some platforms the
tested symbols are provided as macros so the check passes without
linking any symbol.  Instead, check whether a sample source file both
compiles and links.

Fixes: #21979
2021-03-26 11:01:34 -04:00
friendlyanon
96a7040107 project: Define variables indicating whether project is top level
Define `PROJECT_IS_TOP_LEVEL` and `<PROJECT-NAME>_IS_TOP_LEVEL`.  The
latter is a STATIC cache entry just like other `<PROJECT-NAME>_*`
variables so that it is globally scoped.

Issue: #20310
Fixes: #21961
2021-03-26 09:35:34 -04:00
Brad King
3706e9c97c Help: Convert project() directory variables to a definition list 2021-03-26 09:34:18 -04:00
Brad King
ea4c344453 Merge topic 'doc-custom-output-genex'
2f59b683d3 Help: Custom OUTPUT and BYPRODUCTS genexes cannot refer to targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5939
2021-03-25 10:24:38 -04:00
Brad King
fef28dbc1e Merge topic 'doc-custom-output-genex' into release-3.20
2f59b683d3 Help: Custom OUTPUT and BYPRODUCTS genexes cannot refer to targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5939
2021-03-25 10:24:37 -04:00
Craig Scott
2f59b683d3 Help: Custom OUTPUT and BYPRODUCTS genexes cannot refer to targets
Relates: #21364
2021-03-25 18:04:17 +11:00
Craig Scott
f226a1678f Merge branch 'master' into nsis-branding-trim-position 2021-03-24 16:35:49 +11:00
Craig Scott
a6a5256395 CPack: Validate and document NSIS branding text trim positions 2021-03-24 16:35:29 +11:00
Brad King
0310097377 Merge topic 'vs-custom-flag-table'
608ef8a6fc VS: Add a mostly-undocumented hook to load custom JSON flag tables
8dd8d63665 Tests: Add RunCMake hook to describe test variants

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5895
2021-03-23 11:20:18 -04:00
Brad King
08e3961f80 Merge topic 'doc-xcoff-chrpath'
4a9fb82030 Help: CMAKE_NO_BUILTIN_CHRPATH applies to XCOFF too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5925
2021-03-23 10:34:50 -04:00
Brad King
928f4bda30 Merge topic 'cmake-presets-condition'
8bc5c8961e CMakePresets.json: Add the ability to conditionally disable presets
ce6ea7c927 Refactor: Move some common code into separate file
ebbd475e54 Refactor: Move cmCMakePresetsFile::ReadJSON into a separate file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5919
2021-03-23 10:33:59 -04:00
Brad King
a740e8b311 Merge topic 'cxx-module-extensions'
7c4c4f1406 Treat '.ixx' and '.cppm' files as C++ sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5926
2021-03-23 10:33:03 -04:00
Kyle Edwards
8bc5c8961e CMakePresets.json: Add the ability to conditionally disable presets 2021-03-22 15:04:54 -04:00
Brad King
608ef8a6fc VS: Add a mostly-undocumented hook to load custom JSON flag tables
The names and formats of our VS flag tables are internal implementation
details.  However, some institutions need to maintain support for
non-public VS platforms and toolsets.  Provide a hook that their
projects can use to load custom flag table files.  This helps avoid
distributing a custom CMake package within such institutions.

Document the hook itself, but explicitly specify that the files the
hook loads are not considered a stable interface.
2021-03-22 13:28:27 -04:00
Andrew Gilewsky
7c4c4f1406 Treat '.ixx' and '.cppm' files as C++ sources
These extensions are used by convention for C++ modules and interface
units with MSVC.
2021-03-22 11:58:44 -04:00
Craig Scott
4a9fb82030 Help: CMAKE_NO_BUILTIN_CHRPATH applies to XCOFF too 2021-03-22 11:48:01 -04:00
Ben Boeckel
26cf661b64 Help/guide: use GNUInstallDirs in importing-exporting example
This allows the example to also show how to work on systems with
different libdir settings (e.g., Debian multiarch or Red Hat multilib)
rather than a regular `lib` directory.
2021-03-19 14:23:26 -04:00
Brad King
888c1cb276 Merge topic 'update_cuda_custom_toolkit_location_folder_structure'
c73b847b03 VS: switch to new folder structure while keeping the old one working

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5911
2021-03-19 11:26:20 -04:00
Brad King
8cef887b8a Merge topic 'FindDevIL-targets'
73b27f6ae8 FindDevIL: add imported targets and tests
52d3d1bdc5 FindDevIL: Format documentation of provided variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5891
2021-03-19 11:20:10 -04:00