Commit Graph

26760 Commits

Author SHA1 Message Date
Brad King
79bcf4e165 CMake 3.15.0 2019-07-17 07:54:31 -04:00
Brad King
185e6a1288 Merge branch 'find_package-fix-NO_MODULE' into release-3.15
Merge-request: !3557
2019-07-16 09:12:56 -04:00
Cristian Adam
f2edccea66 find_package: Fix NO_MODULE under CMAKE_FIND_PACKAGE_PREFER_CONFIG
The module mode fallback added by commit 22e65d10c1 (find_package: Fixed
CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallback, 2019-06-13,
v3.15.0-rc2~6^2) should not be used unless the `find_package` call
allows module mode.  Doing so can lead to infinite recursion if a find
module tries to call config mode with `find_package(...  NO_MODULE)`.
Fix the logic and add a test case.

Fixes: #19478
2019-07-16 09:09:24 -04:00
Brad King
1810a61b39 Merge branch 'object-library-sbcs' into release-3.15
Merge-request: !3537
2019-07-12 07:22:01 -04:00
Brad King
54290adcba VS: Fix SBCS support for object libraries
In commit 3a53005f7d (Build object library targets in VS, 2012-03-12,
v2.8.8~29^2~13) we updated the condition for unicode but accidentally
left out the SBCS case support for object libraries.

Fixes: #19469
2019-07-12 07:20:23 -04:00
Brad King
14f69fab54 Merge branch 'fortran-submodule-cray' into release-3.15
Merge-request: !3504
2019-07-11 13:01:02 -04:00
Brad King
86ead0b5a3 CMake 3.15.0-rc4 2019-07-10 12:27:14 -04:00
Brad King
e902a11118 Merge branch 'cuda-imported-library-device-linking' into release-3.15
Merge-request: !3526
2019-07-10 08:57:47 -04:00
Robert Maynard
8895449648 CUDA: Restore device linking to imported static library targets
This ability was lost in commit 81b4d10d8f (CUDA: More exhaustive checks
to determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2)
and needs to be restored to use imported static libraries that have CUDA
symbols.
2019-07-09 11:13:41 -04:00
Brad King
1b52415cd4 Merge branch 'ccmake-clear-aliases' into release-3.15
Merge-request: !3529
2019-07-09 09:35:01 -04:00
Craig Scott
d7673a203c Merge branch 'loglevel-option-case-consistency' into release-3.15
Merge-request: !3521
2019-07-09 22:42:51 +10:00
Brad King
b66d61a8d0 cmGlobalGenerator: Do not persist alias targets across configures
In `ccmake` a single global generator instance may be used for multiple
configure step runs.  The `cmGlobalGenerator::ClearGeneratorMembers`
method is supposed to clear global state that is specific to each
configure run but forgot to clear alias targets.

Fixes: #19457
2019-07-08 14:40:46 -04:00
Willem Deconinck
33de4d27eb Fortran: Support compilers using no module prefix on submodule files
Define `CMAKE_Fortran_SUBMODULE_SEP` with an empty string to mean that
the compiler uses no module prefix on its submodule files.

Also add a default fallback to use the `.mod` extension when
`CMAKE_Fortran_SUBMODULE_EXT` is not set.  This is a better guess than
no extension at all.
2019-07-08 11:28:27 -04:00
Craig Scott
14ed40d670 Help: Use consistent levels for cmake --loglevel and message()
The message() command requires uppercase log levels. Even
though the cmake --loglevel option is not case sensitive, show
the supported values as uppercase to match the message()
docs as closely as possible, since they are related to the same
feature.

Also fixes the wrong string being shown for the warning level
by cmake --help.
2019-07-08 20:11:33 +10:00
Brad King
c56201bdac Merge branch 'qt-5.13' into release-3.15
Merge-request: !3500
2019-07-01 10:23:48 -04:00
Sebastian Holtermann
963ddafeaa QtDialog: Use QPalette::WindowText instead of QPalette::Foreground
`QPalette::Foreground` is deprecated and was replaced by
`QPalette::WindowText` since at least Qt 4.8.

https://doc.qt.io/archives/qt-4.8/qpalette.html#ColorRole-enum

This replaces the `QPalette::Foreground` color role with `QPalette::WindowText`
in `QtDialog/RegexExplorer.cxx` to avoid compiler warnings.
2019-07-01 09:18:24 -04:00
Brad King
7a3d9b08b9 Merge branch 'cuda-no-device-link-when-disabled' into release-3.15
Merge-request: !3491
2019-07-01 08:36:28 -04:00
Robert Maynard
a4d502a5bf CUDA: Do not device link if CUDA is not an enabled language
Checks added in commit 81b4d10d8f (CUDA: More exhaustive checks to
determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2)
assumed that CUDA properties would be set only if CUDA is enabled.

We cannot do a device link step if we do not have the CUDA language
enabled.  This was discovered as some projects unconditionally set CUDA
properties such as `CUDA_RESOLVE_DEVICE_SYMBOLS` even when the CUDA
language has not been enabled.

Fixes: #19432
2019-07-01 08:29:10 -04:00
Alex Turbov
822abf1265 list(POP_FRONT): Fix always assigning first item to output vars
Fixes: #19436
2019-06-30 13:15:29 +03:00
Brad King
753373579e CMake 3.15.0-rc3 2019-06-27 07:35:14 -04:00
Brad King
d9a9150351 Merge branch 'cuda-msvc-runtime-library' into release-3.15
Merge-request: !3485
2019-06-26 08:43:19 -04:00
Brad King
07807a2006 VS: Use AddLanguageFlags to de-duplicate CMAKE_{CUDA,ASM*}_FLAGS lookup
Apply the refactoring from commit 707283981f (VS: Use AddLanguageFlags
to de-duplicate CMAKE_<LANG>_FLAGS* lookup, 2019-04-01,
v3.15.0-rc1~300^2) to the CUDA, ASM_MASM, and ASM_NASM languages too.
In particular, CUDA needs the MSVC runtime library selection logic
in the `AddLanguageFlags` method that is used by other generators.
2019-06-26 08:36:48 -04:00
Brad King
edec1c2615 Merge branch 'export-targets-empty' into release-3.15
Merge-request: !3484
2019-06-26 06:53:40 -04:00
Brad King
2ba5c37b3f export: Restore support for empty TARGETS list
Refactoring in commit f5acecaa6f (cmExportCommand: Port to
cmArgumentParser, 2019-03-23, v3.15.0-rc1~270^2~3) broke the `export`
command's support for specifying `TARGETS` with no entries.  Fix it and
add a test case.

Fixes: #19415
2019-06-25 17:23:34 -04:00
Francisco Facioni
eda4c43879 Ninja: Fix CUDA device linking when using response files
Fix the logic added by commit d91b5a72cd (Ninja: Add support for CUDA
nvcc response files, 2019-05-30, v3.15.0-rc1~8^2) to always use the CUDA
compiler response file flag for response files during device linking.
2019-06-25 14:30:36 -04:00
Brad King
5c7880956f CMake 3.15.0-rc2 2019-06-19 08:33:48 -04:00
Brad King
3d8216330d Merge branch 'find_package_prefer_config_fix' into release-3.15
Merge-request: !3446
2019-06-17 07:59:46 -04:00
Brad King
e815fad43f Merge branch 'capabilities-fileapi' into release-3.15
Merge-request: !3442
2019-06-17 07:56:39 -04:00
Cristian Adam
22e65d10c1 find_package: Fixed CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallback
Fixes: #19361
2019-06-13 23:58:30 +02:00
Craig Scott
95b9d6af80 Merge branch 'cmake-gui-qt-notice' into release-3.15
Merge-request: !3441
2019-06-13 06:58:22 -04:00
Brad King
d63398d32d fileapi: Suppress lint warning about non-move with old jsoncpp 2019-06-12 12:51:32 -04:00
Brad King
c1d6b135ed cmake-gui: Update Qt copyright holder in About dialog
Qt is now copyright "The Qt Company Ltd.".
2019-06-12 12:39:25 -04:00
Brad King
fa00a3b29b Merge branch 'capabilities-fileapi' into release-3.15
Merge-request: !3433
2019-06-12 11:42:44 -04:00
Brad King
c932f49842 cmake: Teach -E capabilities to report supported fileapi requests
Fixes: #19339
2019-06-07 11:08:38 -04:00
Brad King
6696855f72 cmake: Simplify implementation of -E capabilities
The `cmake -E capabilities` command-line tool is implemented only in a
full-featured (non-bootstrap) CMake, and server mode is now always
available in this case.
2019-06-07 11:08:38 -04:00
Brad King
6b815e58ba fileapi: Factor out helper to construct a version object 2019-06-07 11:08:38 -04:00
Sebastian Holtermann
00e6b67e0c Autogen: Fix header detection for paths with symbolic links
When Autogen searches the header for a source files in a target,
the expanded real path is used and not the (possibly symbolic) original path
of the source file.  If the source file path contains symbolic links, then the
correct `cmSourceFile` instance of the header won't be found, but a new one
will be generated.  This way all header source file properties get lost, which
is problematic especially for the `SKIP_AUTOMOC/UIC/GEN` properties.

This patch changes the header detection in Autogen to use the original source
file path instead of the expanded real source file path.

Fixes: #19346
2019-06-06 14:14:19 -04:00
Brad King
9d78ce0293 CMake 3.15.0-rc1 version update 2019-06-04 10:55:08 -04:00
Brad King
842f70c493 Merge topic 'emulator-arguments'
fec441ec17 Teach CROSSCOMPILING_EMULATOR to support arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3402
2019-06-04 08:37:55 -04:00
Brad King
a7d2efc15b Merge topic 'remove_directories'
07a80c7002 cmake: Teach -E remove_directory to remove multiple directories
013bee698e Tests: Add RunCMake.CommandLine make_directory test checks
3eb16de327 Tests: Fix RunCMake.CommandLine make_directory test name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3411
2019-06-04 08:37:04 -04:00
Brad King
36140d864e Merge topic 'ninja-nvcc-rsp'
d91b5a72cd Ninja: Add support for CUDA nvcc response files
5efac09bed Ninja: Compute linker response file flag earlier

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3399
2019-06-04 08:35:47 -04:00
Brad King
65f5df7d08 Merge topic 'executables-are-consoled'
b06f4c8a74 Swift: disallow WIN32_EXECUTABLE properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3410
2019-06-04 08:34:21 -04:00
Brad King
9ba901eb3c Merge topic 'swift-linker-flags'
7456739e24 Swift: avoid `CMAKE_{EXE,SHARED}_LINKER_FLAGS`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3406
2019-06-04 08:33:14 -04:00
Brad King
4b68baa776 Merge topic 'compiler_id_gen_exp_supports_multiple_ids'
162555d7ec Help: Add release notes for updated generator expressions
808b818063 Genex: CompileLang and CompileLangAndId now match against a list of ids
9fd602bfd3 Genex: PlatformId now can match against a list of ids.
ec66af2026 Genex: CompilerId now can match against a list of ids.
2d4787fc4d Genex: Add more extensive support for an unbounded number of parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3405
2019-06-04 08:32:19 -04:00
Brad King
99b9b01c02 Merge topic 'print-correct-line-number'
3475e2728b cmListFileCache: When missing ending ) print starting line instead of last one

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3398
2019-06-04 08:28:09 -04:00
Brad King
e591e22d4c Merge topic 'better_error_message_for_visibility_preset_property'
619416f8a3 The error message for VISIBILITY_PRESET now documents valid options.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3409
2019-06-04 08:25:47 -04:00
Kitware Robot
99496f5776 CMake Nightly Date Stamp 2019-06-04 00:01:06 -04:00
John Freeman
07a80c7002 cmake: Teach -E remove_directory to remove multiple directories
The `make_directory` command can make multiple directories in a single
invocation.  Make `remove_directory` mirror that behavior.
2019-06-03 14:20:00 -04:00
Saleem Abdulrasool
b06f4c8a74 Swift: disallow WIN32_EXECUTABLE properties
Currently, the compiler does not synthesize the correct entry point for
the application and passing the subsystem flag does not work the same
way with the Swift linker language.  Add a check to prevent the
application of `WIN32_EXECUTABLE` to Swift executables until they can be
properly supported.  This will prevent the need for a future policy
change.

Closes: #19325
2019-06-03 14:05:10 -04:00
Francisco Facioni
d91b5a72cd Ninja: Add support for CUDA nvcc response files 2019-06-03 11:53:27 -04:00