Commit Graph

44400 Commits

Author SHA1 Message Date
Sebastian Holtermann f71f7ce3f0 cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.h
This adds the `cmStringAlgorithms.h` header and moves all string functions
from `cmAlgorithms.h` to `cmStringAlgorithms.h`.
2019-07-29 21:13:56 +02:00
Brad King f6df9c2565 Merge topic 'modernize_string_view_cmOutputConverter'
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
2019-07-29 11:56:29 -04:00
Brad King f22a2a1fa5 Merge topic 'CheckCXXSymbolExists-c++-syntax'
72fcadb007 CheckCXXSymbolExists: Make C++-syntax symbols work on more compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3545
2019-07-29 11:50:42 -04:00
Brad King d275877dfc Merge topic 'better_gen_exp_example_tutotrial'
fa203ee323 Tutorial: Improve Step 10 generator expression example.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3571
2019-07-29 11:49:45 -04:00
Brad King 23503ba5f0 Merge topic 'android-ndk-r19'
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
2019-07-29 11:48:33 -04:00
Brad King 08cd8ef5ee Merge topic 'test-cleanup-src-dir'
d1aa9f307e Tests: Remove stray source dir modification in RunCMake.find_program

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3610
2019-07-29 11:47:30 -04:00
Kitware Robot 1df0cb577d CMake Nightly Date Stamp 2019-07-29 00:01:05 -04:00
Sebastian Holtermann ec892a572b cmOutputConverter: Make shell escaping methods cm::string_view based 2019-07-28 17:48:59 +02:00
Sebastian Holtermann 8573e20c43 cmOutputConverter: Let GetFortranFormat accept a cm::string_view 2019-07-28 17:47:26 +02:00
Sebastian Holtermann 4911762358 cmOutputConverter: Return bool instead of int in utility functions 2019-07-28 17:47:26 +02:00
Sebastian Holtermann a929255dec cmOutputConverter: Let cmOutputConverterIsShellOperator accept cm::string_view 2019-07-28 17:47:26 +02:00
Sebastian Holtermann 1b30b28c04 cmOutputConverter: Let cmOutputConverterIsShellOperator accept cm::string_view 2019-07-28 17:47:26 +02:00
Sebastian Holtermann 6675f785be cmOutputConverter: Let EscapeForCMake accept a cm::string_view 2019-07-28 17:47:26 +02:00
Sebastian Holtermann 09977c1816 cmSystemTool: Let TrimWhitespace accept a cm::string_view 2019-07-28 17:47:26 +02:00
Sebastian Holtermann 2f19e53705 cmSystemTool: Let HelpFileName accept a cm::string_view 2019-07-28 17:47:26 +02:00
Sebastian Holtermann 2c5454f227 cmSystemTool: Let EscapeQuotes accept a cm::string_view 2019-07-28 17:47:26 +02:00
Sebastian Holtermann ad3183db8c cmSystemTool: Let Expand(ed)ListArgument accept a cm::string_view 2019-07-28 17:47:26 +02:00
Kitware Robot 200eadcd90 CMake Nightly Date Stamp 2019-07-28 00:01:06 -04:00
Kitware Robot 38894b43ef CMake Nightly Date Stamp 2019-07-27 00:01:13 -04:00
Craig Scott fdc9fadef5 Merge topic 'doc-maint-create-release'
4542ec239a Help/dev: Add release commit instructions to maintainer guide

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3604
2019-07-26 18:57:59 -04:00
Hong Xu 72fcadb007 CheckCXXSymbolExists: Make C++-syntax symbols work on more compilers
On some compilers the syntax `#ifndef std::fopen` will always lead to
compilation error.  Avoid generating it in the check.
2019-07-26 15:09:28 -04:00
Brad King 4542ec239a Help/dev: Add release commit instructions to maintainer guide 2019-07-26 14:34:09 -04:00
Brad King 97bca2f9fa Android: Use unified toolchain in NDK r19+
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
2019-07-26 14:17:07 -04:00
Brad King 19f36c5fb2 Android: Update test to not require GCC compiler to exist in NDK 2019-07-26 14:17:07 -04:00
Brad King f3e32ddae9 Android: Re-order system initialization to select sysroot last 2019-07-26 14:17:07 -04:00
Brad King 9a0720b819 Android: Clarify name of internal variable for arch triple
The triple applies to more than just header locations.
2019-07-26 14:17:07 -04:00
Brad King 4e6c58d937 Android: Select NDK host tag while determining system
The host tag is tied to the host platform and does not depend on any
specific language or compiler.
2019-07-26 14:17:07 -04:00
Brad King 8ce189720e Merge topic 'cmake-version-rc'
eb5ea5a505 CMakeVersion: Use '-rc0' version suffix on release branches prior to rc1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3609
2019-07-26 12:19:25 -04:00
Kyle Edwards 8fd481a899 Merge topic 'ep_support_no_submodule_init'
d6be117ca0 ExternalProject: Support not initializing any submodules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3579
2019-07-26 12:02:34 -04:00
Kyle Edwards 618bd463ad Merge topic 'remove_compiler_rpath'
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
2019-07-26 12:01:27 -04:00
Brad King d1aa9f307e Tests: Remove stray source dir modification in RunCMake.find_program
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.
2019-07-26 09:53:25 -04:00
Brad King af3278af36 Merge branch 'release-3.15' 2019-07-26 09:40:24 -04:00
Brad King eb5ea5a505 CMakeVersion: Use '-rc0' version suffix on release branches prior to rc1
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.
2019-07-26 08:08:30 -04:00
Brad King f43a7d76c7 CMake 3.15.1 v3.15.1 2019-07-26 07:50:55 -04:00
Brad King d9156c387c Merge branch 'release-3.15' 2019-07-26 07:37:55 -04:00
Brad King 8df10447a1 Merge topic 'doc-relnotes-3.15'
3b113cc131 Help: Add 3.15.1 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3608
2019-07-26 07:37:19 -04:00
Brad King 52ea0c4676 Merge topic 'optimize-usage-requirements'
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
2019-07-26 07:33:27 -04:00
Brad King 467e6ac728 Merge topic 'definitions_string_view'
e91bfe440c cmMakefile: Let AddDefinition accept a value as cm::string_view
f2ba968ef2 cmMakefile: Simplify and rename AddDefinitionBool
9b5cc42531 cmDefinitions: Remove const char* based Set method
e268840c0a cmDefinitions: Add Unset and cm::string_view based Set methods
451fd329a8 cmDefinitions: Cleanups

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3577
2019-07-26 07:32:18 -04:00
Brad King c23c4ed9cf Merge topic 'IsON_IsOFF_string_view'
4ff0bb054b cmSystemTools: Make IsInternallyOn, IsON and IsOff cm::string_view based
65d3ea2c7f cmAlgorithms: Make cmHasLiteral{Prefix,Suffix} cm::string_view based

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3598
2019-07-26 07:30:45 -04:00
Brad King 9f23c91919 Merge topic 'update-kwsys'
aff019f7a4 Merge branch 'upstream-KWSys' into update-kwsys
780d9e070b KWSys 2019-07-25 (a24a6acb)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3602
2019-07-26 07:29:21 -04:00
Brad King c9af23d2a1 Merge topic 'variable-typo'
94f536b935 cmCTestHandlerCommand: fix typo of local variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3600
2019-07-26 07:28:09 -04:00
Brad King 838278f4ba Merge branch 'doc-relnotes-3.15' into release-3.15
Merge-request: !3608
2019-07-26 07:25:33 -04:00
Brad King 3b113cc131 Help: Add 3.15.1 release notes 2019-07-26 07:18:09 -04:00
Brad King ea2b488fec Merge branch 'release-3.15' 2019-07-26 07:13:12 -04:00
Brad King f54c9f6cc3 Merge topic 'FindMPI-link-flags'
cf04da7e70 FindMPI: make sure computed link flags are not de-duplicated

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: Ben Boeckel <ben.boeckel@kitware.com>
Tested-by: Robert Maynard <robert.maynard@kitware.com>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Merge-request: !3605
2019-07-26 07:12:08 -04:00
Kitware Robot 7feece688d CMake Nightly Date Stamp 2019-07-26 00:01:24 -04:00
Brad King 693a9b382a Merge branch 'FindMPI-link-flags' into release-3.15
Merge-request: !3605
2019-07-25 13:09:25 -04:00
Robert Maynard cf04da7e70 FindMPI: make sure computed link flags are not de-duplicated
In commit f7eaa342de (FindMPI: Store imported target link flags as a
list instead of a string, 2019-06-14, v3.15.0-rc2~2^2) we used
`separate_arguments` to parse the extracted link flags and add them to
`INTERFACE_LINK_LIBRARIES`.  That property is not meant for link flags
and CMake may de-duplicate them.  This is particularly problematic for
flags like `-Wl,-rpath -Wl,/path1 -Wl,-rpath -Wl,/path2`.

In commit 39c572c9c9 (FindMPI: Updated to use INTERFACE_LINK_OPTIONS,
2019-06-24) we moved the parsed flags over to `INTERFACE_LINK_OPTIONS`,
but that may still perform de-duplication.  Avoid the parsing and
de-duplication of flags by passing the original string via `SHELL:`
instead.

Fixes: #19516
2019-07-25 12:59:21 -04:00
Jiang Yue bd2793b6e9 Help: Add documentation for INSTALL_REMOVE_ENVIROMENT_RPATH 2019-07-25 12:30:24 -04:00
Jiang Yue f08dcbffec Property: Add INSTALL_REMOVE_ENVIROMENT_RPATH property 2019-07-25 12:30:23 -04:00