summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cpp-named-module-file-sets'Brad King2022-06-17123-117/+2010
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07bc3b07ec gitlab-ci: test C++ modules using GCC 1b2270aa4e ci: add a Docker image to test out C++ modules with GCC 8c5a53096a Tests/RunCMake/CXXModules: add module-using examples 4151547e2f cmGlobalNinjaGenerator: use `cmModuleMapper` implementation b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format 02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents a046a45aad cmGlobalNinjaGenerator: add a TODO for header units 386465bf83 cmTarget: add support for C++ module fileset types ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7369
| * gitlab-ci: test C++ modules using GCCBen Boeckel2022-06-165-0/+62
| |
| * ci: add a Docker image to test out C++ modules with GCCBen Boeckel2022-06-163-0/+42
| |
| * Tests/RunCMake/CXXModules: add module-using examplesBen Boeckel2022-06-1626-1/+340
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes a number of examples that should work for various levels of support in a compiler. There are a number of tests which are gated on various features in the compilers. To enable the tests, set `CMake_TEST_MODULE_COMPILATION` to a comma-separated (to avoid `;`-escaping problems) to the list of features which are supported: - `named`: Named modules are supported. - `shared`: Shared libraries with module usage at the API boundary are supported. - `partitions`: Named module partitions are supported. - `internal_partitions`: Named module internal partitions are supported. Additionally, a `CMake_TEST_MODULE_COMPILATION_RULES` file must be passed which contains the rules for how to build modules using the provided compiler. It will be included in the tests to provide these rules. To verify that the file provided works as intended, it must set `CMake_TEST_CXXModules_UUID` to a specific version to indicate that it is an expected file.
| * cmGlobalNinjaGenerator: use `cmModuleMapper` implementationBen Boeckel2022-06-161-38/+31
| |
| * cmCxxModuleMapper: implement support for GCC's module map formatBen Boeckel2022-06-162-0/+47
| |
| * cmCxxModuleMapper: add source to handle module mapper contentsBen Boeckel2022-06-164-0/+80
| | | | | | | | | | This will allow all generators to share an implementation for actually writing out the module map formats.
| * cmGlobalNinjaGenerator: add a TODO for header unitsBen Boeckel2022-06-161-1/+2
| |
| * cmTarget: add support for C++ module fileset typesBen Boeckel2022-06-1682-74/+1290
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++ modules have two variants which are of importance to CMake: - `CXX_MODULES`: interface modules (those using `export module M;`, `export module M:part;`, or `module M:internal_part;`) - `CXX_MODULE_HEADER_UNITS`: importable header units Creating C++ modules or partitions are *not* supported in any other source listing. This is because the source files must be installed (so their scope matters), but not part of usage requirements (what it means for a module source to be injected into a consumer is not clear at this moment). Due to the way `FILE_SET` works with scopes, they are a perfect fit as long as `INTERFACE` is not allowed (which it is not).
| * cmExperimental: add an experimental feature to handle C++ modulesBen Boeckel2022-06-143-1/+27
| |
| * cmExperimental: add a mechanism for experimental CMake featuresBen Boeckel2022-06-144-0/+78
| |
| * cmGlobalXCodeGenerator: avoid unused parameter warningsBen Boeckel2022-06-141-0/+4
| |
| * cmScriptGenerator: remove unnecessary `endif` argumentsBen Boeckel2022-06-141-1/+1
| |
| * cmNinjaTargetGenerator: expand CFGIntDir for NMCBen Boeckel2022-06-141-2/+3
| |
| * cmGlobalNinjaGenerator: simplify a string building callBen Boeckel2022-06-141-1/+1
| |
| * cmCommonTargetGenerator: fix linked target directory for multi-config buildsBen Boeckel2022-06-141-0/+4
| | | | | | | | | | Without this, `Ninja Multi-Config` generators were not getting the right directory to look for `<LANG>Modules.json` files for module information.
* | Merge topic 'cmake-mode-bracket-comment-argument'Brad King2022-06-171-1/+37
|\ \ | | | | | | | | | | | | | | | | | | 364ca22b12 cmake-mode.el: add support for bracket_comment and bracket_argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7375
| * | cmake-mode.el: add support for bracket_comment and bracket_argumentmontag4512022-06-171-1/+37
| | |
* | | Merge topic 'try_compile-cross-app-bundles'Brad King2022-06-171-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 81549baff4 try_compile: Fix COPY_FILE with app-bundles on non-macOS hosts Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7377
| * | | try_compile: Fix COPY_FILE with app-bundles on non-macOS hostsHeiko Lewin2022-06-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Cross compiling from eg linux to apple-platforms requires handling of .app-Bundles. Fixes: #23597
* | | | Merge topic 'find-wxwidgets'Brad King2022-06-171-95/+54
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8c9106538f FindwxWidgets: Support more wxWidgets versions, including 3.2 d8a2edb74e FindwxWidgets: Use version number from header for library names 2f2fe1a2e3 FindwxWidgets: Move extracting version number to a macro Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7374
| * | | | FindwxWidgets: Support more wxWidgets versions, including 3.2Maarten Bent2022-06-151-40/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the example to use a more recent wxWidgets version. Use a list with known version numbers when searching for installation directories and wx-config names.
| * | | | FindwxWidgets: Use version number from header for library namesMaarten Bent2022-06-151-35/+12
| | | | |
| * | | | FindwxWidgets: Move extracting version number to a macroMaarten Bent2022-06-151-20/+24
| | | | |
* | | | | Merge topic 'msvc_cuda_pass_arch_flags_in_additional_options'Brad King2022-06-173-186/+22
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e3983168da CUDA: MSVC pass all cuda gencode flags via AdditionalOptions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7359
| * | | | | CUDA: MSVC pass all cuda gencode flags via AdditionalOptionsRobert Maynard2022-06-163-186/+22
| | |/ / / | |/| | | | | | | | | | | | | Fixes #23491
* | | | | CMake Nightly Date StampKitware Robot2022-06-171-1/+1
| | | | |
* | | | | Merge topic 'add_SYSTEM_prop'Brad King2022-06-167-4/+92
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 69beee5314 Add SYSTEM target property Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7308
| * | | | | Add SYSTEM target propertyDa Quexian2022-06-157-4/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If it is ON, treat INTERFACE_INCLUDE_DIRECTORIES as system include directories. Issue: #18040 Signed-off-by: Da Quexian <daquexian566@gmail.com>
* | | | | | Merge topic 'xcode-launch-mode'Brad King2022-06-1611-1/+61
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a1a0ae3ad4 Xcode: Add Xcode SCHEME control for 'Launch' control Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7355
| * | | | | | Xcode: Add Xcode SCHEME control for 'Launch' controlHarry Mallon2022-06-1511-1/+61
| | |/ / / / | |/| | | |
* | | | | | Merge topic '23376-add-compile-properties-to-csharp-sdk-projects'Brad King2022-06-164-0/+88
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ba6cecea8e VS: Add compile properties to .NET Sdk projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7373
| * | | | | VS: Add compile properties to .NET Sdk projectsMaxime Raynaud2022-06-154-0/+88
| | |_|_|/ | |/| | |
* | | | | CMake Nightly Date StampKitware Robot2022-06-161-1/+1
| |_|/ / |/| | |
* | | | Merge topic 'find_item-validation-function'Brad King2022-06-1559-17/+424
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f3b5a7d6df find_(program,library,file,path): add validation function Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7364
| * | | | find_(program,library,file,path): add validation functionMarc Chevrier2022-06-1459-17/+424
| | | | | | | | | | | | | | | | | | | | Fixes: #23603
* | | | | Merge topic 'SerenityOS-platform'Brad King2022-06-158-0/+48
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45ca894164 SerenityOS: Add Platform module Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ali Mohammad Pur <ali.mpfard@gmail.com> Merge-request: !6837
| * | | | | SerenityOS: Add Platform moduleAndrew Kaster2022-06-148-0/+48
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an initial Platform module for SerenityOS [1]. This module is a mix of the platform module currently used to build the Serenity Kernel and Userspace applications and libraries, and the platform module included in the CMake Port [2] which still has some work to do on the system before its other patches could be considered for upstream. As such, the platform module is currently only useful when used with a suitably patched GCC or LLVM cross-compiler toolchain. [1] https://github.com/SerenityOS/serenity [2] https://github.com/SerenityOS/serenity/tree/master/Ports/cmake/patches Issue: #23589
* | | | | Merge topic 'cuda_use_response_files'Brad King2022-06-156-49/+83
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6377a43814 CUDA: Support response files with nvcc Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7358
| * | | | | CUDA: Support response files with nvccRobert Maynard2022-06-136-49/+83
| | |_|/ / | |/| | |
* | | | | Merge topic 'FindCUDAFixToolkitTargetDirComparison'Brad King2022-06-151-1/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a7758394af FindCUDA: Fix varaible reset with CUDA_TOOLKIT_TARGET_DIR Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7365
| * | | | | FindCUDA: Fix varaible reset with CUDA_TOOLKIT_TARGET_DIRJames Bigler2022-06-141-1/+3
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CUDA_TOOLKIT_TARGET_DIR doesn't always exist in the cache or defined by the user previous to using FindCUDA. In this case it will always reset the variables making it impossible to manually change or set them. This can be fixed by checking to see if the variable is defined before checking against the previously used version stored in CUDA_TOOLKIT_TARGET_DIR_INTERNAL.
* | | | | Merge topic 'post-rel-dev'Brad King2022-06-157-6/+26
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ac24f4d49b Configure CMake itself with policies through CMake 3.23 25b1312a6d export: Increase maximum policy version in exported files to 3.23 5c8b776ca3 Add deprecation warnings for policies CMP0102 and below Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7367
| * | | | | Configure CMake itself with policies through CMake 3.23Brad King2022-06-143-3/+3
| | | | | |
| * | | | | export: Increase maximum policy version in exported files to 3.23Brad King2022-06-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The files generatd by `install(EXPORT)` and `export()` commands are known to work with policies as of CMake 3.23, so enable them in sufficiently new CMake versions.
| * | | | | Add deprecation warnings for policies CMP0102 and belowBrad King2022-06-143-1/+21
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.17 and below to encourage projects to port away from setting policies to OLD.
* | | | | Merge branch 'release-3.24'Brad King2022-06-150-0/+0
|\ \ \ \ \
| * \ \ \ \ Merge topic 'ci-rel-win-arm64-nightly' into release-3.24Brad King2022-06-153-6/+29
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 24099112c0 gitlab-ci: Add jobs to package and upload Windows arm64 nightly binaries dfa5401af6 ci: use CMake 3.24.0-rc1 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7368
* | \ \ \ \ \ Merge topic 'ci-rel-win-arm64-nightly'Brad King2022-06-153-6/+29
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | / | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 24099112c0 gitlab-ci: Add jobs to package and upload Windows arm64 nightly binaries dfa5401af6 ci: use CMake 3.24.0-rc1 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7368
| * | | | | gitlab-ci: Add jobs to package and upload Windows arm64 nightly binariesBrad King2022-06-141-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow up commit 7a21173b0e (gitlab-ci: Add job to build Windows arm64 binaries, 2022-06-13, v3.24.0-rc1~4^2~1). Base the package and upload jobs on the approach from commit 4c7c66dcf5 (gitlab-ci: Add jobs to make Windows x86_64 and i386 packages, 2022-05-19). Issue: #21902