summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add INTERFACE libraries to generated buildsystem if they have SOURCESBrad King2020-08-0748-94/+303
| | | | | | | | | | | | | | | | | | | | | | | | INTERFACE libraries were created with the intention of collecting usage requirements for use by other targets via `target_link_libraries`. Therefore they were not allowed to have SOURCES and were not included in the generated buildsystem. In practice, this has become limiting: * Header-only libraries do have sources, they just do not compile. Developers should be able to edit those sources (the header files) in their IDE. * Header-only libraries may need to generate some of their header files via custom commands. Some projects work around these limitations by pairing each interface library with an `add_custom_target` that makes the header files and custom commands appear in the generated buildsystem and in IDEs. Lift such limitations by allowing INTERFACE libraries to have SOURCES. For those with sources, add a corresponding build target to the generated buildsystem. Fixes: #19145
* Remove filtering of allowed INTERFACE library propertiesBrad King2020-08-0311-163/+6
| | | | | | | | | | | Previously we disallowed use of arbitrary properties on INTERFACE libraries. The goal was to future-proof projects using them by not allowing properties to be set that may affect their future inclusion in the generated buildsystem. In order to prepare to actually include INTERFACE libraries in the generated buildsystem, drop the filter and allow arbitrary properties to be set. Issue: #19145
* Makefiles: Use IsInBuildSystem in global generator target type checksBrad King2020-08-031-21/+9
| | | | | | Follow up from commit 422d9a0ab2 (Factor out generator checks for filtering out interface libraries, 2020-07-20) with more uses of `IsInBuildSystem`.
* Merge topic 'doc-add_library-updates'Craig Scott2020-08-012-74/+82
|\ | | | | | | | | | | | | | | | | | | ee5b58f491 Help: State in add_library that INTERFACE libraries have no build targets 99b1e85f07 Help: Consolidate add_library documentation on IMPORTED libraries 716e76be3e Help: Re-order add_library sections 1b0adeea81 Help: Clarify target_sources PRIVATE/PUBLIC/INTERFACE scopes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5086
| * Help: State in add_library that INTERFACE libraries have no build targetsBrad King2020-07-311-5/+9
| |
| * Help: Consolidate add_library documentation on IMPORTED librariesBrad King2020-07-311-32/+34
| | | | | | | | | | | | | | | | | | Move documentation on IMPORTED INTERFACE libraries to the main section on Imported Libraries. Revise the section to clarify the different kinds of imported libraries that can be created and what properties they need. Issue: #18975
| * Help: Re-order add_library sectionsBrad King2020-07-311-61/+61
| | | | | | | | | | Put all the sections that create in-project targets first, and move Imported Libraries and Alias Libraries at the end.
| * Help: Clarify target_sources PRIVATE/PUBLIC/INTERFACE scopesBrad King2020-07-311-6/+8
| |
* | CMake Nightly Date StampKitware Robot2020-08-011-1/+1
| |
* | CMake Nightly Date StampKitware Robot2020-07-311-1/+1
| |
* | Merge branch 'release-3.18'Brad King2020-07-300-0/+0
|\ \
| * | CMake 3.18.1v3.18.1Brad King2020-07-301-1/+1
| | |
* | | Merge branch 'release-3.18'Brad King2020-07-300-0/+0
|\ \ \ | |/ /
| * | Merge branch 'release-3.17' into release-3.18Brad King2020-07-300-0/+0
| |\ \
* | \ \ Merge branch 'release-3.17'Brad King2020-07-300-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | CMake 3.17.4v3.17.4Brad King2020-07-301-1/+1
| | | |
* | | | Merge branch 'release-3.18'Brad King2020-07-300-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge topic 'clang-msvc-cxx-std' into release-3.18Brad King2020-07-301-5/+5
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 21e497fe63 Clang: Fix fallback compile features when simulating old MSVC versions Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !5082
* | \ \ \ Merge topic 'clang-msvc-cxx-std'Brad King2020-07-301-5/+5
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 21e497fe63 Clang: Fix fallback compile features when simulating old MSVC versions Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !5082
| * | | | Clang: Fix fallback compile features when simulating old MSVC versionsBrad King2020-07-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 25439c7d62 (Clang: Refactor CXX standard flags into __compiler_clang_cxx_standards(), 2020-03-16, v3.18.0-rc1~362^2~4) accidentally broke the `cxx_std_*` fallback feature names. Issue: #21033
* | | | | Merge branch 'release-3.18'Brad King2020-07-300-0/+0
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge topic 'unity_no_skip_autogen' into release-3.18Brad King2020-07-305-1/+23
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7051250a6c Unity Builds: Do not set SKIP_AUTOGEN to source files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5081
* | \ \ \ \ Merge topic 'unity_no_skip_autogen'Brad King2020-07-305-1/+23
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 7051250a6c Unity Builds: Do not set SKIP_AUTOGEN to source files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5081
| * | | | | Unity Builds: Do not set SKIP_AUTOGEN to source filesCristian Adam2020-07-295-1/+23
| |/ / / / | | | | | | | | | | | | | | | Fixes: #21028
* | | | | Merge topic 'GoogleTest-fix-generated-include'Brad King2020-07-301-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 832858195e GoogleTest: Fix include path in the generated file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5063
| * | | | | GoogleTest: Fix include path in the generated fileAdam Badura2020-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The generated ..._include.cmake file contained an inclusion of GoogleTestAddTests without any path. In general, this is a good approach since it enables to correctly catch possibly user-customized files. However, in this case, it didn’t work this way since the ..._include.cmake file is evaluated by a separate CMake call under a custom command. Because of this, the CMAKE_MODULE_PATH is not set as expected by the user and the said inclusion catches CMake own version of the module rather than the possibly user-customized one. This change fixes this by making the inclusion with an absolute path determined upon the ..._include.cmake file generation.
* | | | | | CMake Nightly Date StampKitware Robot2020-07-301-1/+1
| | | | | |
* | | | | | Merge topic 'fixup_bundle_item-fix'Brad King2020-07-296-5/+38
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45ed314bff BundleUtilities: do not run install_name_tool on scripts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5071
| * | | | | | BundleUtilities: do not run install_name_tool on scriptsT.J. Corona2020-07-286-5/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the same approach as commit 08be74bfd7 (GetPrerequisites: Fix handling of executable scripts, 2018-12-16, v3.14.0-rc1~206^2).
* | | | | | | Merge topic 'use_COMPILER_TARGET_to_set_architecture_for_clang_cl'Brad King2020-07-293-1/+12
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 270e0d9c4d Detect the correct target architecture for clang compilers. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5058
| * | | | | | | Detect the correct target architecture for clang compilers.Thomas Bernard2020-07-283-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During compiler identification, if CMAKE_{C,CXX}_COMPILER_TARGET is defined, the corresponding clang target flag is used to guaranty proper target architecture detection.
* | | | | | | | Merge topic 'cmcomputecomponentgraph-compute-method'Brad King2020-07-294-2/+11
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bd0d03386b cmComputeComponentGraph: Move work out of constructor into Compute() method Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5079
| * | | | | | | | cmComputeComponentGraph: Move work out of constructor into Compute() methodKyle Edwards2020-07-284-2/+11
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The computation of Tarjan's algorithm is an expensive operation which should not be done in the constructor. Move this work into a dedicated Compute() method, and call this method explicitly.
* | | | | | | | Merge topic 'refactor_cmTarget_language_initProperties'Brad King2020-07-291-25/+17
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6f1c04055f cmTarget: Refactor init of common language properties Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5077
| * | | | | | | | cmTarget: Refactor init of common language propertiesRobert Maynard2020-07-281-25/+17
| | |_|_|_|_|_|/ | |/| | | | | |
* | | | | | | | Merge topic 'test-warning'Brad King2020-07-291-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9fc8e827c8 Tests: Fix -Wsuggest-destructor-override warning in testCMExtMemory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5075
| * | | | | | | | Tests: Fix -Wsuggest-destructor-override warning in testCMExtMemoryBrad King2020-07-281-1/+1
| |/ / / / / / /
* | | | | | | | Merge topic 'use-nonempty'Brad King2020-07-2926-86/+85
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f37c14e930 Source: use cmNonempty() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5072
| * | | | | | | | Source: use cmNonempty()Vitaly Stakhovsky2020-07-2826-86/+85
| |/ / / / / / /
* | | | | | | | Merge topic 'noduplicates'Brad King2020-07-292-5/+3
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 78357e98a4 Avoid duplicate calls to GetDefinition Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5073
| * | | | | | | | Avoid duplicate calls to GetDefinitionVitaly Stakhovsky2020-07-282-5/+3
| |/ / / / / / /
* | | | | | | | Merge branch 'release-3.18'Brad King2020-07-290-0/+0
|\ \ \ \ \ \ \ \ | | |_|_|_|/ / / | |/| | | | | |
| * | | | | | | Merge topic 'FindCURL-list-index-if' into release-3.18Brad King2020-07-291-3/+3
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0faedae335 FindCURL: Fix list index check after search Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5070
* | \ \ \ \ \ \ \ Merge topic 'FindCURL-list-index-if'Brad King2020-07-291-3/+3
|\ \ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0faedae335 FindCURL: Fix list index check after search Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5070
| * | | | | | | | FindCURL: Fix list index check after searchMike Gelfand2020-07-281-3/+3
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix logic added by commit fc5afbe970 (FindCURL: support COMPONENTS to check features, 2018-11-28, v3.14.0-rc1~287^2~2). When searching for particular components and `curl-config` reports one of the components being searched for first in the list, `find_package` fails. This is due to the check that treats non-zero index in the list as success and zero index as failure, while documentation on `list(FIND)` states that failure to find an element results in return value of -1 (not 0). I'm hitting this when building cURL with support for HTTP and HTTPS protocols only, and then trying to `find_package(CURL COMPONENTS HTTP HTTPS)`. I'm using `if(NOT x EQUAL -1)` check form as it appears to be the most used throughout the modules. While fixing this issue I've looked through all the uses of `list(FIND)` in other modules but wasn't able to find improper use except here.
* | | | | | | | CMake Nightly Date StampKitware Robot2020-07-291-1/+1
| |_|_|_|/ / / |/| | | | | |
* | | | | | | Merge topic 'file-download-no-save'Craig Scott2020-07-2811-30/+86
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fed7d8f76d file(DOWNLOAD): Make file argument optional Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5060
| * | | | | | file(DOWNLOAD): Make file argument optionalKyle Edwards2020-07-2711-30/+86
| | | | | | |
* | | | | | | Merge topic 'cleanup-target-types'Brad King2020-07-2821-143/+186
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ef796cc743 cmGeneratorTarget: Skip computing link implementation for custom targets 45158b2afe cmGeneratorTarget: Simplify logic in ComputeLinkInterfaceLibraries d6b1f5704e cmGeneratorTarget: Add missing nullptr checks 7695b67500 cmComputeTargetDepends: Add missing nullptr check 95b5df8646 cmGeneratorTarget: Skip computing languages for custom targets 2f0790df50 Factor out generator checks for filtering on non-compiling targets 422d9a0ab2 Factor out generator checks for filtering out interface libraries bce82df0aa cmGeneratorTarget: Remove unnecessary target type check in dependency tracing ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !5038
| * | | | | | | cmGeneratorTarget: Skip computing link implementation for custom targetsBrad King2020-07-271-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Targets created by `add_custom_target` cannot be used with `target_link_libraries` and so have no link implementation.