| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| | |
6a3922be Add new target-property `IMPORTED_GLOBAL`.
854e482a cmTarget: Simplified and fixed a string-comparision.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1254
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The purpose of this new `IMPORTED_GLOBAL` target-property is to prolong
the lifetime and scope of `IMPORTED` targets in such a way as if they
had been created with the keyword `GLOBAL` in the first place.
* It can only be set to `TRUE`. That means, a local `IMPORTED` target
can be promoted to global scope but a global `IMPORTED` target cannot
be degraded to local scope!
* Setting it to `TRUE` only succeeds if done from within the same
directory in which the `IMPORTED` target was created in the first
place.
Fixes #17256.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some are user facing.
Found using
codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt`
whereby the whitelist contained:
ans
dum
helpfull
emmited
emmitted
buil
iff
isnt
nto
ot
pathes
substract
te
todays
upto
whitespaces
|
|/
|
|
|
|
| |
The OLD behaviors of all policies are deprecated, but only by
documentation. Add an explicit deprecation diagnostic for some policies
to encourage projects to port away from setting policies to OLD.
|
|\
| |
| |
| |
| |
| |
| | |
e4e9ce7c Xcode: Add option to generate only topmost project file
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1395
|
| |
| |
| |
| | |
Closes #16780
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ae5f4069 CMP0037: Allow test and package targets when features are not enabled
409527a0 CMP0037: De-duplicate check and message generation
a2611d81 Tests: Add RunCMake.CMP0037 case for WARN on reserved targets
103501c4 Tests: Do not enable languages in all cases of RunCMake.CMP0037
2d0b3e6e cmGlobalGenerator: Refactor test and package target conditions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !1417
|
| |
| |
| |
| |
| |
| |
| | |
When CMake will not generate a test, package, or package_source target,
allow projects to create their own targets with these names.
Fixes: #16062
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
5784ab8f CPack/Deb: handle shlibs file generation when SOVERSION set to 0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1423
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Setting CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS did not
auto generate shlibs control file when .so version
of the library was set to 0.
Fixes #17318
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
9ce00cae CPack/RPM: DIST-MONOLITHIC-type subtest fix
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1424
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Test was failing in case dist macro contained
a + symbol which is valid but must be escaped
for using the string as a regex.
Fixes #17328
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
197b4e18 Merge branch 'backport-fix-co-compile' into fix-co-compile
992962c7 cmcmd: Restore support for running multiple lint tools
a5197eea cmcmd: Convert lint handlers to file-static functions
1c075ffd cmcmd: Rename loop iteration variable for clarity
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1418
|
| |\ \ \
| | |_|/
| |/| |
| | | |
| | | | |
Resolve a logical conflict by replacing `cmArray{Begin,End}` from
the their side with `cm::{cbegin,cend}` from our side.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Refactoring in commit v3.10.0-rc1~115^2 (Clean up iwyu code to not be
one big if statement, 2017-08-28) incorrectly changed the logic to run
only one lint tool at a time. Restore support for running all tools
specified on the command-line.
|
| | |\ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1375
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
fb88d2b5 Help: Add notes for topic 'generalize-importedtargets-behavior'
494906a8 Add support for IMPORTED GLOBAL targets to be aliased
fe4b25ec Teach target_* commands to set INTERFACE properties of IMPORTED targets
e40fd9fd cmTargetPropCommandBase: Fix typo in error message
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Henry Schreiner <henryschreineriii@gmail.com>
Merge-request: !1264
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Issue: #15569
Issue: #17197
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Now, several `INTERFACE_*` properties can be set on `IMPORTED` targets,
not only via `set_property` and `set_target_properties` but also via
`target_compile_definitions`, `target_compile_features`,
`target_compile_options`, `target_include_directories`, `target_sources`
and `target_link_libraries`.
Fixes: #15689
Issue: #17197
|
| |/ / / / |
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
a1b1f1a2 CMP0040: Clarify policy warning to match documentation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1415
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In commit v3.5.0-rc1~8^2~2 (Help: Clarify policy `CMP0040`
documentation, 2016-01-28) the documentation was clarified to indicate
that the target must be defined in the current directory. Do the same
for the text of the policy warning itself.
Fixes: #17399
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4e7f6738 Defer check for sources within a target until generation.
6e4e7c65 Tests: Exclude bad RunCMake.add_executable case on multi-arch Xcode
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1242
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The `add_library` and `add_executable` commands can now be called with
no source-files and won't generate a warning or error message, as long
as source-files will be added later via the `target_sources` command.
If during the generation step still no sources are associated with
targets created by such calls a useful error message will be generated
and generation fails.
Targets of type `INTERFACE_LIBRARY`, `UTILITY` or `GLOBAL_TARGET` are
excluded from this check because we do not need sources for these target
types during generation.
Fixes: #16872
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The `NoSourcesButLinkObjects` case would not be expected to work under
Xcode with multiple architectures even if the target objects were listed
directly as sources. Exclude it. We already exclude similar cases in
`RunCMake.add_library`.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Visual Studio 2017 supports multiple instances installed on a single
machine. We use the Visual Studio Installer tool to enumerate instances
and select one. Once we select an instance for a given build tree, save
the result in `CMAKE_GENERATOR_INSTANCE` so we can re-configure the tree
with the same instance on future re-runs of CMake.
Fixes: #17268
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add cache entry `CMAKE_GENERATOR_INSTANCE` to hold the instance location
persistently across re-runs of CMake in a given build tree.
For now we reject the option by default if explicitly set. It will be
implemented on a per-generator basis. Pass the setting into try_compile
project generation. Add a RunCMake.GeneratorInstance test to cover
basic use cases for the option. Verify that `CMAKE_GENERATOR_INSTANCE`
is empty by default, and that it is rejected when the generator does not
support a user setting.
Issue: #17268
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
d45aa38a Add dev notes for topic 'curl_netrc_options'
60c272b6 ExternalProject: Add support for NETRC and NETRC_FILE suboption
754e39dd Add testcases for file(DOWNLOAD|UPLOAD) netrc options
5d67e902 file(DOWNLOAD|UPLOAD): Add 'NETRC' and 'NETRC_FILE' suboption
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
Merge-request: !1376
|
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Rather than injecting `CMakeLists.txt` files into each target's
`SOURCES`, teach the generators to add them during generation using
dedicated code. This avoids mutating the original targets, and avoids
polluting `$<TARGET_PROPERTY:foo,SOURCES>` with generator-specific
content.
This also avoids listing the `CMakeLists.txt` sources in the results of
`CMAKE_DEBUG_TARGET_PROPERTIES==SOURCES` so the `RunCMake.TargetSources`
test no longer needs a separate case for IDEs.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
1e56634f FetchContent: Add tests
60e74d2f FetchContent: New module for populating content at configure time
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1306
|
| |/ / / |
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
c5db2f9a CPack/Deb: fix for regex passing even if invalid characters are present
529729d6 CPack/Deb: CPACK_DEBIAN_PACKAGE_VERSION regex testing exception
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1375
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
CPACK_DEBIAN_PACKAGE_VERSION variable could in the past also
contain release and epoch version so regex test should expect
the entire versioning if both CPACK_DEBIAN_PACKAGE_RELEASE
and CPACK_DEBIAN_PACKAGE_EPOCH are not set.
Also since the checks were not performed in the past the regex
test of CPACK_DEBIAN_PACKAGE_VERSION variable content should
only report author warnings instead of errors in case of the
test fail.
Fixes: #17339
|
| | |
| | |
| | |
| | |
| | | |
These can show up in Release builds of CMake because some tests still
build Debug.
|
| |/
|/|
| |
| | |
Avoid one giant line.
|
| | |
|
|/
|
|
| |
This reverts commit d210b2813072c874ee13fcc941e41aacacf09874.
|
| |
|
|
|
|
|
| |
Xcode 9 comes with the iPhoneOS 11.0 SDK that does not support the
`armv7` architecture. For this SDK version and newer, use `arm64`.
|
|
|
|
|
|
| |
The archiver output in the case of universal binaries has changed
slightly. Update our expected output to match. While at it, drop
unnecessary leading and trailing `.*`.
|
|
|
|
|
|
| |
Add a test for this case to verify the messages. This test will also be
valuable to cover this code path in which we've had several regressions
recently.
|
|\
| |
| |
| |
| |
| |
| | |
1a7b8c83 GetPrerequisites: Restore behavior on missing binary of not clearing list
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1312
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Prior to commit v3.4.0-rc1~264^2~1 (GetPrerequisites: Add error checks
for execute_process() calls, 2015-07-29), `get_prerequisites` would
simply warn on a missing binary and not update the result list at all.
That commit accidentally made the case an error. This was fixed by
commit v3.8.0-rc1~110^2 (GetPrerequisites: Do not fail on files we
cannot find, 2017-01-10), but the fix also cleared the result list.
Clearing the list is incorrect because it is supposed to be able to
accumulate results over multiple calls.
Remove the list clearing behavior to restore the original behavior on a
missing binary.
Fixes: #17306
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
a7005c98 Tests: Add case for legacy source file property behavior
1604716d Revert "Performance: Improve efficiency of source file lookup in cmMakefile"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1308
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The change in commit 3b95ab5693 (Performance: Improve efficiency of
source file lookup in cmMakefile, 2017-08-17) broke some legacy behavior
of source file properties in which the order sources are first resolved
with extensions affects how setting properties without extensions works.
It has been reverted for now, but the discovery was made after merging
because the broken case was not covered by our test suite.
Add a test case representing the legacy behavior.
Issue: #15208
|
|\ \
| |/
|/|
| |
| |
| |
| | |
a5dd1599 Tests: Fix RunCMake.try_compile CxxStandard case on MSVC
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1302
|
| |
| |
| |
| |
| |
| |
| |
| | |
In post-3.9 development we've taught CMake to understand C++ language
standards for MSVC. The RunCMake.try_compile test needs to know whether
to expect support or not. Previously we depended on the host CMake
version to know this, but CMake 3.9 and below do not. Add special logic
to the test to account for this.
|