summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Support upcoming C++26 language levelRobert Maynard2022-08-312-14/+21
|
* Merge topic 'cuda_mark_toolkit_includes_as_system'Brad King2022-08-191-0/+9
|\ | | | | | | | | | | | | ea659b155d CUDA: Always mark cuda toolkit as system include Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7476
| * CUDA: Always mark cuda toolkit as system includeRobert Maynard2022-08-181-0/+9
| | | | | | | | Fixes: #23731
* | CMake Nightly Date StampKitware Robot2022-08-191-1/+1
| |
* | Merge topic 'cmake-E-env-modify'Brad King2022-08-183-4/+44
|\ \ | | | | | | | | | | | | | | | | | | | | | c9d70a7cc3 cmake -E env: Add --modify flag Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7571
| * | cmake -E env: Add --modify flagAlex Reinking2022-08-173-4/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `cmake -E env` is given the `--modify` flag, try to parse the following argument as an `ENVIRONMENT_MODIFICATION` operation and apply it to the environment. This generalizes `--unset=`: 1. When implementing `ENVIRONMENT_MODIFICATION` features for other CMake commands, the `MYVAR=OP:VALUE` strings do not need to be translated to OP-specific flags. 2. This provides a natural and consistent extension point to introduce new operations without introducing very many flags. 3. Users need to learn only one syntax to access the same functionality. There is one difference between the behavior here as compared to CTest's interpretation of the `ENVIRONMENT_MODIFICATION` test property. The `MYVAR=reset:` command when run in `cmake -E env` will reset `MYVAR` to whatever its value was when `cmake -E env` launched, rather than try to checkpoint after plain `MYVAR=VALUE` options. This makes `MYVAR=VALUE` and `--modify MYVAR=set:VALUE` semantically equivalent.
* | | Merge topic 'try_compile-no-try_run-args'Brad King2022-08-181-27/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b976b844d2 try_compile: Don't accept try_run arguments 24c83bb35b try_compile: Fix quotes in reporting of unknown arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7585
| * | | try_compile: Don't accept try_run argumentsMatthew Woehlke2022-08-171-26/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify cmCoreTryCompile to only recognize try_run arguments when actually parsing try_run. (The old behavior was to recognize try_run arguments for try_compile also and then complain.) This has a small chance that a try_run keyword will be consumed as part of a multi-valued keyword argument. However, this behavior is more consistent with other commands, as we don't normally treat keywords as universally reserved. Also, the code is noticeably simplified.
| * | | try_compile: Fix quotes in reporting of unknown argumentsMatthew Woehlke2022-08-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 6b427d8da9 (cmCoreTryCompile: Port to cmArgumentParser, 2022-08-01) we inadvertently dropped a matching quote during refactoring of reporting unknown arguments given to try_compile/try_run. Add the missing quote to match the old behavior and not have an imbalanced quote in the warning.
* | | | Merge topic 'argparse-positional-tweak'Brad King2022-08-182-4/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f2ef60ca54 cmArgumentParser: Ignore positional after keyword Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7584
| * | | | cmArgumentParser: Ignore positional after keywordMatthew Woehlke2022-08-172-4/+8
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tweak cmArgumentParser to ignore positional arguments once a keyword argument has been seen. This prevents mingling of keyword arguments being able to effectively skip positional arguments, with later arguments being picked up again; this seems highly likely to lead to user confusion. This is also consistent with how other languages (e.g. Python) handle a mix of "named" and positional arguments.
* | | | Merge topic 'create_test_sourcelist-special-chars'Brad King2022-08-181-3/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f0802b2f50 create_test_sourcelist: Add support for more special characters in paths Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7587
| * | | | create_test_sourcelist: Add support for more special characters in pathsKlaas Speller2022-08-171-3/+1
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Use `cmSystemTools::MakeCidentifier` to robustly create a valid function name to which the test path maps. Fixes: #23855
* | | | CMake Nightly Date StampKitware Robot2022-08-181-1/+1
| |_|/ |/| |
* | | Merge topic 'fix-xcode-install-path'Brad King2022-08-171-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 61acaa12af xcode: Don't set INSTALL_PATH unless target is SHARED_LIBRARY Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7473
| * | | xcode: Don't set INSTALL_PATH unless target is SHARED_LIBRARYTor Arne Vestbø2022-08-161-3/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An empty INSTALL_PATH will confuse Xcode, resulting in the archive action producing archives that can not be uploaded to the App Store. The logic to pull out a install_name_dir only applies to SHARED_LIBRARY targets, so we can skip the setting of the property for all other targets. There might be cases where the INSTALL_PATH code path will also end up setting an empty INSTALL_PATH, but it's unclear whether this is a problem, so to keep the patch minimal the existing code is left as is. Fixes: #15183
* | | CMake Nightly Date StampKitware Robot2022-08-171-1/+1
|/ /
* | Merge topic 'refactor-environment-modification'Brad King2022-08-163-134/+182
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a5d45e685f Tests: Add case for ENVIRONMENT_MODIFICATION property OP=reset behavior e2854b4fa2 cmCTestRunTest: Implement the ENVIRONMENT test property with EnvDiff too bfa1c5285b cmSystemTools: Add EnvDiff class to hold ENVIRONMENT_MODIFICATION logic a0b1c4ee90 cmCTestRunTest: Simplify by using GetSystemPathlistSeparator 4e6cbb1f13 cmCTestRunTest: Remove unnecessary CMAKE_BOOTSTRAP guard Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7572
| * | cmCTestRunTest: Implement the ENVIRONMENT test property with EnvDiff tooAlex Reinking2022-08-153-13/+34
| | | | | | | | | | | | | | | | | | | | | | | | Going through the same internal API for both `ENVIRONMENT` and `ENVIRONMENT_MODIFICATION` properties will make it easier to implement checkpointing for `MYVAR=reset:` more efficiently if the need ever presents itself. It also makes the two-stage nature of the environment mutation clearer in the code itself.
| * | cmSystemTools: Add EnvDiff class to hold ENVIRONMENT_MODIFICATION logicAlex Reinking2022-08-153-121/+154
| | | | | | | | | | | | Prepare to re-use this logic when enhancing `cmake -E env`.
| * | cmCTestRunTest: Simplify by using GetSystemPathlistSeparatorAlex Reinking2022-08-151-5/+1
| | | | | | | | | | | | | | | | | | Part of the implementation of `ENVIRONMENT_MODIFICATION` replicated the logic in this function. Using it here de-duplicates code and will be useful during the upcoming refactoring.
| * | cmCTestRunTest: Remove unnecessary CMAKE_BOOTSTRAP guardAlex Reinking2022-08-151-2/+0
| | | | | | | | | | | | CTest is not compiled during CMake's `bootstrap` build.
* | | Merge topic 'xcode-avoid-compile-flags-on-resources'Brad King2022-08-161-1/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7b2359ac53 Xcode: don't set SKIP_PRECOMPILE_HEADERS when source has no language Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Cristian Adam <cristian.adam@gmail.com> Merge-request: !7562
| * | | Xcode: don't set SKIP_PRECOMPILE_HEADERS when source has no languageAndrey Filipenkov2022-08-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Resources that should go into "Copy Bundle Resources" build phase are added as source files but don't have an associated language Fixes: #23821
* | | | Merge topic 'doc-cmake-cli-options'Brad King2022-08-163-29/+30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0224576995 Help: Replace `cmake -P` option mentions w/ Sphinx role 1b94770f27 Help: Insert link to `cmake --toolchain` option 2c54cd871a Help: Turn items of presets manual page into description list e2198fd9dc Help: Format `-Werror`/`-Wno-error` in the way it can be referenced a6070b480f Help: Use placeholder instead of listing choices in option lines 8ba20cb56f Help: Simplify `cmake --log-level` option definition 146e4e6bad Help: Split `ctest` options into groups like `cmake` man page has 4c1008d739 Help: Use `:option:` role to reference `ctest` options ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7554
| * | | | Help: Use placeholder instead of listing choices in option linesAlex Turbov2022-08-141-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This avoids any ambiguity with whether the choices are literal values or not. It also makes the option lines more concise.
| * | | | Help: Short options first, then long, then Windows styleAlex Turbov2022-08-142-3/+3
| | | | |
| * | | | Help: `<f>` → `<file>` for `--help*` option descriptionsAlex Turbov2022-08-141-20/+22
| | | | |
* | | | | Merge topic 'export-no-shdeps'Brad King2022-08-161-0/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0ebff0d61a export: Restore exclusion of private shared library dependencies from checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7557
| * | | | | export: Restore exclusion of private shared library dependencies from checksBrad King2022-08-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 8c65b7042e (cmExportFileGenerator: Simplify collection of targets missing from export set, 2022-04-11, v3.24.0-rc1~281^2) accidentally dropped the behavior change from commit 0ad2a1c181 (Export: Never treat private link libraries as public package dependencies., 2013-09-24, v3.0.0-rc1~559^2). Restore the behavior and add a test. Fixes: #23838
* | | | | | Merge topic 'automoc-silence-warnings'Brad King2022-08-161-9/+9
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 844244ccdc automoc: avoid compiler warnings in linker-warning-silencing code Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7558
| * | | | | automoc: avoid compiler warnings in linker-warning-silencing codeAlbert Astals Cid2022-08-101-9/+9
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revise the code added by !7296 (merged). Make cmake_automoc_silence_linker_warning less warning-y. Fix weak-tables clang warning and copyable-polymorph clazy warning. Fixes: #23823
| * | | | CMake 3.24.0v3.24.0Brad King2022-08-041-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2022-08-161-1/+1
| |_|_|/ |/| | |
* | | | CMake Nightly Date StampKitware Robot2022-08-151-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2022-08-141-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2022-08-131-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2022-08-121-1/+1
| |_|/ |/| |
* | | CMake Nightly Date StampKitware Robot2022-08-111-1/+1
| | |
* | | Merge topic 'fortran-module-dep'Brad King2022-08-104-383/+352
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 219a9b1e14 Fortran: Fix suprious dependencies with submodules a7211d6a2f Fortran: Teach lexer to handle CRLF newlines Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7529
| * | | Fortran: Fix suprious dependencies with submodulesVitaly Mogulian2022-08-092-191/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 695f0d0d3a (cmFortranParser: Parse keywords as lexical tokens, 2016-09-05, v3.7.0-rc1~150^2) we created keyword-specific variants of the original `USE WORD other EOSTMT` production, such as `MODULE WORD other EOSTMT` and `INTERFACE WORD other EOSTMT`. The same pattern was used by more keyword-specific productions in commit b5ac8b8aa7 (Fortran: Add support for submodule syntax in dependency scanning, 2016-09-05, v3.7.0-rc1~73^2~1). The postfix part (`other`) of several keyword-specific productions is not needed to match Fortran syntax. See the Fortran 2018 standard, para.4.1.4/1 on p.28, para.14.2.1/2 on pp.293-294. The postfix is needed only for a case of operator 'use': use <module-name> [, only : <list-of-vars>] The unnecessary postfix matching from the keyword-specific productions such as module, submodule, and interface declarations can cause spurious module dependencies to be detected, so remove it. Extend the test suite with examples covering the previously-broken cases. Fixes: #18427
| * | | Fortran: Teach lexer to handle CRLF newlinesBrad King2022-08-092-192/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We read sources in binary format, so we need to explicitly match CR (`\r`) characters that occur as part of newlines in CRLF sources. This is particularly important when line continuation (`&`) occurs in the middle of module declaration or usage.
* | | | CMake Nightly Date StampKitware Robot2022-08-101-1/+1
| |_|/ |/| |
* | | CMake Nightly Date StampKitware Robot2022-08-091-1/+1
| | |
* | | Merge topic 'doc-markup-program-options'Brad King2022-08-081-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a6abdf6c8f Help: Consistent options declaration -- short first, then long f4563f05db Help: Value for `--graphviz=` option actually is mandatory 04843d743e Help: Replace a bunch of more ``--option`` to `:option:` role 09446266ee Help: Replace mentions of ``-D`` option with :option:`-D` role b57f27b087 Help: Replace mentions of ``-T`` and ``-A`` options with role d25b232dee Help: Replace mentions of ``-G`` option with :option:`-G` role 63940e1cab Help: Replace mentions of ``-C`` option with :option:`-C` role 183a49cbfe Help: Replace mentions of ``-S`` option with :option:`-S` role ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7544
| * | | Help: Value for `--graphviz=` option actually is mandatoryAlex Turbov2022-08-041-1/+1
| | | | | | | | | | | | | | | | Before it was `[file]` that AFAIK means optional.
* | | | CMake Nightly Date StampKitware Robot2022-08-081-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2022-08-071-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2022-08-061-1/+1
| | | |
* | | | Merge topic 'string-JSON-error-typo'Brad King2022-08-051-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e0d3e6e147 string(JSON): Fix typo in error message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7547