Commit Graph

49127 Commits

Author SHA1 Message Date
Joerg Bornemann 2cdaf43d96 Allow generator expressions in the EXCLUDE_FROM_ALL target property
This allows for setting EXCLUDE_FROM_ALL, conditional on the build
configuration. However, only the Ninja Multi-Config generator supports
different property values per config. All other multi-config
generators will yield an error in that situation.

Fixes: #20923
2020-07-21 17:16:26 +02:00
Brad King c7b7547d8d Merge topic 'cmake-E-create_hardlink'
2fad00940d cmake: Add -E create_hardlink

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5015
2020-07-16 10:19:12 -04:00
Brad King 4662c041ea Merge topic 'move_more_queries_to_cmStandardLevelResolver'
56cf509a72 Move AddCompilerRequirementFlag to cmStandardLevelResolver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4989
2020-07-16 10:17:52 -04:00
Brad King ffb888b748 Merge topic 'macOS-sdk-latest'
17e13fb6d0 macOS: Always pick latest SDK if user has not set one explicitly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5012
2020-07-16 10:16:48 -04:00
Kitware Robot 78df084c7a CMake Nightly Date Stamp 2020-07-16 00:01:12 -04:00
Kyle Edwards 63ecf481da Merge topic 'cmnonempty'
eaad8072ee cmNonempty: Convenience inlines to check for non-empty string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5017
2020-07-15 10:53:43 -04:00
Sibi Siddharthan 2fad00940d cmake: Add -E create_hardlink
Fixes: #20950
Signed-off-by: Sibi Siddharthan <sibisiddharthan.github@gmail.com>
2020-07-15 20:22:04 +05:30
Robert Maynard 56cf509a72 Move AddCompilerRequirementFlag to cmStandardLevelResolver
The cmLocalGenerator::AddCompilerRequirementFlag was another
source of truth on what standard levels existed per language,
so fold that into cmStandardLevelResolver to make updating
CMake easier
2020-07-15 09:40:33 -04:00
Brad King 36e00f9c84 Merge branch 'release-3.18' 2020-07-15 08:23:55 -04:00
Brad King d421274e3e CMake 3.18.0 v3.18.0 2020-07-15 07:19:20 -04:00
Brad King 67d809006f Merge topic 'xcode-lib-refs'
3603ca8e86 Xcode: Special treatment for directly linked framework binaries
e637744c51 Xcode: Use "Link Binary With Libraries" to link any library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4975
2020-07-15 06:50:22 -04:00
Brad King e169ec9c23 Merge topic 'compi-ti-improvements'
98fea8205e Compiler/TI: Avoid response file usage for linker
5dec322f33 Compiler/TI: Add compiler flags to linker
763b44e519 Compiler/TI: Avoid usage of ranlib
ef528f10bf Compiler/TI: Sync ASM settings to C/CXX
a548a52230 Compiler/TI: Refactor C/CXX to use a common file
195aa488e3 Compiler/TI: Detect architecture

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5010
2020-07-15 06:48:37 -04:00
Brad King 2d294219a5 Merge topic 'ison-stdstring'
7156911242 cmIsOn: add overload accepting const std::string*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5013
2020-07-15 06:47:46 -04:00
Brad King 4b406ecbf9 Merge branch 'release-3.18' 2020-07-15 06:46:22 -04:00
Brad King a62b4f1d2d Merge topic 'doc-find_package'
cc92a4c228 Help: Fix typo in find_package documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5014
2020-07-15 06:46:22 -04:00
Brad King 6b845e9066 Merge topic 'doc-find_package' into release-3.18
cc92a4c228 Help: Fix typo in find_package documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5014
2020-07-15 06:46:21 -04:00
Kai Koehne cc92a4c228 Help: Fix typo in find_package documentation 2020-07-15 06:44:33 -04:00
Brad King 91cb0db98d Merge branch 'release-3.18' 2020-07-15 06:42:57 -04:00
Brad King d1329ebc3e Merge topic 'nvcc_host'
ff086f066b NVCC: Handle host compiler with spaces in path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5019
2020-07-15 06:42:57 -04:00
Brad King 17f28f821f Merge topic 'nvcc_host' into release-3.18
ff086f066b NVCC: Handle host compiler with spaces in path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5019
2020-07-15 06:42:56 -04:00
Brad King 43bde847ae Merge topic 'doc-CMAKE_CUDA_HOST_COMPILER'
7968d9d442 Help: Document CMAKE_CUDA_HOST_COMPILER as specific to NVIDIA nvcc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5018
2020-07-15 06:30:16 -04:00
Kitware Robot 84c9e14bc2 CMake Nightly Date Stamp 2020-07-15 00:01:43 -04:00
Craig Scott a335999021 Merge topic 'source_file_props_dedup_scopes' into release-3.18
f6969b917d set_property: Deduplicate source file directory scopes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5009
2020-07-14 18:59:39 -04:00
Craig Scott 92e30d576d Merge branch 'release-3.18' 2020-07-14 18:59:39 -04:00
Craig Scott 538668962e Merge topic 'source_file_props_dedup_scopes'
f6969b917d set_property: Deduplicate source file directory scopes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5009
2020-07-14 18:59:39 -04:00
Raul Tambre ff086f066b NVCC: Handle host compiler with spaces in path
Need to surround it with quotes otherwise the different bits are passed as
separate arguments.

Fixes #20954.
2020-07-14 22:27:58 +03:00
Brad King 7968d9d442 Help: Document CMAKE_CUDA_HOST_COMPILER as specific to NVIDIA nvcc
Explain the purpose of this variable and the conditions under which
it can be set.  Point out that it should not be set explicitly without
also setting `CMAKE_CUDA_COMPILER` explicitly.

Issue: #20826
2020-07-14 15:22:54 -04:00
Vitaly Stakhovsky eaad8072ee cmNonempty: Convenience inlines to check for non-empty string 2020-07-14 15:18:59 -04:00
Tor Arne Vestbø 17e13fb6d0 macOS: Always pick latest SDK if user has not set one explicitly
Apple tech note QA1806 recommends always building against the latest
SDK.

Fixes: #20949
2020-07-14 15:43:45 +02:00
Vitaly Stakhovsky 7156911242 cmIsOn: add overload accepting const std::string* 2020-07-14 08:22:24 -04:00
Gusts Kaksis 3603ca8e86 Xcode: Special treatment for directly linked framework binaries
Always refer to framework directory instead of binary directly.
2020-07-14 08:08:45 -04:00
Gusts Kaksis e637744c51 Xcode: Use "Link Binary With Libraries" to link any library
Add external libraries as fileRefs to Xcode project and add those
references to Link Binary With Libraries build phase.  This allows
linking .a, .o, .dylib, .framework and .tbd libraries through "Link
Binary With Libraries" build phase, as opposed to `OTHER_LINKER_FLAGS`.

This improves on the approach added by commit 58c05e1c73 (Xcode: Use
"Link Binary With Libraries" build phase when possible, 2020-06-12).
2020-07-14 08:07:55 -04:00
Brad King 2da778664d Merge topic 'genx-COMPILE_LANGUAGE-support'
6491d2503c Genex $<COMPILE_LANGUAGE>: Extend contexts supported

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5005
2020-07-14 07:22:30 -04:00
Brad King 35928fa7ca Merge topic 'getfeature-prop'
18726ad634 GetFeature(): return cmProp

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5004
2020-07-14 07:20:15 -04:00
Brad King 2455ec9565 Merge topic 'evaluate-cleanup'
43f7b17816 cmGeneratorExpressionInterpreter::Evaluate: remove const char* overload

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5003
2020-07-14 07:19:26 -04:00
Brad King a14c38a186 Merge branch 'release-3.18' 2020-07-14 07:15:12 -04:00
Brad King 007cd3c83e Merge topic 'macos-11-file-GET_RUNTIME_DEPENDENCIES'
d9af90504f Tests: Update file(G_R_D) test to make system library optional
c51400033c file: Update GET_RUNTIME_DEPENDENCIES for macOS 11 dylib cache

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !4998
2020-07-14 07:15:12 -04:00
Brad King 8c6cce27ca Merge topic 'macos-11-file-GET_RUNTIME_DEPENDENCIES' into release-3.18
d9af90504f Tests: Update file(G_R_D) test to make system library optional
c51400033c file: Update GET_RUNTIME_DEPENDENCIES for macOS 11 dylib cache

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !4998
2020-07-14 07:15:11 -04:00
Brad King 0ff06b1c44 Merge branch 'release-3.18' 2020-07-14 07:14:08 -04:00
Brad King 2ef6ad0136 Merge topic 'profiling-case-insensitive-command-names' into release-3.18
7cf2f7d2af cmake: Store lowercase command names in profiling output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5007
2020-07-14 07:14:08 -04:00
Brad King 41ede81341 Merge topic 'profiling-case-insensitive-command-names'
7cf2f7d2af cmake: Store lowercase command names in profiling output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5007
2020-07-14 07:14:08 -04:00
Kitware Robot 8e7922e382 CMake Nightly Date Stamp 2020-07-14 00:01:11 -04:00
Josef Angstenberger 98fea8205e Compiler/TI: Avoid response file usage for linker
The object and library files have to be listed after the `--run-linker`
flag.

But after this flag the `--cmd_file` flag for response files cannot be
used any more.

Putting the whole command line into a response file would work, but
this is not supported by CMake (yet).
2020-07-14 02:41:51 +02:00
Josef Angstenberger 5dec322f33 Compiler/TI: Add compiler flags to linker
By adding the compiler flags via `<FLAGS>` to the linker call,
the linker can decide which default library to use.

CMake replaces `<FLAGS>` by the content of `CMAKE_<LANG>_FLAGS`.
So any relevant flag needs to be defined in this variable, preferably
in a toolchain file.

The compiler flags have to be specified before the `--run_linker`
flag and the linker flags afterwards.

Replaces Merge-request !4890
2020-07-14 02:41:50 +02:00
Josef Angstenberger 763b44e519 Compiler/TI: Avoid usage of ranlib
If a ranlib executable has been found it is used for finishing
an archive.

In case of the TI compiler the archive file gets corrupted.

Fixes: #14876
2020-07-14 02:23:58 +02:00
Josef Angstenberger ef528f10bf Compiler/TI: Sync ASM settings to C/CXX
For assembler the same compiler executable is used as for C/CXX.

So the setting shall be kept in sync.
2020-07-14 02:23:57 +02:00
Josef Angstenberger a548a52230 Compiler/TI: Refactor C/CXX to use a common file 2020-07-14 02:23:57 +02:00
Josef Angstenberger 195aa488e3 Compiler/TI: Detect architecture 2020-07-14 02:23:56 +02:00
Alexandru Croitor f6969b917d set_property: Deduplicate source file directory scopes
A user could specify the same directory scope to set_property()
multiple times, which in conjunction with APPEND would append the
property multiple times.

Make sure to deduplicate scopes across both DIRECTORY and
TARGET_DIRECTORY options, so that a property is only appended
once in such a scenario.

Fixes: #20941
2020-07-13 17:43:17 +02:00
Marc Chevrier 6491d2503c Genex $<COMPILE_LANGUAGE>: Extend contexts supported
When genex $<TARGET_PROPERTY:...> for properties like INCLUDE_DIRECTORIES
is evaluated as part of add_custom_command or add_custom_target,
genex $<COMPILE_LANGUAGE> and $<COMPLIE_LANG_AND_ID> should be supported.

Fixes: #20926
2020-07-13 16:27:19 +02:00