summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CMake Nightly Date StampKitware Robot2023-01-291-1/+1
|
* Merge topic 'ci-intel-compiler'Brad King2023-01-281-0/+14
|\ | | | | | | | | | | | | e671692d9c gitlab-ci: add jobs testing Intel 2023.0.0 compilers on Linux Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8132
| * gitlab-ci: add jobs testing Intel 2023.0.0 compilers on LinuxBrad King2023-01-271-0/+14
| | | | | | | | | | Note that the classic compiler version is 2021.8.0, but we still have it in the 2023.0.0 base image.
* | CMake Nightly Date StampKitware Robot2023-01-281-1/+1
|/
* Merge topic 'ci-imagemagick'Brad King2023-01-274-3/+6
|\ | | | | | | | | | | | | 85f16fe913 ci: add ImageMagick to Debian and Fedora base images Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8124
| * ci: add ImageMagick to Debian and Fedora base imagesBrad King2023-01-264-3/+6
| |
* | Merge topic 'vs-asm-flags'Brad King2023-01-277-12/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | 24bcad5bac VS: Honor compile options for ASM_NASM b44714a642 VS: Honor compile options for ASM_MARMASM Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8125
| * | VS: Honor compile options for ASM_NASMBrad King2023-01-264-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | The Ninja and Makefile generators honor `target_compile_options` and friends for ASM_NASM `.asm` sources. Teach the VS generator to honor them too for consistency. Issue: #24289
| * | VS: Honor compile options for ASM_MARMASMBrad King2023-01-264-10/+6
| |/ | | | | | | | | | | | | | | The Ninja and Makefile generators honor `target_compile_options` and friends for ASM_MARMMASM `.asm` sources. Teach the VS generator to honor them too for consistency. Issue: #24289
* | Merge topic 'jmalak-master-patch-responsefile'Brad King2023-01-273-6/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | a6bdf54a5e Watcom: Fix double-quote to be single-quote in response files for wlink Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8119
| * | Watcom: Fix double-quote to be single-quote in response files for wlinkJiri Malak2023-01-263-6/+12
| |/ | | | | | | | | Response files contained double-quote for any response file, but response files for wlink must contains single-quote. This is fix for libraries list response file. Problem for object file list was fixed by MR !8115
* | CMake Nightly Date StampKitware Robot2023-01-271-1/+1
|/
* Merge topic 'configure_file_docs_use_target_inc_dirs'Brad King2023-01-261-2/+2
|\ | | | | | | | | | | | | c89d467bf2 Help: configure_file doc example use `target_include_directories` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8121
| * Help: configure_file doc example use `target_include_directories`Robert Maynard2023-01-251-2/+2
| | | | | | | | Fixes #24351
* | Merge topic 'xcode-swift-inherited-flags'Brad King2023-01-265-2/+35
|\ \ | | | | | | | | | | | | | | | | | | 01c1d81527 Xcode: Inherit Swift flags and compilation conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8122
| * | Xcode: Inherit Swift flags and compilation conditionsRoss Kilgariff2023-01-255-2/+35
| |/ | | | | | | | | | | | | | | Extend the change from commit dfaf55fbfd (Xcode: add extra '$(inherited)' entries using InheritBuildSettingAttribute, 2021-05-03, v3.21.0-rc1~182^2) to cover Swift flags and compilation conditions, allowing CocoaPods and CMake to interoperate when used in the same project.
* | Merge topic 'watcom-win16'Brad King2023-01-265-33/+61
|\ \ | | | | | | | | | | | | | | | | | | e194caa5a3 OpenWatcom: Add correct support for 16-bit Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8116
| * | OpenWatcom: Add correct support for 16-bit WindowsJiri Malak2023-01-255-33/+61
| |/ | | | | | | | | | | | | | | | | | | | | This add correct Open Watcom support for 16-bit Windows 3.x. It replace existing strange mixture with WIN32 stuff which implement 16-bit Windows target partially as part of WIN32 stuff. Now pre-defined OS ID Windows3x is used instead of confusing WIN32. It support properly 16-bit and 32-bit application for 16-bit Windows host. 32-bit applications are build with OW WIN386 extender. It is used similar as for other platforms by set CMAKE_SYSTEM_NAME=Windows3x and CMAKE_SYSTEM_PROCESSOR=I86 for 16-bit application or CMAKE_SYSTEM_PROCESSOR=x86 for 32-bit WIN386 extender application running on 16-bit Windows 3.x. CMAKE_SYSTEM_NAME=Windows is used only for WIN32 applications.
* | Merge topic 'jmalak-master-patch-watcomquote'Brad King2023-01-265-26/+21
|\ \ | | | | | | | | | | | | | | | | | | | | | a1d065e5c7 Watcom: Replace WATCOMQUOTE format by UseWatcomQuote attribute Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8115
| * | Watcom: Replace WATCOMQUOTE format by UseWatcomQuote attributeJiri Malak2023-01-245-26/+21
| | | | | | | | | | | | | | | | | | | | | Replace WATCOMQUOTE output format by UseWatcomQuote attribute to properly handle single quote This attribute is used globaly only for Watcom linker to handle single-quote separator instead of double-quote it doesn't mean different output format only change of quoting separator It is now applied to any output form SHELL/RESPONSE/NINJAMULTI if Watcom linker is used otherwise double-quote is used
* | | Merge topic 'vs-BuildInParallel'Brad King2023-01-262-6/+16
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 8024c41685 VS: Do not concurrently build custom commands with generated MAIN_DEPENDENCY Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8120
| * | | VS: Do not concurrently build custom commands with generated MAIN_DEPENDENCYBrad King2023-01-252-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 33c15ae2b9 (VS: Build custom commands concurrently when possible, 2023-01-19) several tests have failed intermittently with the VS generator. It seems that if the `BuildInParallel` setting is attached to a generated input: <CustomBuild Include="generated_input.txt"> <BuildInParallel Condition="...">true</BuildInParallel> <Command Condition="...">copy geneated_input.txt output.txt</Command> ... </CustomBuild> then MSBuild does not wait for the input to be generated before running the command. This occurs when using `add_custom_command`'s `MAIN_DEPENDENCY`, so avoid using `BuildInParallel` in that case. Issue: #18405
* | | | CMake Nightly Date StampKitware Robot2023-01-261-1/+1
| |_|/ |/| |
* | | Merge topic 'CheckCompilerFlag-clang'Brad King2023-01-253-8/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5b45a3d0ce CheckCompilerFlag: Match the Clang "argument unused" output for all languages Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8117
| * | | CheckCompilerFlag: Match the Clang "argument unused" output for all languagesKOLANICH2023-01-243-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | Improve detection of missing compiler flags: move "argument unused during compilation: .*" pattern from language-specific branches into the common list.
* | | | Merge topic 'FindOpenMP-test-include-dir'Brad King2023-01-251-1/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6e53d74147 FindOpenMP: Use OpenMP_<lang>_INCLUDE_DIR Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8110
| * | | | FindOpenMP: Use OpenMP_<lang>_INCLUDE_DIRAndrey Alekseenko2023-01-231-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If `OpenMP_<lang>_INCLUDE_DIR` is defined, add it to the list of include directories before checking flags. Previously, this variable was ignored for all compilers but AppleClang, despite the documentation mentioning it as one of the possible inputs. Fixes: #24260
* | | | | Merge topic 'test-try_compile-matching'Brad King2023-01-253-20/+20
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7db4df2e8c Tests: Match configure log try_compile directories more precisely Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8114
| * | | | | Tests: Match configure log try_compile directories more preciselyBrad King2023-01-243-20/+20
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | Do not accept a double-quote in the `try_compile` work directory to ensure we do not match more than the field value.
* | | | | Merge topic 'isdir_empty'Brad King2023-01-254-2/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a1dc38a567 Help: Document behavior of if(EXISTS,IS_DIRECTORY) for empty paths Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8109
| * | | | | Help: Document behavior of if(EXISTS,IS_DIRECTORY) for empty pathsscivision2023-01-244-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Document and add explicit tests for empty string input: `if(EXISTS "")` and `if(IS_DIRECTORY "")` are always false. This avoids need for users to do extra checks due to CMake non-short-circuit logic as below: if("${p}") if(EXISTS "${p}")
* | | | | | Merge topic 'doc-rpath-features'Brad King2023-01-2511-13/+86
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 434be1256e Help: improve docs for INSTALL_NAME_DIR f784c21567 Help: mention CMAKE_SKIP_RPATH in the RPATH docs 66ad61ba79 Help: improve documentation for BUILD_RPATH 25e7791dc1 Help: improve docs for INSTALL_RPATH 099292f123 Help: improve docs for rpath-related variables Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8073
| * | | | | | Help: improve docs for INSTALL_NAME_DIRAlexander Neundorf2023-01-203-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INSTALL_NAME_DIR now mentions BUILD_WITH_INSTALL_NAME_DIR. The INSTALL_NAME_DIR, INSTALL_RPATH and $<TARGET_RUNTIME_DLLS:tgt> documentation now mention the other two platforms respectively, to make it easier for developers who are not familiar with all three platforms,
| * | | | | | Help: mention CMAKE_SKIP_RPATH in the RPATH docsAlexander Neundorf2023-01-202-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMAKE_SKIP_RPATH is now mentioned in the docs for the BUILD_RPATH and INSTALL_RPATH target properties.
| * | | | | | Help: improve documentation for BUILD_RPATHAlexander Neundorf2023-01-202-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now all properties related to BUILD_RPATH are linked from the documentation for BUILD_RPATH. SKIP_BUILD_RPATH now also refers to BUILD_RPATH.
| * | | | | | Help: improve docs for INSTALL_RPATHAlexander Neundorf2023-01-192-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documentation for INSTALL_RPATH now links to all (or at least most) properties (and variables) related to the install rpath, which should make it easier for users to find out how RPATH works. Also change "True" to "TRUE"
| * | | | | | Help: improve docs for rpath-related variablesAlexander Neundorf2023-01-195-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now all RPATH-related variables link to the related RPATH-related variables. Some also link to the INSTALL_RPATH and BUILD_RPATH target properties.
* | | | | | | Merge topic 'watcom-refactor-std-includes'Brad King2023-01-256-61/+38
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 10623a51a0 OpenWatcom: Refactor population of standard include directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8113
| * | | | | | | OpenWatcom: Refactor population of standard include directoriesJiri Malak2023-01-246-61/+38
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Add setup of system include directories to language related macro to remove extra lines for C and CXX. System include directories are always same for both languages (they are defined per platform).
* | | | | | | Merge topic 'swiftmodule-dependency-tracking'Brad King2023-01-256-25/+101
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1730d208b5 Add incremental Swift static lib build test bf3a8ef6d5 Ninja: Swift: Add dependency edge to swiftmodule file d0b469b7e0 Ninja: NFC: refactor swift module name computations Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8084
| * | | | | | Add incremental Swift static lib build testEvan Wilde2023-01-215-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that we're actually trying to rebuild libB when the public interface for libA changes. Without handling the swiftmodule dependency edge correctly, we would only get a linker error because libA didn't have the symbol that libB depended on. With the fix, we get a proper compiler error because ninja knows to rebuild the intermediate libB when the public interface of libA changes. This is more actionable.
| * | | | | | Ninja: Swift: Add dependency edge to swiftmodule fileEvan Wilde2023-01-211-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Swiftmodules act like headers for Swift, but are generated by the compiler while building the module. Unlike headerfiles in a pure C/C++ world, where the compiler generates the appropriate depfile. We don't have We're already adding the swiftmodule as an output from swift-linked targets, but aren't using that on inputs. This dependency edge is most important for static libraries in incremental builds. Suppose we have two static libraries, A, and B, and an executable E. B "links" against A, and E links against B. In a C/C++ environment, the library link dependency edge will run from E to both A and B, but there won't be an edge from B to A. If A is changed, the only way this should affect B is if the public interface changes, in which case, the headers will also change. The dep file contains the header link, so Ninja will rebuild B when appropriate. With Swift in an incremental build, B sees the order-dependency on A, but A already exists. If A is changed in a way that changes the public interface, the swiftmodule will change, but since we don't track it, we don't rebuild B, resulting in the final executable to fail to link.
| * | | | | | Ninja: NFC: refactor swift module name computationsEvan Wilde2023-01-211-25/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to handle determining the swiftmodule name to add to the ninja dependency graph, we'll need to be able to compute the swiftmodule name for the dependency target, not just the current target. This patch refactors the computation of the module name out of inaccessible lambdas and into static functions that can compute the swiftmodule name from the generator and the target.
* | | | | | | CMake Nightly Date StampKitware Robot2023-01-251-1/+1
| |/ / / / / |/| | | | |
* | | | | | Merge topic 'gen-pkg-example'Brad King2023-01-241-5/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bfa61ccf64 Help: Modernize PackageConfigHelpers example Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8111
| * | | | | | Help: Modernize PackageConfigHelpers exampleFeRD (Frank Dana)2023-01-231-5/+7
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The example shown in the module documentation for CMakePackageConfigHelpers was showing its age, by: 1. Hardcoding directory prefixes (`etc/`, `lib/`, etc.) instead of using GNUInstallDirs 2. Handwaving `set()` commands (incorrectly!) as: `set(VAR dir/ ... CACHE )` which should, at the very least, be: `set(VAR dir/ CACHE ... )` 3. Installing CMake configuration files to `lib/Foo/cmake/`, when current practice favors `${CMAKE_INSTALL_LIBDIR}/cmake/Foo/` This updated example addresses all of those issues.
* | | | | | Merge topic 'wrap-ninja-multi'Brad King2023-01-241-5/+17
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d59ab71779 Help: Wrap long examples in Ninja Multi-Config doc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8103
| * | | | | | Help: Wrap long examples in Ninja Multi-Config docFeRD (Frank Dana)2023-01-201-5/+17
| | | | | | |
* | | | | | | Merge branch 'release-3.25'Brad King2023-01-240-0/+0
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ Merge topic 'FindPython-CMP0007-NEW' into release-3.25Brad King2023-01-241-0/+2
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 486b3c0850 FindPython: Policy CMP0007 must be set to NEW Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8104