summaryrefslogtreecommitdiffstats
path: root/Help
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'msvc_static_assert'Brad King2020-08-251-3/+10
|\ | | | | | | | | | | | | 95bc11dbb4 MSVC: Record support for c_static_assert Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5148
| * MSVC: Record support for c_static_assertRaul Tambre2020-08-201-3/+10
| | | | | | | | Supported since MSVC 19.28.29115 (VS 16.8.0 Preview 1.0).
* | Help: Separate C++ compile feature by standardFrancisco Pombal2020-08-231-55/+87
| | | | | | | | | | | | Additionally, mention that no fine-grained features are available for C++ 17 and beyond. Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* | Help/dev: Update CMake Review Process document to suggest 'git describe'Brad King2020-08-201-0/+1
| | | | | | | | | | Using `git describe --contains` is the preferred way to reference a commit relative to a tag.
* | Merge topic 'cpack-wix-custom-xmlns'Brad King2020-08-192-0/+13
|\ \ | | | | | | | | | | | | | | | | | | 267de3ba30 CPack/WiX: Add support for custom XML namespaces Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5132
| * | CPack/WiX: Add support for custom XML namespacesFritz Elfert2020-08-182-0/+13
| | | | | | | | | | | | | | | | | | Add a `CPACK_WIX_CUSTOM_XMLNS` option to specify these. Fixes: #21098
* | | Merge topic 'buildsystem_documentation_update'Brad King2020-08-191-5/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | cfcb71c530 Help: Update cmake-buildsystem documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5123
| * | | Help: Update cmake-buildsystem documentationJoseph Snyder2020-08-181-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add additional information to the cmake-buildsystem manual: * Add link to "Generator Expressions" in a place which demonstrates a generator expression without linking to what they are. * Update "diagnostic message" for "Compatible Interface Properties" to contain an example of the message sent. * Add information about the macOS FRAMEWORK_VERSION and how "A" is the conventional value to use.
* | | | Merge topic 'fotran_module_vs_docs'Brad King2020-08-181-0/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c5407b95f0 Help: Expand Fortran_MODULE_DIRECTORY documentation. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5128
| * | | | Help: Expand Fortran_MODULE_DIRECTORY documentation.Petr Kmoch2020-08-171-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Document how Visual Studio generators append per-configuration directory to path where Fortran modules are created.
* | | | | Merge topic 'add_test-special-chars-in-name'Brad King2020-08-174-3/+35
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a20987732b add_test: Allow special characters in test name (w/ policy CMP0110) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5076
| * | | | | add_test: Allow special characters in test name (w/ policy CMP0110)Deniz Bahadir2020-08-124-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Restore the change from commit f84af8e270 (add_test: Allow special characters in test name, 2020-05-16, v3.18.0-rc1~142^2) that had to be reverted by commit f84af8e270 (add_test: Allow special characters in test name, 2020-05-16, v3.18.0-rc1~142^2) for compatibility. Add policy CMP0110 to make the change in a compatible way. Also, support even more characters than before by generating the test scripts using bracket arguments around the test names. Fixes: #19391 Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
* | | | | | Merge topic 'ios-combined-prune-archs'Brad King2020-08-171-0/+6
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5852b8867f CMakeIOSInstallCombined: Enforce disjoint architecture sets 79098d23eb Tests: Avoid warnings about unused arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5111
| * | | | | CMakeIOSInstallCombined: Enforce disjoint architecture setsGregor Jasny2020-08-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting with Xcode 12 the arm64 architecture is supported as an iOS device as well as simulator architecture. But the fat macho file format does not distinguish by SDK, only by architecture. That makes lipo (rightfully) complain that it cannot add both architectures to a single file. To work around we make sure that both SDKs are built for a disjoint set of architectures. If an architecture is present for both SDKs we prefer the currently configured one. The log output has been extended to reflect that: ``` [iOS combined] Architectures (iphoneos): arm64 arm64e armv7 armv7s [iOS combined] Architectures (iphonesimulator): arm64 arm64e i386 x86_64 [iOS combined] Architectures (iphonesimulator) after pruning: i386 x86_64 ```
* | | | | | Help: Improve formatting for IMPLICIT_DEPENDS_INCLUDE_TRANSFORMJosef Angstenberger2020-08-131-5/+5
| | | | | |
* | | | | | Merge topic 'optimize-static-library-deps'Kyle Edwards2020-08-135-0/+51
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2e42651dff Add option to optimize link dependencies for static libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5103
| * | | | | Add option to optimize link dependencies for static librariesKyle Edwards2020-08-125-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an `OPTIMIZE_DEPENDENCIES` target property and supporting `CMAKE_OPTIMIZE_DEPENDENCIES` variable to optionally enable pruning and flattening of outgoing dependencies from static libraries. Since they do not actually link, they only depend on side effects of their dependencies. Therefore we can drop dependencies that contribute no side effects.
* | | | | | Merge topic 'msvc_c11'Brad King2020-08-121-0/+7
|\ \ \ \ \ \ | |/ / / / / |/| | | | / | | |_|_|/ | |/| | | | | | | | | | | | | f7347f28c7 MSVC: Record support for C11 and c_restrict Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5115
| * | | | MSVC: Record support for C11 and c_restrictRaul Tambre2020-08-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MSVC >=19.27 supports a C11 switch. The `c_restrict` feature has also been implemented. Fixes: #21069
* | | | | Merge topic 'automoc-path-prefix-off'Brad King2020-08-113-4/+11
|\ \ \ \ \ | |/ / / / | | | / / | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 5b5be34811 Help: Add 3.18.2 release note about AUTOMOC_PATH_PREFIX default change db659e18bc Merge branch 'backport-3.17-automoc-path-prefix-off' e503fbe38a Merge branch 'backport-3.16-automoc-path-prefix-off' 4c33b305a0 Autogen: Turn off moc path prefix generation by default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5105
| * | | Help: Add 3.18.2 release note about AUTOMOC_PATH_PREFIX default changeJoerg Bornemann2020-08-101-0/+8
| | | |
| * | | Merge branch 'backport-3.17-automoc-path-prefix-off'Brad King2020-08-102-4/+3
| |\ \ \
| | * \ \ Merge branch 'backport-3.16-automoc-path-prefix-off'Brad King2020-08-102-4/+3
| | |\ \ \
| | | * | | Autogen: Turn off moc path prefix generation by defaultJoerg Bornemann2020-08-102-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the default value of `CMAKE_AUTOMOC_PATH_PREFIX` to `OFF` to restore compatibility with behavior of CMake 3.15 and below. C++ source files that are generated by Qt's meta object compiler (moc) include the header file that was passed as input argument to moc. This is usually a path relative to the source directory, for example #include "../../source/dir/myobject.h" That is problematic for reproducible builds as described in #18815. To cope with that, the target property AUTOMOC_PATH_PREFIX was introduced in CMake 3.16 by commit d018d27c10 (Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX), 2019-09-13, v3.16.0-rc1~94^2~4). The property is default-initialized from the variable `CMAKE_AUTOMOC_PATH_PREFIX`, which defaults to `ON`. If this property is ON, and myobject.h is located in an include directory of the target, moc-generated C++ files include the file without the "path prefix": #include "myobject.h" This behavior, however, can break projects that have equally named header files in different include directories. As "not breaking existing projects" trumps "have reproducible builds by default" we change the default of `CMAKE_AUTOMOC_PATH_PREFIX` to `OFF`. Also, it is now possible to pass `-DCMAKE_AUTOMOC_PATH_PREFIX=ON` on the CMake command line. Before, it was overridden in `CMakeGenericSystem`. Fixes: #20598 Issue: #18815
* | | | | | Merge topic 'build-interface-targets'Brad King2020-08-105-24/+66
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bafa9fe887 fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2 4391913133 Add INTERFACE libraries to generated buildsystem if they have SOURCES afb998704e Remove filtering of allowed INTERFACE library properties e7edba2baf Makefiles: Use IsInBuildSystem in global generator target type checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5078
| * | | | | | fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2Brad King2020-08-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INTERFACE libraries with SOURCES now appear in the generated buildsystem, so include them in the codemodel output too. We do not need to bump the `codemodel-v2` object kind minor version because that was already done in post-3.18 development by commit 7d6861f367 (fileapi: Extend codemodel targets with language standard, 2020-06-18). Fixes: #18608
| * | | | | | Add INTERFACE libraries to generated buildsystem if they have SOURCESBrad King2020-08-074-10/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INTERFACE libraries were created with the intention of collecting usage requirements for use by other targets via `target_link_libraries`. Therefore they were not allowed to have SOURCES and were not included in the generated buildsystem. In practice, this has become limiting: * Header-only libraries do have sources, they just do not compile. Developers should be able to edit those sources (the header files) in their IDE. * Header-only libraries may need to generate some of their header files via custom commands. Some projects work around these limitations by pairing each interface library with an `add_custom_target` that makes the header files and custom commands appear in the generated buildsystem and in IDEs. Lift such limitations by allowing INTERFACE libraries to have SOURCES. For those with sources, add a corresponding build target to the generated buildsystem. Fixes: #19145
| * | | | | | Remove filtering of allowed INTERFACE library propertiesBrad King2020-08-031-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we disallowed use of arbitrary properties on INTERFACE libraries. The goal was to future-proof projects using them by not allowing properties to be set that may affect their future inclusion in the generated buildsystem. In order to prepare to actually include INTERFACE libraries in the generated buildsystem, drop the filter and allow arbitrary properties to be set. Issue: #19145
* | | | | | | Merge topic 'clang-cl-vfs'Brad King2020-08-103-0/+16
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 20ebaed972 Clang: Add support for passing VFS arguments d993ebd4ca clang-cl: Add '--' before source file a94672b919 cmake: Change cmake_llvm_rc separator from -- to ++ to avoid conflict Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5087
| * | | | | | Clang: Add support for passing VFS argumentsThomas Bernard2020-08-073-0/+16
| | | | | | |
* | | | | | | Merge topic 'CUDAToolkit-no-nvcc'Brad King2020-08-071-0/+5
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7cc815a2a6 CUDAToolkit: Detect CUDA SDK that don't have nvcc Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: Raul Tambre <raul@tambre.ee> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !5061
| * | | | | | CUDAToolkit: Detect CUDA SDK that don't have nvccRobert Maynard2020-07-301-0/+5
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a CUDA sdk doesn't have nvcc, defer to the existence of a version.txt file. When we do this fall back we also reconstruct the CUDA version via version.txt Fixes #20643
* | | | | | Merge topic 'compiler_flags'Brad King2020-08-0610-1/+91
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f76c20da63 Toolchain: Test compiler initial settings db486da265 Toolchain: Update documentation for initial compiler flags deec2f587c Toolchain: Take CMAKE_<lang>_FLAGS_INIT into account during compiler detection ca899af3e2 Toolchain: Handle repeated invocations of CMake with -DCMAKE_C_COMPILER 12ba89e142 Toolchain: Make `/path/comp;-argn' behave the same as 'comp;-argn' 6f1af899db Toolchain: Capture all arguments from CMAKE_<LANG>_COMPILER ec1d3bc0b6 cmake: avoid exception when printing "changed variables" message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4136
| * | | | | | Toolchain: Update documentation for initial compiler flagsFred Baksik2020-08-0310-1/+91
| | | | | | |
* | | | | | | Merge topic 'improve_standard_required_doc'Brad King2020-08-063-3/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2cc1159653 Help: Clarify what MSVC compilers ignore <LANG>_STANDARD_REQUIRED Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5093
| * | | | | | | Help: Clarify what MSVC compilers ignore <LANG>_STANDARD_REQUIREDRobert Maynard2020-08-033-3/+3
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | Fixes #20953
* | | | | | | Help: Document in add_library that IMPORTED_IMPLIB is for DLL import libsBrad King2020-08-041-1/+6
|/ / / / / / | | | | | | | | | | | | | | | | | | Fixes: #21053
* | | | | | Merge topic 'doc-add_library-updates'Craig Scott2020-08-012-74/+82
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ee5b58f491 Help: State in add_library that INTERFACE libraries have no build targets 99b1e85f07 Help: Consolidate add_library documentation on IMPORTED libraries 716e76be3e Help: Re-order add_library sections 1b0adeea81 Help: Clarify target_sources PRIVATE/PUBLIC/INTERFACE scopes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5086
| * | | | | Help: State in add_library that INTERFACE libraries have no build targetsBrad King2020-07-311-5/+9
| | | | | |
| * | | | | Help: Consolidate add_library documentation on IMPORTED librariesBrad King2020-07-311-32/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move documentation on IMPORTED INTERFACE libraries to the main section on Imported Libraries. Revise the section to clarify the different kinds of imported libraries that can be created and what properties they need. Issue: #18975
| * | | | | Help: Re-order add_library sectionsBrad King2020-07-311-61/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Put all the sections that create in-project targets first, and move Imported Libraries and Alias Libraries at the end.
| * | | | | Help: Clarify target_sources PRIVATE/PUBLIC/INTERFACE scopesBrad King2020-07-311-6/+8
| | | | | |
* | | | | | Merge topic 'file-download-no-save'Craig Scott2020-07-282-5/+15
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | fed7d8f76d file(DOWNLOAD): Make file argument optional Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5060
| * | | | | file(DOWNLOAD): Make file argument optionalKyle Edwards2020-07-272-5/+15
| |/ / / /
* | | | | Merge topic 'revert-add_test-special-chars'Brad King2020-07-282-3/+9
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | 5fc5f4d26e add_test: Revert "Allow special characters in test name" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5067
| * | | | add_test: Revert "Allow special characters in test name"Brad King2020-07-272-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit f84af8e270 (add_test: Allow special characters in test name, 2020-05-16, v3.18.0-rc1~142^2). Unfortunately the fix breaks projects that were working around the limitation with manual escaping. The fix can be re-introduced with a policy in a future version. Also add a 3.18.1 release note explaining the change. Fixes: #21017, #20965 Issue: #19391
| * | | | Merge topic 'file-GET_RUNTIME_DEPENDENCIES-terms' into release-3.18Brad King2020-07-231-2/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2b60088d14 Help: Update file(GET_RUNTIME_DEPENDENCIES) prose to match option names Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5053
* | \ \ \ \ Merge topic 'EXCLUDE_FROM_ALL-genex'Brad King2020-07-271-0/+5
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 22bd267388 Help: Add release note for EXCLUDE_FROM_ALL genex support 807c8aa9f0 Tests: Simplify RunCMake.ExcludeFromAll single-config case 36743436cf Tests: Fix RunCMake.ExcludeFromAll test program warning 99c131c5a3 cmGlobalGenerator: Fix spelling of EXCLUDE_FROM_ALL in error message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5049
| * | | | | Help: Add release note for EXCLUDE_FROM_ALL genex supportBrad King2020-07-231-0/+5
| | | | | |
* | | | | | Merge topic 'file-GET_RUNTIME_DEPENDENCIES-terms'Brad King2020-07-231-2/+2
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2b60088d14 Help: Update file(GET_RUNTIME_DEPENDENCIES) prose to match option names Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5053