summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CMake Nightly Date StampKitware Robot2019-07-301-1/+1
|
* Merge topic 'modernize_string_view_cmOutputConverter'Brad King2019-07-294-126/+138
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | ec892a572b cmOutputConverter: Make shell escaping methods cm::string_view based 8573e20c43 cmOutputConverter: Let GetFortranFormat accept a cm::string_view 4911762358 cmOutputConverter: Return bool instead of int in utility functions a929255dec cmOutputConverter: Let cmOutputConverterIsShellOperator accept cm::string_view 1b30b28c04 cmOutputConverter: Let cmOutputConverterIsShellOperator accept cm::string_view 6675f785be cmOutputConverter: Let EscapeForCMake accept a cm::string_view 09977c1816 cmSystemTool: Let TrimWhitespace accept a cm::string_view 2f19e53705 cmSystemTool: Let HelpFileName accept a cm::string_view ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3615
| * cmOutputConverter: Make shell escaping methods cm::string_view basedSebastian Holtermann2019-07-282-63/+62
| |
| * cmOutputConverter: Let GetFortranFormat accept a cm::string_viewSebastian Holtermann2019-07-282-5/+13
| |
| * cmOutputConverter: Return bool instead of int in utility functionsSebastian Holtermann2019-07-282-18/+18
| |
| * cmOutputConverter: Let cmOutputConverterIsShellOperator accept cm::string_viewSebastian Holtermann2019-07-282-4/+3
| |
| * cmOutputConverter: Let cmOutputConverterIsShellOperator accept cm::string_viewSebastian Holtermann2019-07-281-2/+2
| |
| * cmOutputConverter: Let EscapeForCMake accept a cm::string_viewSebastian Holtermann2019-07-282-9/+10
| |
| * cmSystemTool: Let TrimWhitespace accept a cm::string_viewSebastian Holtermann2019-07-282-7/+7
| |
| * cmSystemTool: Let HelpFileName accept a cm::string_viewSebastian Holtermann2019-07-282-2/+3
| |
| * cmSystemTool: Let EscapeQuotes accept a cm::string_viewSebastian Holtermann2019-07-282-5/+5
| |
| * cmSystemTool: Let Expand(ed)ListArgument accept a cm::string_viewSebastian Holtermann2019-07-282-15/+19
| |
* | Merge topic 'CheckCXXSymbolExists-c++-syntax'Brad King2019-07-293-2/+48
|\ \ | | | | | | | | | | | | | | | | | | 72fcadb007 CheckCXXSymbolExists: Make C++-syntax symbols work on more compilers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3545
| * | CheckCXXSymbolExists: Make C++-syntax symbols work on more compilersHong Xu2019-07-263-2/+48
| | | | | | | | | | | | | | | On some compilers the syntax `#ifndef std::fopen` will always lead to compilation error. Avoid generating it in the check.
* | | 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-2921-82/+171
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2618-18/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Android: Update test to not require GCC compiler to exist in NDKBrad King2019-07-261-18/+19
| | | | |
| * | | | Android: Re-order system initialization to select sysroot lastBrad King2019-07-261-2/+2
| | | | |
| * | | | Android: Clarify name of internal variable for arch tripleBrad King2019-07-262-12/+12
| | | | | | | | | | | | | | | | | | | | The triple applies to more than just header locations.
| * | | | Android: Select NDK host tag while determining systemBrad King2019-07-264-32/+32
| | | | | | | | | | | | | | | | | | | | | | | | | The host tag is tied to the host platform and does not depend on any specific language or compiler.
* | | | | Merge topic 'test-cleanup-src-dir'Brad King2019-07-291-1/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d1aa9f307e Tests: Remove stray source dir modification in RunCMake.find_program Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3610
| * | | | | Tests: Remove stray source dir modification in RunCMake.find_programBrad King2019-07-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit c76c1ea208 (find_program: Consider CWD only for paths with separator, 2018-05-31, v3.13.0-rc1~413^2) this test has created a directory in the source tree unnecessarily. Remove it.
* | | | | | CMake Nightly Date StampKitware Robot2019-07-291-1/+1
| |_|_|_|/ |/| | | |
* | | | | CMake Nightly Date StampKitware Robot2019-07-281-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2019-07-271-1/+1
| | | | |
* | | | | Merge topic 'doc-maint-create-release'Craig Scott2019-07-261-0/+39
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | 4542ec239a Help/dev: Add release commit instructions to maintainer guide Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3604
| * | | | Help/dev: Add release commit instructions to maintainer guideBrad King2019-07-261-0/+39
|/ / / /
* | | | Merge topic 'cmake-version-rc'Brad King2019-07-263-7/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-263-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-266-21/+104
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-246-21/+104
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #15592
* | | | | | Merge topic 'remove_compiler_rpath'Kyle Edwards2019-07-2611-7/+76
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | | | |
| * | | | | Property: Add INSTALL_REMOVE_ENVIROMENT_RPATH propertyJiang Yue2019-07-256-7/+49
| | | | | |
* | | | | | Merge branch 'release-3.15'Brad King2019-07-260-0/+0
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | |
| * | | | | CMake 3.15.1v3.15.1Brad King2019-07-261-1/+1
| | | | | |
* | | | | | Merge branch 'release-3.15'Brad King2019-07-260-0/+0
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge branch 'doc-relnotes-3.15' into release-3.15Brad King2019-07-261-0/+17
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3608
* | \ \ \ \ \ 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 topic 'optimize-usage-requirements'Brad King2019-07-264-137/+231
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1d3841b600 Genex: Memoize usage requirement TARGET_PROPERTY existence b5460f9931 cmLinkItem: Expose HadHeadSensitiveCondition in cmLinkInterfaceLibraries ad2b3a32d1 Genex: Optimize build setting TARGET_PROPERTY evaluation 11fa818ecd Genex: Optimize usage requirement TARGET_PROPERTY recursion 0239bf8ac8 Genex: In TARGET_PROPERTY check for usage reqs in link libs earlier 7caebeb0e4 Genex: Re-order TARGET_PROPERTY logic to de-duplicate checks b2785a0fbd Genex: Move TARGET_PROPERTY linked targets evaluation to end Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Cristian Adam <cristian.adam@gmail.com> Merge-request: !3589
| * | | | | | Genex: Memoize usage requirement TARGET_PROPERTY existenceBrad King2019-07-232-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For each usage requirement (such as `INTERFACE_COMPILE_DEFINITIONS` or `INTERFACE_INCLUDE_DIRECTORIES`), the value of the generator expression `$<TARGET_PROPERTY:target,prop>` includes the values of the same property from the transitive closure of link libraries of the target. In cases that a target's transitive closure of dependencies does not depend on the target being linked (the "head" target), we can memoize whether or not a usage requirement property exists at all for that target. When a usage requirement does not exist for a target, we can skip evaluating it for every consuming target. Fixes: #18964, #18965
| * | | | | | cmLinkItem: Expose HadHeadSensitiveCondition in cmLinkInterfaceLibrariesBrad King2019-07-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clients may be able to avoid repeating work if they know the transitive link interface libraries do not depend on what is linking them.
| * | | | | | Genex: Optimize build setting TARGET_PROPERTY evaluationBrad King2019-07-232-54/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For each build setting property (such as `COMPILE_DEFINITIONS` or `INCLUDE_DIRECTORIES`), the value of `$<TARGET_PROPERTY:target,prop>` includes the values of the corresponding `INTERFACE_*` usage requirement property from the transitive closure of link libraries of the target. Previously we computed this by constructing a generator expression string like `$<TARGET_PROPERTY:lib,INTERFACE_COMPILE_DEFINITIONS>` and recursively evaluating it with the generator expression engine. Avoid the string construction and parsing by using the dedicated evaluation method `cmGeneratorTarget::EvaluateInterfaceProperty`. Issue: #18964, #18965
| * | | | | | Genex: Optimize usage requirement TARGET_PROPERTY recursionBrad King2019-07-233-22/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In large projects the generation process spends a lot of time evaluating usage requirements through transitive interface properties on targets. This can be seen in a contrived example with deep dependencies: set(prev "") foreach(i RANGE 1 500) add_library(a${i} a.c) target_compile_definitions(a${i} PUBLIC A${i}) target_link_libraries(a${i} PUBLIC ${prev}) set(prev a${i}) endforeach() For each usage requirement (such as `INTERFACE_COMPILE_DEFINITIONS` or `INTERFACE_INCLUDE_DIRECTORIES`), the value of the generator expression `$<TARGET_PROPERTY:target,prop>` includes the values of the same property from the transitive closure of link libraries of the target. Previously we computed this by constructing a generator expression string like `$<TARGET_PROPERTY:lib,INTERFACE_COMPILE_DEFINITIONS>` and recursively evaluating it with the generator expression engine. Avoid the string construction and parsing by creating and using a dedicated evaluation method `cmGeneratorTarget::EvaluateInterfaceProperty` that looks up the properties directly. Issue: #18964, #18965
| * | | | | | Genex: In TARGET_PROPERTY check for usage reqs in link libs earlierBrad King2019-07-211-25/+26
| | | | | | |
| * | | | | | Genex: Re-order TARGET_PROPERTY logic to de-duplicate checksBrad King2019-07-211-42/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check for usage requirement properties early enough to avoid duplicate checks in other conditions.
| * | | | | | Genex: Move TARGET_PROPERTY linked targets evaluation to endBrad King2019-07-211-35/+28
| | | | | | |