Commit Graph

58224 Commits

Author SHA1 Message Date
Brad King acc6a08641 Merge topic 'FindLAPACK-nvhpc' into release-3.24
28d52a43fc FindLAPACK: Add '-fortranlibs' flag only with NVHPC/PGI compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7452
2022-07-07 09:02:01 -04:00
Brad King 05a5d351f4 Merge branch 'FindLAPACK-nvhpc' into release-3.23
Merge-request: !7452
2022-07-07 09:01:20 -04:00
David Geldreich 5cb625eb2f Xcode: Pass compile definitions to Swift
correct Xcode generator Swift definitions
original code was defining GCC_PREPROCESSOR_DEFINITIONS which is valid only for C languages
add definitions to SWIFT_ACTIVE_COMPILATION_CONDITIONS when Swift language is used in the target
add test in SwiftOnly
for old Xcode (<8.0), append defines to cflags so it ends up in OTHER_SWIFT_FLAGS

Fixes: #23637
2022-07-07 15:00:32 +02:00
Brad King 7cc61ff9e8 Merge branch 'FindLAPACK-nvhpc' into release-3.22
Merge-request: !7452
2022-07-07 09:00:30 -04:00
Kitware Robot f0bb74765a CMake Nightly Date Stamp 2022-07-07 00:01:08 -04:00
makise-homura 28b1c5f9b3 LCC: get rid of excess -Wunused-but-set-variable on release builds
LCC, as of 1.26, has a buggy EDG frontend that emits
-Wunused-but-set-variable warning even if there's something
like "(void)var" when frontend optimizations are enabled (>=-O1).
To get rid of this warning, we disable it in CMake's root
CMakeLists.txt for LCC >= 1.26. Later, when this bug will be fixed
in LCC, this version check will have its top version limit.
2022-07-06 22:43:49 +03:00
Eisuke Kawashima 28d52a43fc FindLAPACK: Add '-fortranlibs' flag only with NVHPC/PGI compilers
Since commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the NVHPC
LAPACK library, 2021-05-05, v3.21.0-rc1~192^2) we try the `-fortranlibs`
option as a dependency of the NVHPC LAPACK.  That flag is specific to
the NVHPC/PGI compilers, so use it conditionally with them.

Without this modification, CMake fails to find LAPACK if

- compiler ID is GNU
- `BLA_STATIC` is `ON`
- `BLA_VENDOR` is not defined or set to `All`

Fixes: #23705, #22878
2022-07-06 13:58:47 -04:00
Duncan Ogilvie a78d10220c ccmake: Fix mangled configuration log with PDCurses on Windows
This fix seems to work on both Windows and Ubuntu (WSL).

Issue: #18053
2022-07-06 12:14:47 -04:00
Kyle Edwards 52164be691 Help: Clarify behavior of install(TARGETS) for DLLs
Fixes: #23695
2022-07-06 12:03:53 -04:00
Marc Chevrier 9480ced81a Makefiles generator: dependencies messages in verbose mode
Fixes: #23689
2022-07-06 17:40:08 +02:00
Ben Boeckel f62c3c3c72 RunCMake/CXXModules: test public modules requiring private modules 2022-07-06 11:38:11 -04:00
Ben Boeckel c5d4dd713f RunCMake/CXXModules: add tests which export BMIs 2022-07-06 11:38:11 -04:00
Ben Boeckel 4d55f1422e RunCMake/CXXModules: test installation of BMIs and interfaces 2022-07-06 11:38:11 -04:00
Ben Boeckel eff45f790d RunCMake/CXXModules: fix example follow-on case names 2022-07-06 11:38:11 -04:00
Ben Boeckel a87c39dad1 RunCMake/CXXModules: output example test output upon failure 2022-07-06 11:38:10 -04:00
Ben Boeckel 727e3db07a RunCMake/CXXModules: append to the test options 2022-07-06 11:38:10 -04:00
Ben Boeckel f899563ae4 cmGlobalNinjaGenerator: verify that private sources stay private
Private source files are not installed or made available, so they must
not be required by public module interface units at all.
2022-07-06 11:37:51 -04:00
Ben Boeckel 9ecd3e771b cmGlobalNinjaGenerator: generate install rules for BMI files 2022-07-06 11:37:50 -04:00
Ben Boeckel 89f39b6539 cmGlobalNinjaGenerator: generate module property files for each target export 2022-07-06 11:33:16 -04:00
Marc Chevrier 913ea78d7a Genex LINK_LIBRARY and LINK_GROUP: check supported properties
Refines check for properties supporting these genex.
Enhance error message.

Fixes: #23699
2022-07-06 16:15:43 +02:00
Ben Boeckel cf847617be cmGlobalNinjaGenerator: verify generated objects against filesets 2022-07-06 10:15:23 -04:00
Ben Boeckel fddd44c897 cmNinjaTargetGenerator: write out BMI install information for the collator 2022-07-06 10:15:23 -04:00
Ben Boeckel 95402a0bd7 cmNinjaTargetGenerator: write out export information for the collator
The collator will use this to know where the target's export information
needs to go so that module properties may be provided.
2022-07-06 10:15:23 -04:00
Ben Boeckel d3e2e61bcd cmNinjaTargetGenerator: write out fileset information for the collator
The collator will use this to generate property settings for the
imported targets in the build and install export sets.
2022-07-06 10:15:23 -04:00
Ben Boeckel ffd40c6b6e Tests/RunCMake/CXXModules: add a json comparison script 2022-07-06 10:15:23 -04:00
Ben Boeckel 48502a3781 cmExperimental: update CXX_MODULE_CMAKE_API UUID
The set of features available has been expanded, so update the UUID.
2022-07-06 10:15:23 -04:00
Ben Boeckel 3526b8c123 cmExport*FileGenerator: support exporting C++ module properties
C++ module properties will be generated at build time, so generate code
that includes the files actually responsible for the information.
2022-07-06 10:15:23 -04:00
Ben Boeckel fe44cbe9e7 exports: support CXX_MODULES_DIRECTORY
This directory will be used to store build-discovered information about
targets such as the modules provided by the files in the relevant
`FILE_SET` types.

A directory is used because basing the name on a `<FILE_NAME>-*.cmake`
pattern makes it end up being globbed in the configuration-dependent
information mechanism. Since old modules and targets may be around,
unconditionally including them may refer to targets that do not actually
exist.
2022-07-06 10:15:23 -04:00
Ben Boeckel 29118091dc install: support CXX_MODULES_BMI installation bits 2022-07-06 10:15:23 -04:00
Ben Boeckel f3cfde394a cmTargetSourcesCommand: allow INTERFACE C++ modules when imported
`PUBLIC` filesets become `INTERFACE` upon installation. Allow
`INTERFACE` scopes for C++ modules when the target is imported.
2022-07-06 10:15:23 -04:00
Ben Boeckel ea3175a4eb cmExportInstallAndroidMKGenerator: combine string literals 2022-07-06 10:15:23 -04:00
Maarten Bent 7d6e01801d FindwxWidgets: Do not reset wxWidgets_LIB_DIR unnecessarily
Only reset it when `WX_ROOT_DIR` had a value.  This change allows to set
both `wxWidgets_LIB_DIR` and `wxWidgets_ROOT_DIR` at the same time when
they where previously `-NOTFOUND`.
2022-07-06 09:59:38 -04:00
Maarten Bent 6dce42b171 FindwxWidgets: Restore win32 find style on MinGW
Since commit 6fac8af9ca (FindwxWidgets: set wxWidgets_FIND_STYLE to unix
on MINGW, 2022-04-11, v3.24.0-rc1~296^2), we only tried unix find style
on MinGW.  However, only some MinGW builds have the `wx-config` needed
for unix find style.  Other builds, including those using the official
wxWidgets makefiles, do not provide `wx-config` and need to use win32
find style.  To accommodate both use cases, first use win32 find style
and if it fails, use unix find style.
2022-07-06 09:58:48 -04:00
TheBrokenRail 733801b57f file(TIMESTAMP): Interpret relative paths w.r.t. the source tree
Fixes: #23610
2022-07-06 09:28:21 -04:00
Brad King ad2e7f3c53 Merge topic 'command-arg-parser-optional'
bff468c988 cmFileCommand: Use cm::optional for keyword argument presence
2586afa31b cmCTest*Command:: Use cm::optional for keyword argument presence
5446b15c5c cmInstallCommand: Use cm::optional for keyword argument presence
298f226cb4 cmExportCommand: Use cm::optional for keyword argument presence
0a4c5164c9 cmArgumentParser: Offer cm::optional bindings to capture keyword presence
f3dbf4b89d cmArgumentParser: Remove unnecessary local names for common types
2873f41bd9 cmArgumentParser: Require callers to consider unparsed arguments
1ee5a4a548 cmArgumentParser: Avoid allocating copies of keyword strings
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7450
2022-07-06 09:22:38 -04:00
Brad King fd0042b68a Merge topic 'freebsd-cpack-update'
2655605261 FreeBSD: follow CPACK_PACKAGE_FILE_NAME, if set
50580af645 FreeBSD (docs): repair errors in documentation of FreeBSD-cpack
1b61cd1597 FreeBSD: explain the pkg_create() call
57e8cd1a81 FreeBSD: drop support for libpkg before 1.17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7447
2022-07-06 09:19:45 -04:00
Brad King 1d3eb4aa34 Merge topic 'clang-assembler-fix'
01d05985fd Tests: Pass -fno-lto to the Assembler test when using clang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7432
2022-07-06 09:18:46 -04:00
Brad King 4ae8018ddf Merge topic 'FindOpenSSL-doc-pkg-config'
42199256af FindOpenSSL: Document use of pkg-config
475880f39b FindOpenSSL: Reformat hints documentation as definition list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7441
2022-07-06 09:17:42 -04:00
Brad King b80ccea686 Merge topic 'enable_language-deduplicate'
e3c8012ccd Help: Document enable_language accepting multiple languages
b4fd385c9b cmMakefile: Dedupe languages when enabling them
66bfe14309 cmMakefile: Refactor parameter and variable names for EnableLanguage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7426
2022-07-06 09:16:34 -04:00
Brad King 2f561f0e24 Merge branch 'release-3.24' 2022-07-06 09:13:06 -04:00
Brad King 18824a9a2d Merge topic 'genex-LINK_LIBRARY-fix-generation'
e8792da04b genex-LINK_LIBRARY: ensure correct generation inside LINK_GROUP genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7443
2022-07-06 09:13:06 -04:00
Brad King 9b051f557e Merge topic 'genex-LINK_LIBRARY-fix-generation' into release-3.24
e8792da04b genex-LINK_LIBRARY: ensure correct generation inside LINK_GROUP genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7443
2022-07-06 09:13:05 -04:00
Brad King cf6225af3d Merge topic 'vs-test-arm64'
190e3b93cd Tests: Exclude win/arm64 tests with CMAKE_VS_PLATFORM_NAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7449
2022-07-06 08:55:09 -04:00
Brad King 0b05adebcc Merge topic 'lcc-additional-implicit-link-dirs'
0eea1e8563 LCC: for OpenMP, collectly determine implicit link dirs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7436
2022-07-06 08:53:47 -04:00
Brad King db256a5154 Merge topic 'pkgconfig-when-spaces-in-path'
bcdac84961 Tests/FindPkgConfig: correctly handle broken pkg-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7435
2022-07-06 08:51:58 -04:00
Kitware Robot d7ba536841 CMake Nightly Date Stamp 2022-07-06 00:01:09 -04:00
Brad King fc30196e76 Merge branch 'release-3.24' 2022-07-05 17:35:06 -04:00
Brad King 016bc9715c Merge topic 'FindwxWidgets-more-versions'
2a19231d61 FindwxWidgets: Support more wxWidgets versions, including 3.2
853449429d FindwxWidgets: Use version number from header for library names
ed51e0bb75 FindwxWidgets: Move extracting version number to a macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7448
2022-07-05 17:35:06 -04:00
Brad King 4a8db1783c Merge topic 'FindwxWidgets-more-versions' into release-3.24
2a19231d61 FindwxWidgets: Support more wxWidgets versions, including 3.2
853449429d FindwxWidgets: Use version number from header for library names
ed51e0bb75 FindwxWidgets: Move extracting version number to a macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7448
2022-07-05 17:35:05 -04:00
Brad King 1d1b3ec199 Merge branch 'release-3.24' 2022-07-05 17:33:55 -04:00