Commit Graph

631 Commits

Author SHA1 Message Date
Craig Scott 6e5c5265ad Help: Clarify how env vars and ..._INIT variables interact
Fixes: #20358
2020-05-24 19:10:14 +10:00
Brad King c2d26d94b3 Merge topic 'fortran-preprocess-property'
e939f50410 Ninja: Skip Fortran preprocessing if Fortran_PREPROCESS is OFF
59d88ba1fb Ninja: Add helper functions to generate Fortran build
74933de931 Ninja: Add helper functions to generate Fortran preprocess rule
4f6c32500b Fortran: Add Fortran_PREPROCESS property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4659
2020-05-22 10:35:10 -04:00
Brad King 42c6f34194 Merge topic 'support_conda_env'
9d72f71153 Conda: Add CONDA_PREFIX as an acceptable system prefix path
63732d77f9 Tests: Update QtAutogen codeeditor test only include headers needed
f2dedb2169 Tests: Update test suite to run in an Anaconda environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4773
2020-05-22 08:12:24 -04:00
Brad King ab36dfc12e Merge branch 'backport-cuda-default-runtime' into cuda-default-runtime 2020-05-22 06:50:19 -04:00
Peter Hill 4f6c32500b Fortran: Add Fortran_PREPROCESS property
Issue: #18870
2020-05-21 11:44:14 -04:00
Robert Maynard 9d72f71153 Conda: Add CONDA_PREFIX as an acceptable system prefix path 2020-05-21 11:32:36 -04:00
Robert Maynard 33c830d485 CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain
Since commit 1382482dd6 (CUDA: Add abstraction for cuda runtime
selection, 2019-11-29, v3.17.0-rc1~83^2) we add CUDA runtime library
selection flags by default.

To maintain backwards compatibility the default CUDA runtime
library needs to be computed based on what libraries are found
on the initial compiler invocation. For example a toolchain
could establish initial flags that have all CUDA compilations
using the runtime version, and if we don't detect this we will
try to link to both the static and shared runtime.

Co-Author: Brad King <brad.king@kitware.com>
Fixes: #20708
2020-05-21 11:15:03 -04:00
Robert Maynard fa8f697abc Help: Correct CMAKE_CUDA_RUNTIME_LIBRARY applicability 2020-05-20 14:36:55 -04:00
Robert Maynard c54e43f354 Document which environment variables effect CMAKE_SYSTEM_PREFIX_PATH 2020-05-19 10:57:09 -04:00
Brad King 551a185271 Merge topic 'ctest-nightly-start-time'
c0a6868785 Tests: Add tests to demonstrate when CTEST_NIGHTLY_START_TIME is needed
d84e8a1818 Help: Clarify why CTEST_NIGHTLY_START_TIME is needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4688
2020-05-01 08:26:29 -04:00
Kyle Edwards d84e8a1818 Help: Clarify why CTEST_NIGHTLY_START_TIME is needed 2020-04-29 14:49:19 -04:00
Nicolas Bock fc7d821213 Help: Clarify the use of PROJECT_SOURCE_DIR
The value of the PROJECT_SOURCE_DIR variable is not always the source
directory of the "most recent project command". If the project was
included via add_subdirectory, variable scoping will prevent this
value to change in the parent scope.

Signed-off-by: Nicolas Bock <nicolasbock@gmail.com>
2020-04-29 23:17:41 +10:00
Raul Tambre 670f9c8a6d CUDA: Add CUDA_ARCHITECTURES target property
Simplifies CUDA target architecture handling.

Required for Clang support as Clang doesn't automatically select a supported architecture.
We detect a supported architecture during compiler identification and set CMAKE_CUDA_ARCHITECTURES to it.

Introduces CMP0104 for backwards compatibility with manually setting code generation flags with NVCC.

Implements #17963.
2020-04-15 17:55:41 +03:00
Craig Scott 0457d58344 Merge topic 'docs-CMAKE_CURRENT_FUNCTION'
5281621857 Help: Improve wording of CMAKE_CURRENT_FUNCTION_LIST_DIR docs
a49dba84b0 Help: Add cross-references for CMAKE_CURRENT_FUNCTION* docs
07591b2477 Help: Minor grammar cleanups of CMAKE_CURRENT_FUNCTION* docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !4595
2020-04-11 09:12:29 -04:00
Craig Scott 5281621857 Help: Improve wording of CMAKE_CURRENT_FUNCTION_LIST_DIR docs
The original wording was somewhat confusing in talking about rendering of
templates. While technically correct, a less experienced user may not know
that terminology. The wording has been updated to more clearly describe the
example usage.

The old way of implementing the example is not "bad", it was the only way to do
things before the CMAKE_CURRENT_FUNCTION_LIST_DIR variable was added.
The example has been updated to remove the Bad/Good captions to reflect this.
Indentation of the examples was also fixed to make them conform to the guidelines.
2020-04-10 22:02:11 +10:00
Craig Scott a49dba84b0 Help: Add cross-references for CMAKE_CURRENT_FUNCTION* docs 2020-04-10 21:56:07 +10:00
Craig Scott 07591b2477 Help: Minor grammar cleanups of CMAKE_CURRENT_FUNCTION* docs 2020-04-10 21:55:38 +10:00
Brad King 0dc3ad6035 Merge topic 'ctest-resource-file-cache'
3bd04bd642 CTest: Add CTEST_RESOURCE_SPEC_FILE variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4564
2020-04-06 08:26:40 -04:00
Craig Scott f802bf6c3a Merge topic 'docs-CMAKE_FIND_DEBUG_MODE'
3b698d3a02 Help: Improve discoverability of CMAKE_FIND_DEBUG_MODE
f79021614d Help: Fix CMAKE_FIND_DEBUG_MODE list formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4569
2020-04-06 06:34:15 -04:00
Craig Scott f79021614d Help: Fix CMAKE_FIND_DEBUG_MODE list formatting 2020-04-04 19:59:26 +11:00
Kyle Edwards 3bd04bd642 CTest: Add CTEST_RESOURCE_SPEC_FILE variable 2020-04-02 16:29:50 -04:00
Brad King ac2b60d2ef Merge topic 'docs-xcode-gen-scheme-workdir'
47982ad2c4 Help: Add missing XCODE_SCHEME_WORKING_DIRECTORY
d206b41f6a Help: Minor typos and formatting for XCODE_SCHEME_WORKING_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4543
2020-03-30 13:23:19 -04:00
Brad King 3773718be6 Merge topic 'docs-xcode-gen-scheme-workdir' into release-3.17
47982ad2c4 Help: Add missing XCODE_SCHEME_WORKING_DIRECTORY
d206b41f6a Help: Minor typos and formatting for XCODE_SCHEME_WORKING_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4543
2020-03-30 13:23:18 -04:00
Craig Scott d206b41f6a Help: Minor typos and formatting for XCODE_SCHEME_WORKING_DIRECTORY 2020-03-29 22:13:56 +11:00
Craig Scott 79069db2cb Merge topic 'ninja-multi-doc-variable-update'
c2f13c1c8a Help: Move Ninja Multi-Config variable details into their respective pages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4532
2020-03-28 03:05:10 -04:00
Brad King 5aeadfbdb0 Merge topic 'pch-warn-invalid'
010d3294df PCH: add an option to disable `-Winvalid-pch`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4499
2020-03-27 08:03:30 -04:00
Kyle Edwards c2f13c1c8a Help: Move Ninja Multi-Config variable details into their respective pages 2020-03-26 15:33:48 -04:00
Cristian Adam 010d3294df PCH: add an option to disable -Winvalid-pch
Fixes: #20295
2020-03-26 14:24:46 +01:00
Brad King 4e056b9571 Merge topic 'doc-typo'
fee53525fd Help: Fixed typo in CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4516
2020-03-23 10:54:42 -04:00
Jaak Ristioja fee53525fd Help: Fixed typo in CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
Signed-off-by: Jaak Ristioja <jaak@ristioja.ee>
2020-03-23 09:46:08 -04:00
Alexandru Croitor 55ddd3bd91 Add support for FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG> 2020-03-04 14:30:54 +01:00
Kyle Edwards 68fb352bb2 Ninja Multi-Config: Remove "NMC" from variable names
Also rename `..._DEFAULT_BUILD_FILE_CONFIG` to `..._DEFAULT_BUILD_TYPE`.
These name changes make the variables meaningful for future use by other
generators.
2020-02-27 09:22:08 -05:00
Kyle Edwards 45f87605c1 Help: Note that CMAKE_CFG_INTDIR is not fully supported on Ninja Multi-Config 2020-02-25 14:00:43 -05:00
Brad King 2d69893d21 Merge topic 'ninja-multi-variable-shuffle'
fa9590d4de Ninja Multi-Config: Shuffle variables around

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4305
2020-02-03 14:00:03 -05:00
Kyle Edwards fa9590d4de Ninja Multi-Config: Shuffle variables around
Remove redundant variable CMAKE_NINJA_MULTI_CROSS_CONFIG_ENABLE.
Rename other variables. Document and improve handling of error
conditions.
2020-02-03 13:27:51 -05:00
Brad King bc988df654 AIX: Add an option to disable automatic exports from shared libraries
Since commit 9570665fdf (AIX: Explicitly compute shared object exports
for both XL and GNU, 2019-07-11, v3.16.0-rc1~418^2~2) we always export
all symbols from shared libraries by default.  Add a new target property
called `AIX_EXPORT_ALL_SYMBOLS` that can be explicitly set to OFF to
suppress this behavior and export no symbols by default.

Fixes: #20290
2020-01-31 09:34:06 -05:00
Brad King 20a4627ea9 Merge topic 'cuda_runtime_library_controls'
1382482dd6 CUDA: Add abstraction for cuda runtime selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4178
2020-01-28 10:52:33 -05:00
Robert Maynard 1382482dd6 CUDA: Add abstraction for cuda runtime selection
Fixes #17559
Replace our hard-coded default of cudart=static with a first-class abstraction to select the runtime library from an enumeration of logical names.
2020-01-27 16:02:26 -05:00
Brad King f49db0d82f Merge topic 'ninja-multi-cross-configs'
5f1a6bfeb0 Ninja Multi-Config: Add variable to control configs used in cross-config build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4269
2020-01-24 15:02:20 -05:00
Brad King 6e2e185060 Merge topic 'vs-dotnet-standard-core'
a64765efd7 VS: Add support for .NET Standard and .NET Core

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4240
2020-01-24 10:55:26 -05:00
Joerg Bornemann a64765efd7 VS: Add support for .NET Standard and .NET Core
Fixes: #20105
2020-01-24 09:11:05 -05:00
Kyle Edwards 5f1a6bfeb0 Ninja Multi-Config: Add variable to control configs used in cross-config build 2020-01-23 15:47:12 -05:00
Kyle Edwards cebab38bae Ninja Multi-Config: Add variable to control aliases in build.ninja 2020-01-22 10:26:21 -05:00
Brad King 1d9df64610 Merge topic 'mark_as_advanced-without-cache'
f9a2b7d7af cmMarkAsAdvancedCommand: ignore variables which don't exist in the cache
64a3bab2bd cmake: avoid marking local or unused variables as advanced
a1f9300829 FindOpenSSL: do not mark a local variable as advanced
ae0186e59e FindCurses: only mark CURSES_EXTRA_LIBRARY when it is used
1328f3bab2 FindOpenGL: only mark declared cache variables as advanced
01636dfcf8 FindLua: only mark LUA_MATH_LIBRARY as advanced if required
f6628d9f79 FindBoost: only mark Boost_DIR as advanced if defined
91ec160a8c CTest: avoid marking undeclared cache variables as advanced
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4150
2020-01-22 09:50:49 -05:00
Ben Boeckel f9a2b7d7af cmMarkAsAdvancedCommand: ignore variables which don't exist in the cache
Fixes: #18331
2020-01-20 15:49:29 -05:00
Brad King bed44ca545 Merge topic 'cmake-ctest-arguments'
a53940abef Add CMAKE_CTEST_ARGUMENTS variable to pass command-line arguments to ctest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4168
2020-01-17 09:40:23 -05:00
Brad King 3e6ac476f9 Merge topic 'rename-cross-config-variable'
d743efc32f Ninja Multi-Config: Rename variable to be more consistent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4234
2020-01-17 09:39:32 -05:00
Kyle Edwards d743efc32f Ninja Multi-Config: Rename variable to be more consistent
Also make some tweaks to the documentation.
2020-01-16 10:34:43 -05:00
Dan Johnston 1f4400a96f Ninja: Add a separate job pool for PCH creation
Add a `JOB_POOL_PRECOMPILE_HEADER` target property to specify the pool
name, and its associated `CMAKE_JOB_POOL_PRECOMPILE_HEADER` variable.

Fixes: #20217
2020-01-16 10:32:25 -05:00
Robert Goulet a53940abef Add CMAKE_CTEST_ARGUMENTS variable to pass command-line arguments to ctest
Fixes: #20172
2020-01-15 15:02:56 -05:00