summaryrefslogtreecommitdiffstats
path: root/Help
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'multipackage_tutorial_compiles'Brad King2019-07-302-6/+13
|\ | | | | | | | | | | | | 98164b707f Tutorial: MultiPackage now correctly compiles Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3594
| * Tutorial: MultiPackage now correctly compilesRobert Maynard2019-07-252-6/+13
| |
* | Merge topic 'better_gen_exp_example_tutotrial'Brad King2019-07-295-32/+79
|\ \ | | | | | | | | | | | | | | | | | | fa203ee323 Tutorial: Improve Step 10 generator expression example. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3571
| * | Tutorial: Improve Step 10 generator expression example.Robert Maynard2019-07-255-32/+79
| |/ | | | | | | | | Use compiler flags and standard levels as the compelling argument for using generator expressions and interface libraries
* | Merge topic 'android-ndk-r19'Brad King2019-07-292-3/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 97bca2f9fa Android: Use unified toolchain in NDK r19+ 19f36c5fb2 Android: Update test to not require GCC compiler to exist in NDK f3e32ddae9 Android: Re-order system initialization to select sysroot last 9a0720b819 Android: Clarify name of internal variable for arch triple 4e6c58d937 Android: Select NDK host tag while determining system Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3612
| * | Android: Use unified toolchain in NDK r19+Brad King2019-07-262-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NDK build system now uses only a single toolchain in <ndk>/toolchains/llvm/prebuilt/<host> Its compilers are always `bin/{clang,clang++}` and its binutils are always `bin/<triple>-*`. It is a standalone toolchain: * The Anrdoid API level is specified at the end of `--target=`. * The standard library may be specified via `-stdlib=`. * No need to pass system includes or libraries explicitly. * No need to pass `--sysroot` or `-gcc-toolchain`. Teach CMake to recognize NDK versions that have a unified toolchain with its own sysroot and use the above approach. Fixes: #18739
* | | Help/dev: Add release commit instructions to maintainer guideBrad King2019-07-261-0/+39
|/ /
* | Merge topic 'cmake-version-rc'Brad King2019-07-261-5/+5
|\ \ | | | | | | | | | | | | | | | | | | eb5ea5a505 CMakeVersion: Use '-rc0' version suffix on release branches prior to rc1 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3609
| * | CMakeVersion: Use '-rc0' version suffix on release branches prior to rc1Brad King2019-07-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the change from commit 7b354baad5 (CMakeVersion: Set CMake_VERSION_RC to 0 even in non-rc versions, 2019-07-25) and instead define a `0` value in `CMake_VERSION_RC` to mean `-rc0`. This distinguishes release branch versions prior to the first release candidate from the first release candidate itself. It also makes room for a dedicated "CMake $major.$minor.0-rc1" release commit for `-rc1` as we have for later release candidates and final releases.
* | | Merge topic 'ep_support_no_submodule_init'Kyle Edwards2019-07-263-0/+30
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | d6be117ca0 ExternalProject: Support not initializing any submodules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3579
| * | | ExternalProject: Support not initializing any submodulesRobert Maynard2019-07-243-0/+30
| | | | | | | | | | | | | | | | Fixes #15592
* | | | Merge topic 'remove_compiler_rpath'Kyle Edwards2019-07-265-0/+27
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | bd2793b6e9 Help: Add documentation for INSTALL_REMOVE_ENVIROMENT_RPATH f08dcbffec Property: Add INSTALL_REMOVE_ENVIROMENT_RPATH property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3544
| * | | Help: Add documentation for INSTALL_REMOVE_ENVIROMENT_RPATHJiang Yue2019-07-255-0/+27
| | | |
* | | | Merge topic 'doc-relnotes-3.15'Brad King2019-07-261-0/+17
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 3b113cc131 Help: Add 3.15.1 release notes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3608
| * | | Help: Add 3.15.1 release notesBrad King2019-07-261-0/+17
| | | |
| * | | Merge branch 'msvc-runtime-library-doc' into release-3.15Brad King2019-07-193-1/+11
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !3573
| * | | | Swift: support multithreaded compilationSaleem Abdulrasool2019-07-182-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Query the number of logical CPUs available to enable parallel compilation for Swift.
* | | | | CMakeVersion: Set CMake_VERSION_RC to 0 even in non-rc versionsBrad King2019-07-251-2/+2
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | The logic that uses this value already ignores any "false" value, so `0` is just as good as not being set at all. Using `0` for this role makes the version components look more symmetric and reduces the number of edits needed when creating releases.
* | | | Merge topic 'clang-gnulike-support'Brad King2019-07-2512-12/+24
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a4657ef670 Merge branch 'backport-clang-gnulike-support' into clang-gnulike-support 161b33f12b Help/guide/tutorial: Revert "require C++14 for the Tutorial" 4f15a6a5c2 Tests: Revert "require C++14 for the Tutorial" 5cfc39127e Merge branch 'backport-clang-gnulike-support' into clang-gnulike-support d50b31be35 Clang: For MSVC ABI do not use modes older than C++14 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3592
| * | | | Help/guide/tutorial: Revert "require C++14 for the Tutorial"Brad King2019-07-2412-12/+24
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the changes from commit a2a90f41e3 (Tests: require C++14 for the Tutorial, 2019-03-21, v3.15.0-rc1~41^2~2) for the content in its new home. In commit d50b31be35 (Clang: For MSVC ABI do not use modes older than C++14, 2019-07-23) we fixed the C++ standard selection for GNU-like Clang with the MSVC ABI so the test code itself no longer needs to do it. In particular, changing the tests in this way broke the tutorial's narrative.
* | | | FindPackage: Support `NO_[]_PATH` global call optionsRobert Maynard2019-07-227-12/+17
|/ / /
* | | Merge topic 'tutorial_reference_cmake_install_command'Brad King2019-07-221-6/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c94e62c07e Tutorial: Updated to reference using cmake --install Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3572
| * | | Tutorial: Updated to reference using cmake --installRobert Maynard2019-07-191-6/+8
| | | | | | | | | | | | | | | | | | | | This is preferred over using `make install` as it allows for control over the install location, configuration, and component.
* | | | Merge topic 'doc-string-multibyte'Brad King2019-07-221-81/+94
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b97673f54b Help: Add note to each string() subcommand that assumes ASCII input 26cd64d977 Help: Fix language and formatting inconsistencies for string() command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3559
| * | | | Help: Add note to each string() subcommand that assumes ASCII inputCraig Scott2019-07-191-1/+10
| | | | | | | | | | | | | | | Fixes: #19465
| * | | | Help: Fix language and formatting inconsistencies for string() commandCraig Scott2019-07-191-81/+85
| | | | |
* | | | | Merge topic 'cpack-install-scripts'Craig Scott2019-07-223-9/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5f96601675 CPack: Introduce CPACK_INSTALL_SCRIPTS variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3531
| * | | | | CPack: Introduce CPACK_INSTALL_SCRIPTS variableAlex Turbov2019-07-213-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The singular name `CPACK_INSTALL_SCRIPT` has existed but was not linked from the CPack documentation. Also, it supported multiple values and should have had a plural name. Add a plural-named alternative now. If both `CPACK_INSTALL_SCRIPTS` and `CPACK_INSTALL_SCRIPT` are set then ignore the latter with a warning. Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* | | | | | Merge topic 'feature/message-indent'Craig Scott2019-07-224-0/+41
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5f6fd917a3 message(): Control indentation via CMAKE_MESSAGE_INDENT Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3464
| * | | | | | message(): Control indentation via CMAKE_MESSAGE_INDENTAlex Turbov2019-07-214-0/+41
| | | | | | |
* | | | | | | Merge topic 'skip_regular_expression'Kyle Edwards2019-07-195-2/+33
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5dbd9c8583 Vim: Add SKIP_REGULAR_EXPRESSION test property to vim syntax file 407dd1a910 Help: Add documentation for SKIP_REGULAR_EXPRESSION test property d7955d4e5d Tests: Create test for SKIP_REGULAR_EXPRESSION test property 4f1dec86a5 CTest: Add SKIP_REGULAR_EXPRESSION test property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3570
| * | | | | | | Help: Add documentation for SKIP_REGULAR_EXPRESSION test propertyGabor Bencze2019-07-185-2/+33
| | |_|_|/ / / | |/| | | | |
* | | | | | | Merge topic 'msvc-runtime-library-doc'Brad King2019-07-193-1/+11
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | / | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | 282d9f3168 MSVC: Document behavior when MSVC_RUNTIME_LIBRARY is not set Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3573
| * | | | | MSVC: Document behavior when MSVC_RUNTIME_LIBRARY is not setBrad King2019-07-193-1/+11
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | By default `CMAKE_MSVC_RUNTIME_LIBRARY` is not set. Document the default runtime library selection in that case. We already test it.
| * | | | Merge branch 'FindBISON-CMP0088-SourcePath' into release-3.15Brad King2019-07-121-0/+8
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3549
* | | | | | AIX: Do not enable runtime linking by default anymoreBrad King2019-07-171-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've long created shared objects on AIX using the linker's `-G` option (also offered by the XL front-end). The `-G` option implies `-brtl` and enables runtime linking. This has been largely unnecessary because we provide all dependencies on the link line and both XL and GNU compilers offer builtin behavior to export symbols. Since commit 0f150b69d3 (AIX: Explicitly compute shared object exports for both XL and GNU, 2019-07-11) we compute exports explicitly and consistently. Therefore runtime linking is no longer necessary for shared objects. We've also long created executables on AIX using the linker's `-brtl` option to enable runtime linking in case they load plugins at runtime. Since commit 9f5c2040bf (AIX: Explicitly compute executable exports for both XL and GNU, 2019-07-12) and commit 2fa920c0cd (AIX: Create import library for executables with exports, 2019-07-16) we now provide the linker enough information to fully resolve symbols in plugins up front. Therefore runtime linking is no longer necessary for executables. Drop use of `-G` for creating shared objects and use the XL `-qmkshrobj` and GCC `-shared` options instead. Both invoke the linker with the `-bM:SRE -bnoentry` options to create a shared object without runtime linking enabled. Also drop use of `-brtl` for creating executables. Issue: #19163
* | | | | | Merge topic 'aix-exe-implib'Brad King2019-07-175-2/+24
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2fa920c0cd AIX: Create import library for executables with exports Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3561
| * | | | | | AIX: Create import library for executables with exportsBrad King2019-07-165-2/+24
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On AIX, plugins meant to be loaded into executables via `dlopen` must be linked with access to a list of symbols exported from the executable in order to use them (when not using runtime linking). The AIX linker supports specifying this list as an "import file" passed on the command line either via the `-bI:...` option or (with a leading `#! .` line) as a normal input file like any other library file. The linker import file plays the same role on AIX as import libraries do on Windows. Teach CMake to enable its import library abstraction on AIX for executables with the `ENABLE_EXPORTS` target property set. Teach our internal `ExportImportList` script to optionally generate a leading `#! .` line at the top of the generated export/import list. Update our rule for linking an executable with exports to generate a public-facing "import library" implemented as an AIX linker import file. With this approach, our existing infrastructure for handling import libraries on Windows will now work for AIX linker import files too: * Plugins that link to their executable's symbols will be automatically linked using the import file on the command line. * The executable's import file will be (optionally) installed and exported for use in linking externally-built plugins. This will allow executables and their plugins to build even if we later turn off runtime linking. Issue: #19163
* | | | | | Merge topic 'cmake-qch-no-version-in-filename'Brad King2019-07-171-0/+8
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0518e675ea CMake.qch: Don't include the version in the file name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3558
| * | | | | | CMake.qch: Don't include the version in the file nameCraig Scott2019-07-171-0/+8
| | |_|_|_|/ | |/| | | | | | | | | | Fixes: #19374
* | | | | | Merge topic 'project-version-0'Brad King2019-07-173-0/+31
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0ba5891ead project: Keep leading `0` in PROJECT_VERSION components 5f84669806 Tests: Factor out RunCMake.project helper macro into module b1f387a7ea Refactor: Use raw string literals instead of escaping 41b85968d8 Refactor: Use initializer lists instead of `push_back` series 45e85dd2b2 Refactor: Add some `const` to vars 90f91e4d21 Refactor: Replace a "magic" number w/ a named constant 638383c38f Refactor: Eliminate one-time-used variables 9b6a53292f Refactor: Eliminate `sep` from the loop Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3517
| * | | | | project: Keep leading `0` in PROJECT_VERSION componentsAlex Turbov2019-07-163-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce CMake policy `CMP0096` to make `project()` keep leading zeros in version components. As a side effect, it now allows really long version numbers. Fixes: #19421 Co-Author: Brad King <brad.king@kitware.com>
* | | | | | Help: Clarify ENABLE_EXPORTS per-platform link behaviorBrad King2019-07-161-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | Spell out the behavior on each platform in a bullet list.
* | | | | | Help: Simplify CMAKE_ENABLE_EXPORTS documentationBrad King2019-07-161-18/+4
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In real projects the variable form should rarely be used because the decision to export symbols from an executable is very specific. Remove its main description, which duplicates the `ENABLE_EXPORTS` target property, and simply reference the property instead.
* | | | | Merge topic 'FindBISON-CMP0088-SourcePath'Brad King2019-07-151-0/+8
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | f84d2045e9 FindBISON: Fix CMP0088 NEW behavior for non-absolute input paths Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3549
| * | | | FindBISON: Fix CMP0088 NEW behavior for non-absolute input pathsBrian Carlson2019-07-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the working directory is in the build tree, relative input paths must be converted to an absolute path to remain relative to the source directory. Fixes: #19472
* | | | | Merge topic 'cmake-e-true-false'Brad King2019-07-122-0/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b8828ecbba cmake -E: Add true and false commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3542
| * | | | | cmake -E: Add true and false commandsKyle Edwards2019-07-112-0/+11
| | | | | |
* | | | | | Merge topic 'ctest_make_program__propagated_to_cmake_configure_pass'Brad King2019-07-122-1/+8
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | cd681f1f41 ctest: propagate make program to cmake Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3483
| * | | | | ctest: propagate make program to cmakeRobert Maynard2019-07-112-1/+8
| | | | | |