Commit Graph

44597 Commits

Author SHA1 Message Date
Hong Xu 76b76a7f9b FindCUDA: Fix support for backslashes in CUDA_NVCC_INCLUDE_DIRS
Backslashes in `CUDA_NVCC_INCLUDE_DIRS` cause syntax errors because it
is written to a generated `.cmake` script as a string literal.  Use a
bracket argument to hold the expanded value as we already do for
`CUDA_NVCC_COMPILE_DEFINITIONS`.  Then explicitly convert backslashes to
forward slashes.
2019-08-20 09:47:29 -04:00
Brad King e3746821df Merge topic 'swift-mode-flags'
4d83e47c05 Swift: define `CMAKE_Swift_FLAGS` correctly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3684
2019-08-19 15:08:22 -04:00
Brad King 5f7386dd19 Merge topic 'string-literal-append'
da26b3be89 avoid adding multiple consecutive string literals to std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3698
2019-08-19 15:06:47 -04:00
Brad King 0b8524baa6 Merge topic 'cmCryptoHash_string_view'
f1c529c4fb cmCryptoHash: Accept cm::string_view input

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3697
2019-08-19 15:05:27 -04:00
Brad King 0f914b7f26 Merge topic 'cmStringAlgorithms_IsOn'
3b6c62be23 cmSystemTools: Remove IsInternallyOn, IsNOTFOUND, IsOn, IsOff
20e580be01 Source sweep: Use cmIsOn instead of cmSystemTools::IsOn
5b7650216b cmStringAlgorithms: Add cmIsInternallyOn, cmIsNOTFOUND, cmIsOn, cmIsOff

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3691
2019-08-19 15:03:53 -04:00
Brad King e977867a12 Merge topic 'solaris_clang'
47937219ee Solaris: Add support for Clang compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3672
2019-08-19 14:56:14 -04:00
Brad King 265b23e5c2 Merge branch 'release-3.15' 2019-08-19 14:54:29 -04:00
Brad King 29488892e5 Merge topic 'msvc-runtime-library-flang'
ea0294c281 Flang: Implement MSVC runtime library abstraction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3674
2019-08-19 14:53:20 -04:00
Kyle Edwards c41c79285b Merge topic 'swift-import-library-location'
5480f65ab1 Swift: honour `IMPLIB_LOCATION` property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3686
2019-08-19 13:25:16 -04:00
Kitware Robot 1958c78fe1 CMake Nightly Date Stamp 2019-08-19 00:01:07 -04:00
Rolf Eike Beer da26b3be89 avoid adding multiple consecutive string literals to std::string
While at it change some single character additions to be of type char.
2019-08-18 14:22:11 +02:00
Sebastian Holtermann f1c529c4fb cmCryptoHash: Accept cm::string_view input 2019-08-18 14:17:50 +02:00
Kitware Robot 06e32a089d CMake Nightly Date Stamp 2019-08-18 00:01:05 -04:00
Sebastian Holtermann 3b6c62be23 cmSystemTools: Remove IsInternallyOn, IsNOTFOUND, IsOn, IsOff
The removes the following methods from cmSystemTools:

- `IsInternallyOn`
- `IsNOTFOUND`
- `IsOn`
- `IsOff`
2019-08-17 12:14:14 +02:00
Sebastian Holtermann 20e580be01 Source sweep: Use cmIsOn instead of cmSystemTools::IsOn
This replaces invocations of

- `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn`
- `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND`
- `cmSystemTools::IsOn` with `cmIsOn`
- `cmSystemTools::IsOff` with `cmIsOff`
2019-08-17 12:14:14 +02:00
Sebastian Holtermann 5b7650216b cmStringAlgorithms: Add cmIsInternallyOn, cmIsNOTFOUND, cmIsOn, cmIsOff
This adds the following functions to cmStringAlgorithms:

- `cmIsInternallyOn`
- `cmIsNOTFOUND`
- `cmIsOn`
- `cmIsOff`

The implementations were copied from the equivalent functions in cmSystemTools.
2019-08-17 10:58:50 +02:00
Kitware Robot 34301441b9 CMake Nightly Date Stamp 2019-08-17 00:01:07 -04:00
Kyle Edwards 7a92fb7bf6 Merge topic 'clang-llvm-rc'
cea253a38b Clang: Fall back to llvm-rc when rc is unavailable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3687
2019-08-16 15:37:20 -04:00
Kyle Edwards 2beed5a4ef Merge topic 'cmExpandList'
2f6495e24e cmSystemTools: Remove ExpandListArgument methods
f4f3c68926 Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgument
ff42dec891 cmStringAlgorithms: Add cmExpandList functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3682
2019-08-16 14:51:03 -04:00
Kyle Edwards dcf2beb7de Merge topic 'cmStringAlgorithms_ulong'
935fbe0b04 cmStringAlgorithms: Add cmStrToLong and cmStrToULong

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3681
2019-08-16 14:49:28 -04:00
Kitware Robot 6f1781c63a CMake Nightly Date Stamp 2019-08-16 00:01:06 -04:00
Kitware Robot 789e585ad9 CMake Nightly Date Stamp 2019-08-15 00:01:06 -04:00
Sebastian Holtermann 2f6495e24e cmSystemTools: Remove ExpandListArgument methods 2019-08-14 16:33:20 +02:00
Sebastian Holtermann f4f3c68926 Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgument 2019-08-14 16:33:20 +02:00
Sebastian Holtermann ff42dec891 cmStringAlgorithms: Add cmExpandList functions 2019-08-14 16:29:11 +02:00
Gregory Mitrano cea253a38b Clang: Fall back to llvm-rc when rc is unavailable
This change modifies how CMAKE_RC_COMPILER is configured to improve
the out-of-box experience for developers using Clang on Windows.
The previous behavior was to require the user to explicitly specify
the resource compiler when CMake was called. The new behavior
is to automatically attempt to locate the MSVC rc binary and use that
if it's found. If rc is not available, CMake will now fall back to
Clang's llvm-rc binary.

With this change in place, trivial C/C++ programs can be generated
with Ninja and Clang on Windows without running into errors about
a missing resource compiler.

Fixes: #19318
2019-08-14 00:20:39 -04:00
Kitware Robot 0312b6d522 CMake Nightly Date Stamp 2019-08-14 00:01:07 -04:00
Kyle Edwards fb56ac9209 Merge topic 'retry-directory-delete'
6bc77966ad Retry removing directories on Windows
5729580376 Use registry setting for removal retry count and delay

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3667
2019-08-13 10:07:09 -04:00
Kyle Edwards 39d2ce4a71 Merge topic 'per-language-link-library-flag'
689be6235e Generator: support per-language link library flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3668
2019-08-13 10:05:40 -04:00
Kyle Edwards 7099d113ae Merge topic 'support_CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS'
8f1d22c2d9 CUDA: Support CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS global variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3636
2019-08-13 09:58:03 -04:00
Kyle Edwards dabd16926b Merge topic 'cuda_separable_compilation_determined_by_compiler_id'
a233e4e7d9 CUDA: Compilers can now state they don't require a device linking step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3659
2019-08-13 09:56:47 -04:00
Kyle Edwards f952d9c257 Merge topic 'free-command-a'
9ba0bf60c6 cmA*Command: Turn into free functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3660
2019-08-13 09:55:09 -04:00
Kyle Edwards 17b66165f6 Merge topic 'strcat-localgenerator'
62659100aa cmLocalGenerator: Use cmStrCat

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sebastian Holtermann <sebholt@web.de>
Merge-request: !3671
2019-08-13 09:53:47 -04:00
Kyle Edwards 9ab15fa74a Merge topic 'cmRemoveQuotes'
27090096ef cmStringAlgorithms: Add cmRemoveQuotes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3665
2019-08-13 09:52:23 -04:00
Kyle Edwards 9e9766d85c Merge topic 'cmake-bootstrap-def'
d4d5053c30 Refactor: Finish replacing CMAKE_BUILD_WITH_CMAKE with CMAKE_BOOTSTRAP
fe921edd49 Utilities/Scripts: Remove temporary CMAKE_BOOTSTRAP conversion script
54e9d38c28 Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAP
ad0e44a18b Utilities/Scripts: Add temporary CMAKE_BOOTSTRAP conversion script

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3662
2019-08-13 09:50:42 -04:00
Kitware Robot 7d194f7d83 CMake Nightly Date Stamp 2019-08-13 00:01:05 -04:00
Saleem Abdulrasool 5480f65ab1 Swift: honour IMPLIB_LOCATION property
The rules did not account for the import library location (through
`<TARGET_IMPLB>`) and instead would always write the import library to
the default location (next to the shared library/executable).  This
prevented the use of `CMAKE_RUNTIME_OUTPUT_LOCATION` and
`CMAKE_ARCHIVE_OUTPUT_LOCATION`.
2019-08-11 22:29:49 -07:00
Kitware Robot 42c993742d CMake Nightly Date Stamp 2019-08-12 00:01:06 -04:00
Saleem Abdulrasool 4d83e47c05 Swift: define CMAKE_Swift_FLAGS correctly
Invoke `cmake_initialize_per_config_variable` to ensure that build type
flags are properly initialised.
2019-08-11 17:59:52 -07:00
Kitware Robot 70c56b856c CMake Nightly Date Stamp 2019-08-11 00:01:08 -04:00
Sebastian Holtermann 935fbe0b04 cmStringAlgorithms: Add cmStrToLong and cmStrToULong
This adds the following functions to cmStringAlgorithms:
- `cmStrToLong`: moved from `cmSystemTools::StringToLong`
- `cmStrToULong`: moved from `cmSystemTools::StringToULong`

Overloads of the given functions for `std::string` are added as well.
2019-08-10 14:39:03 +02:00
Kitware Robot 32a7605e69 CMake Nightly Date Stamp 2019-08-10 00:01:11 -04:00
Libor Bukata 47937219ee Solaris: Add support for Clang compiler
Inspired-by: Rainer Orth
Fixes: #19456
2019-08-09 12:53:05 -04:00
Saleem Abdulrasool 689be6235e Generator: support per-language link library flag
This enables the use of MSVC and Swift on Windows in a single project.
MSVC uses no flag to indicate linked libraries while Swift uses `-l`.
Add support for a language specific link library flag which takes
precedence over the global `CMAKE_LINK_LIBRARY_FLAG` which preserves
compatibility with earlier releases.
2019-08-09 08:16:29 -07:00
Kyle Edwards d4d5053c30 Refactor: Finish replacing CMAKE_BUILD_WITH_CMAKE with CMAKE_BOOTSTRAP
Remove -DCMAKE_BUILD_WITH_CMAKE from Source/CMakeLists.txt. Remove
CMAKE_BOOTSTRAP from bootstrap's cmConfigure.h. Add -DCMAKE_BOOTSTRAP
to all bootstrap sources, and remove the Unix specialization of
CMAKE_BOOTSTRAP in libuv (a review of the libuv code suggests that
this will not have an effect on the Windows build.)
2019-08-09 10:42:02 -04:00
Kyle Edwards fe921edd49 Utilities/Scripts: Remove temporary CMAKE_BOOTSTRAP conversion script 2019-08-09 10:42:02 -04:00
Kitware Robot 54e9d38c28 Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAP 2019-08-09 10:41:44 -04:00
Kyle Edwards ad0e44a18b Utilities/Scripts: Add temporary CMAKE_BOOTSTRAP conversion script 2019-08-09 10:40:36 -04:00
Brad King 1996e01578 Merge topic 'cmFileCommand-refactoring'
a7a5f376bc cmFileCommand: Use cmSubcommandTable
b66b7464ab Introduce cmSubcommandTable
2b785875fb cmFileCommand: turn into free function
9703c65718 cmFileCommand: put subcommands in unnamed namespace
64f987c174 cmFileCommand: port to cmExecutionStatus

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3657
2019-08-09 10:39:36 -04:00
Brad King 1263b0884b Merge topic 'cmDefinitions_cleanups'
1a47d368d8 cmDefinitions: Cleanups and optimizations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3666
2019-08-09 10:37:25 -04:00