summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cmConstStack: Factor out of cmListFileBacktraceBrad King2022-04-0227-87/+146
| | | | | | | This presents value semantics for a stack of constant values. Internally it shares ownership to avoid copies. Previously this was implemented by `cmListFileBacktrace` explicitly, but the approach can be re-used for other kinds of stacks.
* cmListFileBacktrace: Clarify call sites that only push a file pathBrad King2022-04-013-17/+17
| | | | | This removes the last part of the `cmListFileBacktrace` interface that needs to know the type of data in its stack.
* Merge topic 'doc-CMAKE_USER_MAKE_RULES_OVERRIDE'Craig Scott2022-04-011-0/+2
|\ | | | | | | | | | | | | b1c502ff94 Help: Add missing cross-reference in CMAKE_USER_MAKE_RULES_OVERRIDE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7133
| * Help: Add missing cross-reference in CMAKE_USER_MAKE_RULES_OVERRIDECraig Scott2022-03-311-0/+2
| | | | | | | | | | The language-specific variable references the general one already, but the general one did not mention the language-specific one. Add that cross reference to improve discoverability.
* | CMake Nightly Date StampKitware Robot2022-04-011-1/+1
|/
* Merge topic 'quiet_pkg-config'Brad King2022-03-314-7/+7
|\ | | | | | | | | | | | | | | | | | | 99f7d1973c FindGSL: Quiet pkg-config errors 655582e931 FindLAPACK: Quiet pkg-config errors 6dab35e25d FindBLAS: Quiet pkg-config errors b2a7f73b55 FindGLUT: Quiet pkg-config errors Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7128
| * FindGSL: Quiet pkg-config errorsnega2022-03-301-1/+1
| | | | | | | | Issue: #23314
| * FindLAPACK: Quiet pkg-config errorsnega2022-03-301-2/+2
| | | | | | | | Issue: #23314
| * FindBLAS: Quiet pkg-config errorsnega2022-03-301-2/+2
| | | | | | | | Issue: #23314
| * FindGLUT: Quiet pkg-config errorsnega2022-03-301-2/+2
| | | | | | | | Issue: #23314
* | Merge topic 'string-JSON-error-modes'Brad King2022-03-312-3/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 93dce4b4bf string(JSON): fix error message on invalid mode Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7130
| * | string(JSON): fix error message on invalid modeCarlo Teubner2022-03-302-3/+3
| |/ | | | | | | | | | | | | The `GET_ARRAY` and `MEMBERS` modes were removed during development and review of commit 8eab76eb84 (string(JSON): Adds JSON parsing support to the string command, 2020-08-24, v3.19.0-rc1~159^2), but were accidentally left in an error message.
* | Merge branch 'release-3.23'Brad King2022-03-310-0/+0
|\ \
| * \ Merge topic 'GNUInstallDirs-revert-multiarch-prefixes' into release-3.23Brad King2022-03-313-8/+6
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 624ec3692f GNUInstallDirs: Revert "Apply Debian multiarch LIBDIR to more prefixes" Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7127
* | \ \ Merge topic 'GNUInstallDirs-revert-multiarch-prefixes'Brad King2022-03-313-8/+6
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | 624ec3692f GNUInstallDirs: Revert "Apply Debian multiarch LIBDIR to more prefixes" Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7127
| * | | GNUInstallDirs: Revert "Apply Debian multiarch LIBDIR to more prefixes"Brad King2022-03-303-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit dd9584b352 (GNUInstallDirs: Apply Debian multiarch LIBDIR to more prefixes, 2021-11-19, v3.23.0-rc1~323^2). There are separate problems with activating multiarch `LIBDIR` for each prefix it added: * Prefix `/` is often used to stage an installation with `DESTDIR` for inclusion in a tarball package or similar. * Prefix `/usr/local` is the default `CMAKE_INSTALL_PREFIX`, causing the multiarch `LIBDIR` to be cached after the first configuration, even if the prefix changes later. Revert the change for now, except for the documentation update. Further discussion will be needed to select a way to enable multiarch `LIBDIR` for `/` and `/usr/local`. Fixes: #23365 Issue: #19698
* | | | Merge branch 'release-3.23'Brad King2022-03-310-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge topic 'help-variables-cmakecachefiledir-might-not-be-defined' into ↵Brad King2022-03-311-4/+3
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release-3.23 cf4100d7da Help: Add that CMAKE_CACHEFILE_DIR might not be defined Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7125
* | \ \ \ Merge topic 'help-variables-cmakecachefiledir-might-not-be-defined'Brad King2022-03-311-4/+3
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | cf4100d7da Help: Add that CMAKE_CACHEFILE_DIR might not be defined Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7125
| * | | | Help: Add that CMAKE_CACHEFILE_DIR might not be definedTobias Nießen2022-03-301-4/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | CMake only sets `CMAKE_CACHEFILE_DIR` when writing `CMakeCache.txt`, so the variable will usually be undefined when `CMakeLists.txt` runs. Revise its documentation to clarify that `CMAKE_BINARY_DIR` should be used instead.
* | | | Merge branch 'release-3.23'Brad King2022-03-310-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge topic 'help-json-length-empty-index' into release-3.23Brad King2022-03-311-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2f0a3d43e1 Help: Fix string(JSON ... LENGTH ...) signature Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7126
* | \ \ \ Merge topic 'help-json-length-empty-index'Brad King2022-03-311-1/+1
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | 2f0a3d43e1 Help: Fix string(JSON ... LENGTH ...) signature Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7126
| * | | | Help: Fix string(JSON ... LENGTH ...) signatureTobias Nießen2022-03-301-1/+1
| | |/ / | |/| | | | | | | | | | | | | | The list of indices and/or member names is optional, i.e., can be empty. For example, string(JSON foo LENGTH "[0,0,0]") sets foo to 3.
* | | | Merge branch 'release-3.23'Brad King2022-03-310-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge topic 'ninja_compile_database_understand_new_cuda_lang_variables' into ↵Brad King2022-03-312-15/+21
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release-3.23 f7c6b9833c CUDA: Ninja generator generates valid compile database Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7129
* | \ \ \ Merge topic 'ninja_compile_database_understand_new_cuda_lang_variables'Brad King2022-03-312-15/+21
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | f7c6b9833c CUDA: Ninja generator generates valid compile database Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7129
| * | | | CUDA: Ninja generator generates valid compile databaseRobert Maynard2022-03-302-15/+21
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | The ninja generator has been updated to poperly write the compile database when the CUDA language has been enabled. Fixes #23368
* | | | Merge branch 'release-3.23'Brad King2022-03-310-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge topic 'CMakeDependentOption-doc-improvement' into release-3.23Brad King2022-03-311-7/+12
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | 7a614977f9 CMakeDependentOption: improve documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Rui Oliveira <ruimail24@gmail.com> Merge-request: !7124
* | | | Merge topic 'CMakeDependentOption-doc-improvement'Brad King2022-03-311-7/+12
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | 7a614977f9 CMakeDependentOption: improve documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Rui Oliveira <ruimail24@gmail.com> Merge-request: !7124
| * | | CMakeDependentOption: improve documentationBen Boeckel2022-03-301-7/+12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it far clearer that `<depends>` is a list up front instead of burying the lede because a list is generally "trivially true" in CMake[1]. Also clarify that `<force>` is only available as a local variable and if queried outside of the "scope" of the `cmake_dependent_option` call, will get the stored user cache value. [1] The exception being when the last entry ends in `-NOTFOUND`. Suggested-by: Rui Oliveira
* | | CMake Nightly Date StampKitware Robot2022-03-311-1/+1
| |/ |/|
* | Merge topic 'verify-header-sets'Brad King2022-03-3047-0/+478
|\ \ | | | | | | | | | | | | | | | | | | | | | c798744f81 FILE_SET: Add VERIFY_HEADER_SETS target property Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7085
| * | FILE_SET: Add VERIFY_HEADER_SETS target propertyKyle Edwards2022-03-2947-0/+478
| | | | | | | | | | | | Fixes: #23338
* | | Merge topic 'FindHDF5-library'Brad King2022-03-301-4/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | e4e309f165 FindHDF5: Add explicit library location instead of guessed library name. Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !7105
| * | | FindHDF5: Add explicit library location instead of guessed library name.مهدي شينون (Mehdi Chinoune)2022-03-221-4/+4
| | | |
* | | | Merge topic 'preserve-compiler-arg1'Brad King2022-03-306-14/+29
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 211a9deac1 Preserve CMAKE_${lang}_COMPILER_ARG1 from existing CMakeCache.txt b4de4217ae Tests: Simplify RunCMake.CompilerArgs no-clean cases Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7122
| * | | | Preserve CMAKE_${lang}_COMPILER_ARG1 from existing CMakeCache.txtKlein, Thorsten (BSH)2022-03-296-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `CMAKE_<LANG>_COMPILER` may be a list if it was defined by a toolchain file. In this case we move the args to `CMAKE_<LANG>_COMPILER_ARG1`. If `CMAKE_<LANG>_COMPILER` is not a list, then it might have been cached by a previous run that split the `CC` or `CXX` environment variable into `CMAKE_<LANG>_COMPILER` and `CMAKE_<LANG>_COMPILER_ARG1`. In this latter case, avoid clobbering `CMAKE_<LANG>_COMPILER_ARG1`. Fixes: #23358
| * | | | Tests: Simplify RunCMake.CompilerArgs no-clean casesBrad King2022-03-291-12/+7
| | | | | | | | | | | | | | | | | | | | Also distinguish between the toolchain and env cases in the output.
* | | | | Merge topic 'framework-consumption-during-compilation'Brad King2022-03-306-4/+53
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45ac71d8bc Ensure targets which are frameworks can be used freely Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: alcroito <alexandru.croitor@qt.io> Merge-request: !7121
| * | | | | Ensure targets which are frameworks can be used freelyMarc Chevrier2022-03-296-4/+53
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure flag -F/path/to/framework is specified during compilation step of consumers of the framework. Fixes: #23336
* | | | | CMake Nightly Date StampKitware Robot2022-03-301-1/+1
| | | | |
* | | | | Merge branch 'release-3.23'Brad King2022-03-290-0/+0
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | CMake 3.23.0v3.23.0Brad King2022-03-291-1/+1
| | | | |
* | | | | Merge topic 'set-env-var-first-run'Brad King2022-03-2915-6/+82
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 05e510bf0b CMP0132: Don't set compiler environment variables on first run 774a9eb210 Tests: Reorder CMP0129 test Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7108
| * | | | | CMP0132: Don't set compiler environment variables on first runCraig Scott2022-03-2915-2/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running CMake for the first time in a build tree, for some generators CMake would set compiler environment variables like CC, CXX, etc. when the corresponding language is enabled. That behavior was never documented and can result in different behavior between the first and subsequent runs. Add a policy to no longer set those environment variables. Fixes: #21378
| * | | | | Tests: Reorder CMP0129 testCraig Scott2022-03-261-4/+6
| | | | | | | | | | | | | | | | | | Move the CMP0129 tests up to be with the other policy tests.
* | | | | | Merge topic 'fix-23191'Brad King2022-03-296-15/+39
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fd46db1745 Trace: process else and elseif commands correctly Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !7118
| * | | | | | Trace: process else and elseif commands correctlyBraulio Valdivielso Martinez2022-03-256-15/+39
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There have been two bugs reported about the `else` and `elseif` commands in the context of the tracing functionality and the json-v1 format (#23191 #22315). In essence, the reported traces referred to the layer of the stacktrace immediately on top of the expected ones. This MR fixes both issues. My solution adds a new parameter to the `PrintCommandTrace` function, `commandMissingFromStack`, that callers can specify if the command they want to report a trace for is not a regular part of the stack maintained in `cmMakefile`. This is only the case for `else` and `elseif`. The other bug is fixed by having the caller pass a `cmListFileBacktrace`, which helps in getting the right lines, file names... for the reported command. Fixes: #23191 #22315