summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* cmTarget: Replace "perConfig" constructor boolean with enumBrad King2020-05-186-13/+19
|
* Merge topic 'cuda-clang'Brad King2020-05-181-0/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | a653ca9504 Tests: Update CUDA tests to work with Clang 5df21adf46 CUDA: Add support for Clang compiler dc2eae1f91 FindCUDAToolkit: Factor out discovery code into a separate file 70be10cbf4 CUDA: Remove toolkit include dirs from implicit include dirs only with NVIDIA Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Artem Belevich <tra@google.com> Acked-by: Robert Maynard <robert.maynard@kitware.com> Acked-by: Axel Huebl <axel.huebl@plasma.ninja> Acked-by: friendnick <ikoval67@gmail.com> Acked-by: Patrik Huber <patrikhuber@gmail.com> Merge-request: !4442
| * CUDA: Add support for Clang compilerRaul Tambre2020-05-151-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When crosscompiling we pass the sysroot. We need to try various architecture flags. Clang doesn't automatically select one that works. First try the ones that are more likely to work for modern installations: * <=sm_50 is deprecated since CUDA 10.2, try sm_52 first for future compatibility. * <=sm_20 is removed since CUDA 9.0, try sm_30. Otherwise fallback to Clang's current default. Currently that's `sm_20`, the lowest it supports. Separable compilation isn't supported yet. Fixes: #16586
* | Merge topic 'fix-ClearSourcesCache'Brad King2020-05-181-0/+1
|\ \ | | | | | | | | | | | | | | | | | | a9f4f58f0c cmGeneratorTarget: Clear AllConfigSources in ClearSourcesCache Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4751
| * | cmGeneratorTarget: Clear AllConfigSources in ClearSourcesCacheBrad King2020-05-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 40aa6c059c (cmGeneratorTarget: Add method to collect all sources for all configs, 2017-04-10, v3.9.0-rc1~268^2~5) we forgot to update `ClearSourcesCache` to also clear `AllConfigSources`. This leads to subtle cases where code paths like PCH handling that add sources during generation break depending on ordering. Suggested-by: Christian Fersch Fixes: #20712, #20702
* | | Merge topic 'fix-CheckTargetsForMissingSources'Brad King2020-05-181-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 25995b2b30 cmGlobalGenerator: Fix CheckTargetsForMissingSources after refactoring Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4747
| * | | cmGlobalGenerator: Fix CheckTargetsForMissingSources after refactoringBrad King2020-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 01b2d6ab74 (Modernize: Use ranged for-loops when possible, 2019-02-07, v3.15.0-rc1~575^2) accidentally changed a loop condition in this method from "keep iterating if srcs.empty()" to "stop iterating if srcs.empty()". Switch it back. The bug could only manifest in very subtle conditions in a multi-config generator. Add one such case to the test suite. Fixes: #20706
* | | | CMake Nightly Date StampKitware Robot2020-05-181-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2020-05-171-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2020-05-161-1/+1
| |_|/ |/| |
* | | Merge topic 'source_file_scopes'Brad King2020-05-155-46/+406
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 3d4b70ea64 set_source_files_properties: Allow specification of directory scope Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4661
| * | | set_source_files_properties: Allow specification of directory scopeAlexandru Croitor2020-05-145-46/+406
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both set_source_files_properties() and set_property(SOURCE) now accept two new optional arguments: DIRECTORY and TARGET_DIRECTORY. The DIRECTORY option takes a list of relative or absolute paths pointing to processed source directories (add_subdirectory was already called on them). These paths specify directory scopes where the source file properties will be set. Previously the scope was always the currently processed source directory. Similarly TARGET_DIRECTORY takes a list of targets, whose source directories will be used as the list of scopes where to set the source file properties. get_property() and get_source_file_property() also get the same new arguments, except only one value can be specified instead of a list. Fixes: #20128
* | | | CMake Nightly Date StampKitware Robot2020-05-151-1/+1
| |/ / |/| |
* | | Merge topic 'update-kwsys'Brad King2020-05-1413-63/+66
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 833ae0a63b Merge branch 'upstream-KWSys' into update-kwsys 3674f6a470 KWSys 2020-05-13 (d4da6980) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4743
| * | | Merge branch 'upstream-KWSys' into update-kwsysBrad King2020-05-1313-63/+66
| | | | | | | | | | | | | | | | | | | | | | | | # By KWSys Upstream * upstream-KWSys: KWSys 2020-05-13 (d4da6980)
* | | | Merge topic 'cmake_command_preserve_args'Brad King2020-05-142-8/+21
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 549599bf32 cmake_command: Preserve arguments to INVOKE function Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4741
| * | | | cmake_command: Preserve arguments to INVOKE functionCristian Adam2020-05-122-8/+21
| | |/ / | |/| | | | | | | | | | Fixes: #20630
* | | | CMake Nightly Date StampKitware Robot2020-05-141-1/+1
| | | |
* | | | Merge topic 'interface-sources-multi-config'Brad King2020-05-133-58/+77
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 6c5d4522bc INTERFACE_SOURCES: Fix per-config link libs on multi-config generators 8daa140c6a cmGeneratorTarget: Factor evaluated target prop entries into struct fcd1a1a920 cmGeneratorTarget: Track when the set of link libs is config-dependent Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4740
| * | | INTERFACE_SOURCES: Fix per-config link libs on multi-config generatorsBrad King2020-05-121-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In multi-config generators we memoize the computed set of source files for a target to avoid repeating the computation when the set does not depend on the configuration. We already track whether generator expressions in `SOURCES` or `INTERFACE_SOURCES` reference the configuration (`$<CONFIG:...>`). However, we previously forgot to track whether the set of libraries whose `INTERFACE_SOURCES` are considered depends on the configuration. This caused multi-config generators to use the first configuration's set of sources for all configurations in cases such as target_link_libraries(tgt PRIVATE $<$<CONFIG:Debug>:iface_debug>) where the `iface_debug` target has `INTERFACE_SOURCES`. Fix this by also tracking config-dependence of the list of libraries for evaluation of the list of source files. Fixes: #20683
| * | | cmGeneratorTarget: Factor evaluated target prop entries into structBrad King2020-05-121-57/+54
| | | | | | | | | | | | | | | | This will allow storing more than just the list of entries itself.
| * | | cmGeneratorTarget: Track when the set of link libs is config-dependentBrad King2020-05-123-0/+16
| |/ / | | | | | | | | | | | | | | | | | | Report in `cmLinkImplementationLibraries` and `cmLinkInterfaceLibraries` whether the list of libraries depends on a genex referencing the configuration. We already track whether a genex references the head target.
* | | CMake Nightly Date StampKitware Robot2020-05-131-1/+1
|/ /
* | Merge topic 'refactor_cmSetPropertiesCommands'Brad King2020-05-124-215/+91
|\ \ | | | | | | | | | | | | | | | | | | 300bf4e94f set_*_properties: simplify and shorten implementations Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4728
| * | set_*_properties: simplify and shorten implementationsTushar Maheshwari2020-05-124-215/+91
| | | | | | | | | | | | | | | Optimize argument copies and range traversal. Inline the single use file static functions.
* | | Merge topic 'vs-pch-compile-opts'Brad King2020-05-121-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 6b2fb4ffd2 VS: Fix using PCH from source with COMPILE_OPTIONS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4734
| * | | VS: Fix using PCH from source with COMPILE_OPTIONSBrad King2020-05-111-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | If a source file gets per-source flags from both PCH and custom `COMPILE_OPTIONS`, combine them correctly. Fixes: #20694, #20456
* | | CMake Nightly Date StampKitware Robot2020-05-121-1/+1
| | |
* | | Merge topic 'source_group_forward_slashes'Brad King2020-05-111-4/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | faf44a8cdb source_group: Support forward slashes in group hierarchy Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4727
| * | | source_group: Support forward slashes in group hierarchyCraig Scott2020-05-101-4/+4
| | |/ | |/| | | | Fixes: #18076
* | | Merge topic 'unity_explicit_groups'Brad King2020-05-112-44/+135
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9f4eb352fe Unity Builds: Support explicit specification of sources to groups b00585adcc Unity: Refactor implementation to make it easier to extend Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4716
| * | | Unity Builds: Support explicit specification of sources to groupsRobert Maynard2020-05-072-3/+65
| | | | | | | | | | | | | | | | | | | | Instead of having CMake determine which files should go into each unity file, the user can now use explicitly state the mapping.
| * | | Unity: Refactor implementation to make it easier to extendRobert Maynard2020-05-061-45/+74
| | | |
* | | | CMake Nightly Date StampKitware Robot2020-05-111-1/+1
| |/ / |/| |
* | | CMake Nightly Date StampKitware Robot2020-05-101-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2020-05-091-1/+1
| | |
* | | Merge topic 'third-parties-layout'Brad King2020-05-0872-117/+127
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2faa3f6c55 Refactoring: Third-parties public headers are under cm3p prefix 75e87e3db4 bootstrap: update list of problematic files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4705
| * | | Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-0772-117/+127
| | | | | | | | | | | | | | | | Fixes: #20666
* | | | Merge topic 'pch-reuse-multi'Brad King2020-05-081-1/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a2ee941aba Merge branch 'backport-pch-reuse-multi' into pch-reuse-multi 605d6c65c9 PCH: Fix REUSE_FROM in multi-config generators 7a1c7736cb PCH: Fix REUSE_FROM in multi-config generators Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4717
| * | | | PCH: Fix REUSE_FROM in multi-config generatorsAndreas Schönle2020-05-071-1/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit a55df20499 (Multi-Ninja: Add precompile headers support, 2020-01-10, v3.17.0-rc1~136^2) the re-used PCH file object is added once for each configuration to flags used for all configurations. Put it in the flags for only the corresponding configuration instead. Fixes: #20680
* | | | CMake Nightly Date StampKitware Robot2020-05-081-1/+1
| | | |
* | | | Merge topic 'script-mode-and-arbitrary-args'Craig Scott2020-05-071-1/+7
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | e4f1b301fe cmake: Allow arbitrary args passed to CMake script Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4707
| * | | cmake: Allow arbitrary args passed to CMake scriptAlex Turbov2020-05-061-1/+7
| | | |
* | | | CMake Nightly Date StampKitware Robot2020-05-071-1/+1
| |/ / |/| |
* | | CMake Nightly Date StampKitware Robot2020-05-061-1/+1
| | |
* | | Merge topic 'remove_cli__symbols'Brad King2020-05-051-2/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | be75622e49 bindexplib: Do not export symbols from managed code Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4692
| * | | bindexplib: Do not export symbols from managed codeMarkus Mayer2020-05-041-2/+10
| | | | | | | | | | | | | | | | Fixes: #20653
* | | | CMake Nightly Date StampKitware Robot2020-05-051-1/+1
| | | |
* | | | Merge topic 'patch-7'Brad King2020-05-042-0/+13
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 086c20e9a6 OpenWatcom: Enable 16-bit targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4665
| * | | | OpenWatcom: Enable 16-bit targetsJiri Malak2020-05-012-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up to now CMake used OpenWatcom 32-bit target tools only. This fix enable to use OpenWatcom 16-bit target tools too. If CMAKE_SYSTEM_PROCESSOR(cross-compilation) is 'I86' then OpenWatcom tools for 16-bit targets are used.