summaryrefslogtreecommitdiffstats
path: root/Help
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'osx-version-flags'Brad King2020-01-286-6/+48
|\ | | | | | | | | | | | | | | 6a84f0b791 macOS: Test OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION properties 4a62e3d97c macOS: Add OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION properties Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4274
| * macOS: Add OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION propertiesIsuru Fernando2020-01-246-6/+48
| | | | | | | | Fixes: #17652
* | Merge topic 'QNX_CMAKE_SYSROOT'Brad King2020-01-281-0/+3
|\ \ | | | | | | | | | | | | | | | | | | 32a6ab1f3b QNX: Add support for CMAKE_SYSROOT Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4277
| * | QNX: Add support for CMAKE_SYSROOTStephen Kelly2020-01-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QCC is a wrapper around GCC, but it is not a fully transparent wrapper. Some compile options need to be passed to GCC using a `-Wc` option. QCC does not support --sysroot, so setting CMAKE_SYSROOT in a toolchain file currently does not work. This means that it is likely that no one is setting CMAKE_SYSROOT in existing QNC toolchain files. Override the GCC option for sysroot in the QCC.cmake file with -Wc,-isysroot. This exposes a further issue in that the QNX SDK does not follow the same architectural folder structure as linux uses. That is, on linux systems, architecture-specific libraries might be in <sysroot>/usr/lib/<arch> such as /usr/lib/x86_64-linux-gnu/libcurl.so CMake models this by suffixing the <arch> onto lib directories when searching for libraries. The QNX SDK is structured differently such that the <arch> should be used as a prefix: <sysroot>/<arch>/usr/lib such as <sysroot>/x86_64/usr/lib/libcurl.so Add a variable for platform configuration to set whether to prefix or suffix the <arch> and set that in the QCC.cmake. Use the directory structure of the QNX SDK to compute the <arch> from the implicit library directories. The assumption is that the arch will be a single directory directly below the CMAKE_SYSROOT, below which the usr/ prefix occurs. It would not be appropriate to instruct users to make the <arch> part of the sysroot when specified in the toolchain file because: 1. That would be non-DRY - The QCC wrapper already determines the <arch> by the -V argument passed to the compiler, specified in the toolchain file as the CMAKE_C_COMPILER_TARGET variable. 2. The includes in the QNX SDK are not below the <arch> directory. So, the location of the <arch> in the full path is different on QNX compared to, say an embedded linux platform, but the intent is the same. Add documentation to recommend the use of CMAKE_SYSROOT in a QNX toolchain file. As the CMAKE_SYSROOT is always the same for QNX, it would be possible to simply set it in QCC.cmake. However, that would change behavior for existing users as when CMAKE_SYSROOT is set, files/paths outside of the CMAKE_SYSROOT do not get found. The <arch> prefixing is only enabled in cmSearchPath.cxx if CMAKE_SYSROOT is set. This ensures that the user gets consistency in the current state without CMAKE_SYSROOT, and gets better consistency when using CMAKE_SYSROOT.
* | | Merge topic 'cuda_runtime_library_controls'Brad King2020-01-286-0/+63
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 0d0145138f CUDA: Add abstraction for cuda runtime selection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4178
| * | | CUDA: Add abstraction for cuda runtime selectionRobert Maynard2020-01-276-0/+63
| | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic 'cpack-dmg-rtf-for-sla'Brad King2020-01-272-3/+13
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9571929701 CPack/DragNDrop: Support RTF licenses Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4270
| * | | | CPack/DragNDrop: Support RTF licensesAndrew Fuller2020-01-242-3/+13
| | | | |
* | | | | Merge topic 'ninja-multi-cross-configs'Brad King2020-01-243-0/+14
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | b7a2baf38c Ninja Multi-Config: Add variable to control configs used in cross-config build Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4269
| * | | | Ninja Multi-Config: Add variable to control configs used in cross-config buildKyle Edwards2020-01-233-0/+14
| |/ / /
* | | | Merge topic 'vs-dotnet-standard-core'Brad King2020-01-248-6/+51
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | ae1e1909a1 VS: Add support for .NET Standard and .NET Core Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4240
| * | | VS: Add support for .NET Standard and .NET CoreJoerg Bornemann2020-01-248-6/+51
| | | | | | | | | | | | | | | | Fixes: #20105
* | | | Merge topic 'trace_json_timestamp'Brad King2020-01-241-3/+11
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | c829f0cfca trace: Add time and stack level to JSON output format Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Volo Zyko <volo.zyko@gmail.com> Merge-request: !4242
| * | | trace: Add time and stack level to JSON output formatFrank Winklmeier2020-01-221-3/+11
| |/ / | | | | | | | | | | | | | | | | | | | | | Add the timestamp and stack depth of the function call to the JSON trace output format. This information can be useful for cmake profiling and call stack inspection (see e.g. https://github.com/volo-zyko/cmake-profile-stats). Improve unit test to allow for varying set of keys to check in trace lines.
* | | Ninja Multi-Config: Add variable to control aliases in build.ninjaKyle Edwards2020-01-223-1/+17
| | |
* | | Merge topic 'mark_as_advanced-without-cache'Brad King2020-01-224-0/+34
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3ec82b713e cmMarkAsAdvancedCommand: ignore variables which don't exist in the cache 701a5c60e0 cmake: avoid marking local or unused variables as advanced af158149e7 FindOpenSSL: do not mark a local variable as advanced 74f659f1f2 FindCurses: only mark CURSES_EXTRA_LIBRARY when it is used 7e2ae4e96d FindOpenGL: only mark declared cache variables as advanced 7cc02a0c29 FindLua: only mark LUA_MATH_LIBRARY as advanced if required 85cd26b8a6 FindBoost: only mark Boost_DIR as advanced if defined 338c7916ba CTest: avoid marking undeclared cache variables as advanced ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4150
| * | cmMarkAsAdvancedCommand: ignore variables which don't exist in the cacheBen Boeckel2020-01-204-0/+34
| | | | | | | | | | | | Fixes: #18331
* | | MinGW: Update find_library to not find plain .dll filesBrad King2020-01-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Modern distributions of packages built with MinGW tools provide `.dll.a` import libraries. Prefer those instead of finding plain `.dll` files. This avoids accidentally finding unrelated Windows `.dll` files. Fixes: #20019
* | | Merge topic 'fphsa-name-mismatch'Brad King2020-01-201-0/+5
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | be4d1bdf9a FPHSA: acknowledge the name mismatches in CMake-owned modules ee4673c1ae FPHSA: detect package name mismatches Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Eric Noulard <eric.noulard@gmail.com> Merge-request: !4123
| * | FPHSA: detect package name mismatchesBen Boeckel2020-01-141-0/+5
| |/ | | | | | | | | | | | | The `FPHSA_NAME_MISMATCHED` variable may be set if this is intentional (but should be cleared after the call to not affect other FPHSA calls). It may also be passed via the `NAME_MISMATCHED` option for new-signature FPHSA calls.
* | Merge topic 'step5'Brad King2020-01-171-4/+10
|\ \ | | | | | | | | | | | | | | | | | | fc2d1b1347 Tutorial: Clarify Step 5 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4231
| * | Tutorial: Clarify Step 5Betsy McPhail2020-01-161-4/+10
| |/
* | Merge topic 'out-of-dir-link-list'Brad King2020-01-171-3/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | f0e67da061 target_link_libraries: Fix out-of-dir linking of a list of targets acee629103 cmTargetLinkLibrariesCommand: Move HandleLibrary to helper struct ba675f1ecc Tests: Enable CMP0022 in ExportImport out-of-dir linking case Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4226
| * | target_link_libraries: Fix out-of-dir linking of a list of targetsBrad King2020-01-161-3/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | In a case like target_link_libraries(targetInOtherDir PUBLIC "$<1:a;b>") then all entries in the list need to be looked up in the caller's scope. Previously our `::@(directory-id)` suffix would apply only to the last entry. Instead surround the entire entry by a pair `::@(directory-id);...;::@` so that the `::@` syntax can encode a directory lookup scope change evaluated as the list is processed. Fixes: #20204
* | Merge topic 'cmake-ctest-arguments'Brad King2020-01-173-0/+13
|\ \ | | | | | | | | | | | | | | | | | | 4153d8445b Add CMAKE_CTEST_ARGUMENTS variable to pass command-line arguments to ctest Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4168
| * | Add CMAKE_CTEST_ARGUMENTS variable to pass command-line arguments to ctestRobert Goulet2020-01-153-0/+13
| |/ | | | | | | Fixes: #20172
* | Merge topic 'rename-cross-config-variable'Brad King2020-01-174-14/+18
|\ \ | | | | | | | | | | | | | | | | | | 310b58e961 Ninja Multi-Config: Rename variable to be more consistent Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4234
| * | Ninja Multi-Config: Rename variable to be more consistentKyle Edwards2020-01-164-14/+18
| |/ | | | | | | Also make some tweaks to the documentation.
* | Merge topic 'cpack-custom-dmg-names'Craig Scott2020-01-172-0/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | 6d6f4b9316 CPack/DragNDrop: Support CPACK_DMG_<component>_FILE_NAME b53230fbee Tests: Add DragNDrop as a testable CPack generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4227
| * | CPack/DragNDrop: Support CPACK_DMG_<component>_FILE_NAMEAndrew Fuller2020-01-162-0/+14
| | |
* | | Ninja: Add a separate job pool for PCH creationDan Johnston2020-01-164-0/+29
| |/ |/| | | | | | | | | | | Add a `JOB_POOL_PRECOMPILE_HEADER` target property to specify the pool name, and its associated `CMAKE_JOB_POOL_PRECOMPILE_HEADER` variable. Fixes: #20217
* | Merge topic 'tutorial'Brad King2020-01-1421-252/+239
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | a7d25358a0 Tutorial: Add the PRIVATE keyword to target_link_libraries command cf2afb1065 Tutorial: Remove 'Consumer' example 77b515f3eb Tutorial: Improve "MultiPackage" example 3a510a47b0 Tutorial: Add links to relevant CMake documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4113
| * | Tutorial: Add the PRIVATE keyword to target_link_libraries commandBetsy McPhail2020-01-103-3/+3
| | |
| * | Tutorial: Remove 'Consumer' exampleBetsy McPhail2020-01-103-76/+0
| | | | | | | | | | | | This example was incomplete and did not follow the format of the tutorial.
| * | Tutorial: Improve "MultiPackage" exampleBetsy McPhail2020-01-1016-48/+92
| | | | | | | | | | | | Rename to Step 12 and ensure that it follows Step 11
| * | Tutorial: Add links to relevant CMake documentationBetsy McPhail2020-01-091-126/+145
| | | | | | | | | | | | Add links for commands, properties and variables.
* | | Merge topic 'fix-global-autogen-target-help'Brad King2020-01-141-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 3104dc059c Help: Fix variable name on CMAKE_GLOBAL_AUTOGEN_TARGET page Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4212
| * | | Help: Fix variable name on CMAKE_GLOBAL_AUTOGEN_TARGET pageJoerg Bornemann2020-01-131-1/+1
| | | | | | | | | | | | | | | | CMAKE_GLOBAL_AUTORCC_TARGET was mentioned accidentally.
* | | | Merge topic 'xcode-default-warnings'Brad King2020-01-141-0/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b7b8331d68 Xcode: Drop hard-coded default warning flags like -Wmost Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4213
| * | | | Xcode: Drop hard-coded default warning flags like -WmostBrad King2020-01-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `-Wmost` flag was added by commit 97a51d2172 (ENH: add more xcode stuff, 2005-01-27, v2.4.0~2396), along with a couple others, as part of very early work on the Xcode generator. I suspect that the flags were part of Xcode's project creation wizard. However, they are not appropriate for CMake-based projects because we already have our own mechanisms for specifying flags desired by the project or user. Simply drop the flags. Fixes: #13516
* | | | | Merge topic 'doc-user-interaction'Brad King2020-01-148-0/+917
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bd681fee7a Help: Add guides for user interaction 6185265800 Utilities/Sphinx: Index guide-level documents for cross-referencing b1b7d01172 Utilities/Sphinx: Index document types only by top level directory Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Mateusz Łoskot <mateusz@loskot.net> Acked-by: Daan De Meyer <daan.j.demeyer@gmail.com> Merge-request: !4097
| * | | | | Help: Add guides for user interactionStephen Kelly2020-01-138-0/+917
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some prose to the documentation index page to guide readers to the major manuals and guides. Add a new "User Interaction Guide" to help the class of new user who wishes to build a project with CMake for the first time, such as after cloning a repo from a git repository. Add a new "Using Dependencies Guide" to help the class of new user who wishes to consume a SDK provided by a third party and needs a starting point. This is a different type of user to the user who wishes to create their own project from scratch (addressed by the `cmake-buildsystem(7)` manual) as each will encounter needs for information discovery in a different order.
* | | | | Merge topic 'target_compile_options-BEFORE-keyword'Brad King2020-01-133-0/+26
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2678e31053 target_compile_options: ensure BEFORE keyword is handled in all scopes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4203
| * | | | | target_compile_options: ensure BEFORE keyword is handled in all scopesMarc Chevrier2020-01-113-0/+26
| | |/ / / | |/| | | | | | | | | | | | | Fixes: #20200
* | | | | Merge topic 'ninja-cross-build-disable'Brad King2020-01-133-3/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e8032e202e Ninja Multi-Config: Make cross-config building opt-in Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4205
| * | | | | Ninja Multi-Config: Make cross-config building opt-inKyle Edwards2020-01-103-3/+17
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many users will want to use the Ninja Multi-Config generator like a traditional Visual Studio-style multi-config generator, which doesn't mix configurations - custom commands are built using target executables of the same configuration the command is for. We do not want to force these people to generate an N*N build matrix when they only need N*1, especially if they have lots of targets. Add a new variable, CMAKE_NINJA_CROSS_CONFIG_ENABLE, to opt-in to the cross-config build matrix.
* | | | | Merge topic 'out-of-dir-link-keyword'Brad King2020-01-131-2/+2
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 09721ca078 target_link_libraries: Fix out-of-dir calls with debug/optimized keywords c40229968c target_link_libraries: Add FIXME comment for out-of-dir genex list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4202
| * | | | target_link_libraries: Fix out-of-dir calls with debug/optimized keywordsBrad King2020-01-101-2/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit a1ad0a699b (target_link_libraries: Allow use with targets in other directories, 2018-09-07, v3.13.0-rc1~94^2) we added use of `<...>` to encode a directory id, but the closing `>` can incorrectly terminate a surrounding generator expression early. Encode the directory id using `(...)` instead. Fixes: #20202
* | | | Merge topic 'nsis-headerimage'Kyle Edwards2020-01-102-0/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ebfffc609e CPack/NSIS: Add option for setting MUI_HEADERIMAGE_BITMAP Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4157
| * | | | CPack/NSIS: Add option for setting MUI_HEADERIMAGE_BITMAPJohnny Jazeix2020-01-022-0/+11
| | | | | | | | | | | | | | | | | | | | Fixes: #20120