Commit Graph

40538 Commits

Author SHA1 Message Date
Craig Scott 49cb2a504d Merge topic 'ExternalProject-check-explicit-include'
df1ddeec12 ExternalProject: Report error if local variables are not defined

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !2281
2018-09-07 19:40:24 -04:00
Jason Heeris 68d015fc94 FindSubversion: Add Subversion_WC_INFO option to suppress failures
Subversion fails when the directory is not actually under its control.
Allow projects to tolerate this case optionally.

Fixes: #18264
2018-09-07 16:17:28 -04:00
Adam Oleksy 0239b586bd Extra Generator: Fix handling of CMAKE_<LANG>_COMPILER_ARG1
The "arg1" value is a command-line string so we must parse it to get
separate arguments for `execute_process`.
2018-09-07 16:11:11 -04:00
Brad King 917d98699e Merge topic 'definitions-get'
437d0c16c7 cmStateSnapshot::GetDefinition(): Return std::string const*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2356
2018-09-07 16:08:02 -04:00
Brad King 1b57f49586 genex: Simplify cmGeneratorExpressionInterpreter
All callers were constructing with a non-empty target name using the
target whose pointer was passed anyway.  Drop this argument.  Simplify
logic accordingly.  Re-order constructor arguments to match the
cmCompiledGeneratorExpression::Evaluate arguments.

Also remove unnecessary getters.
2018-09-07 09:23:43 -04:00
Brad King bea390e9bd Fix dependency propagation through same-name imported targets
If two imported targets in different directories have the same name we
should still be able to propagate transitive link dependencies from
both.  Fix the target and link dependency analyzers to de-duplicate
targets using target pointers rather than target names since the
pointers will not be duplicated even if the names are.

Issue: #18345
2018-09-07 09:23:43 -04:00
Brad King fc7e4d1ed8 cmLinkItem: Convert to a "sum type" over a string and target pointer
Avoid exposing the item name implicitly as std::string.  When the item
is a target, avoid storing a second copy of its name.

Most link item construction is paired with calls to `FindTargetToLink`
to get the possible target pointer.  Rename these methods to
`ResolveLinkItem` and refactor them to construct the entire item.
2018-09-07 08:57:51 -04:00
Brad King 424d86be5b Merge branch 'release-3.12' 2018-09-07 07:54:44 -04:00
Brad King f478fa633d CMake 3.12.2 v3.12.2 2018-09-07 06:40:49 -04:00
Kitware Robot b218841079 CMake Nightly Date Stamp 2018-09-07 00:01:11 -04:00
Vitaly Stakhovsky 46855d000f cmCacheManager::GetInitializedCacheValue(): Return as const std::string*
Expose std::string type used internally instead of const char*
2018-09-06 12:49:57 -04:00
Brad King f782759ed0 Merge topic 'CMakeFindBinUtils-fix-not-cached'
53bae4cc5e CMakeFindBinUtils: Fix use with non-cached tool settings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2355
2018-09-06 10:00:25 -04:00
Brad King 036db90b9d Merge branch 'release-3.12' 2018-09-06 09:57:08 -04:00
Brad King 488faed3ce Merge topic 'FindMatlab-no-CMAKE_CL_64'
bfe883af60 FindMatlab: Remove erroneous duplicate code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2354
2018-09-06 09:56:36 -04:00
Brad King e1ebec55d4 Merge topic 'grd-stdstring'
4d89830d71 cmMakefile: Make GetRequiredDefinition return std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2347
2018-09-06 09:54:56 -04:00
Brad King 3ecbe1987d Merge topic 'isonoff-cstr'
6f16be6a62 Remove unnecessary c_str() calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2346
2018-09-06 09:54:18 -04:00
Jean-Christophe Fillion-Robin df1ddeec12 ExternalProject: Report error if local variables are not defined
Since in some situations, ExternalProject module may be included in
a sub-directory, functions will be available in the global scope but
local variables like "_ep_keywords_<keyword>" will not be defined, this
commit checks and reports an error indicating that the ExternalProject
module must be explicitly included before using any of the ExternalProject_*
functions  that require the module's inclusion within the current scope
or above.

Co-authored-by: Pablo Hernandez <pablo.hernandez@kitware.com>
Co-authored-by: Craig Scott <craig.scott@crascit.com>
2018-09-06 23:02:24 +10:00
Cyril Boucher 192e552099 FindOpenSceneGraph: Fix find in Debug
As of now, it is not possible to find OpenSceneGraph in Debug because the only
variable find_package_handle_standard_args is checking is ${module}_LIBRARY
while the debug library is in ${module}_LIBRARY_DEBUG. The refactoring gets rid
of the old behaviour to replace with a call to select_library_configurations
which will populated ${module}_LIBRARY accordingly.

[Modules/Findosg_functions.cmake Modules/FindOpenThreads.cmake]
- Include SelectLibraryConfigurations module
- Modify the name of the variable that will be populated by the first
  find_library to ${MODULE}_LIBRARY_RELEASE so that SelectLibraryConfigurations
can act on it
- Add call to select_library_configurations after attempting to find libraries
  in debug and release
2018-09-06 09:32:56 +02:00
Kitware Robot 6d2a2fe660 CMake Nightly Date Stamp 2018-09-06 00:01:09 -04:00
Vitaly Stakhovsky 437d0c16c7 cmStateSnapshot::GetDefinition(): Return std::string const*
Expose std::string type used internally in cmDefinitions instead of const char*
2018-09-05 20:08:17 -04:00
Bartosz Kosiorek fc1602456a Help: Replace occurrences of "Mac OS X" with "macOS"
Apple's main Operating system changed their name from OS X to macOS:

    https://www.engadget.com/2016/06/13/os-x-is-now-macos/

Revise documentation accordingly.
2018-09-05 16:10:49 -04:00
Brad King 3dd926f4a8 Merge branch 'FindMatlab-no-CMAKE_CL_64' into release-3.12
Merge-request: !2354
2018-09-05 15:20:03 -04:00
Raffi Enficiaud bfe883af60 FindMatlab: Remove erroneous duplicate code
This was left accidentally when resolving merge conflicts between
previous changes.

Fixes: #18221
2018-09-05 15:19:50 -04:00
Vitaly Stakhovsky 4d89830d71 cmMakefile: Make GetRequiredDefinition return std::string
In all cases the return value is converted to std::string anyway.

Also remove unnecessary `c_str()` calls in arguments to
`GetRequiredDefinition`.
2018-09-05 15:15:55 -04:00
Vitaly Stakhovsky 6f16be6a62 Remove unnecessary c_str() calls
Use the new IsOn(),IsOff() overloads.
2018-09-05 15:12:57 -04:00
Brad King 53bae4cc5e CMakeFindBinUtils: Fix use with non-cached tool settings
If a project or toolchain file hard-codes a tool location such as
`CMAKE_LINKER` with a plain `set()` then the value will be stored
in compiler information files but not cached.  If the value is
not cached then we should not mark it as advanced because doing
so will initialize an empty cache entry.

Fixes: #18315
2018-09-05 15:03:02 -04:00
Brad King b0f769ad2d Merge topic 'cmake-gui-align-text'
13a2751ca6 cmake-gui: Align source and binary directory path text

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2344
2018-09-05 14:40:26 -04:00
Brad King 182522a209 Merge branch 'release-3.12' 2018-09-05 14:36:47 -04:00
Brad King b6524f6f34 Merge topic 'vs-CMakeLists.txt'
0b82e68f2f VS: Restore CMakeLists.txt references in each target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2349
2018-09-05 14:35:46 -04:00
Brad King 925b95fbad Merge branch 'vs-CMakeLists.txt' into release-3.12
Merge-request: !2349
2018-09-05 14:33:06 -04:00
Brad King 0b82e68f2f VS: Restore CMakeLists.txt references in each target
The custom command de-duplication added by commit v3.12.0-rc1~171^2 (VS:
Generate a custom command only in the least dependent target,
2018-03-23) accidentally also applied to the `CMakeLists.txt` file
reference we put in each target.  This file reference comes with a
custom command that has no dependencies and that is safe to run
repeatedly across multiple targets (via internal stamp checking).
Therefore it should be excluded from the de-duplication so that
`CMakeLists.txt` references appear in all targets for human reference.

Fixes: #18310
2018-09-05 14:32:45 -04:00
Brad King cb800ebb83 Merge topic 'FindBoost-old-context'
9a800c12fc FindBoost: Fix context discovery for 1.60 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2348
2018-09-05 14:32:27 -04:00
Kitware Robot cc5bac458b CMake Nightly Date Stamp 2018-09-05 00:01:09 -04:00
Zeex 13a2751ca6 cmake-gui: Align source and binary directory path text
Text inputs for "where is the source code" and "where to build the
binaries" had different amount of left spacing, so the two paths were
not aligned. This could create a feeling that you typed something wrong
in the input even though the paths were identical or had a common root
path.
2018-09-04 13:01:00 -04:00
Brad King 6be7097dbe Merge branch 'FindBoost-old-context' into release-3.12
Merge-request: !2348
2018-09-04 12:43:12 -04:00
Igor Kostenko 9a800c12fc FindBoost: Fix context discovery for 1.60 and below
* `all.hpp` was removed in 1.68:
  https://github.com/boostorg/context/commit/2e37599461912cc1679f106a25456a493f7f0b27
* `fcontext.hpp` was moved to detail in 1.61:
  https://github.com/boostorg/context/commit/c2f0dfdf2608c1ebaa2229fa6f358fe6aa103561

Fixes: #18126
2018-09-04 12:41:36 -04:00
Brad King 612975c665 Merge topic 'cpack_test'
7a7e94d6f7 CPack (DEB/RPM): add test for per-component description/summmary.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2333
2018-09-04 09:59:12 -04:00
Brad King 69ce062969 Merge topic 'cmakeServerSourcesForInterfaceLibraries'
d74c2282ea cmake-server: Support codemodel filegroups for INTERFACE_SOURCES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Tobias Hunger <tobias.hunger@gmail.com>
Acked-by: Markus Enzenberger <markus.enzenberger@gmail.com>
Merge-request: !2282
2018-09-04 09:57:58 -04:00
Brad King 0a1426f008 Merge topic 'improve-isonoff'
1bfe6991ff cmSystemTools: Re-implement IsOn,IsOff with manual branching
1fa0f2bd03 cmSystemTools: Add IsOn(),IsOff() overloads accepting std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: vvs31415 <vstakhovsky@fastmail.com>
Merge-request: !2336
2018-09-04 09:57:22 -04:00
Kitware Robot 6b5f4ff929 CMake Nightly Date Stamp 2018-09-04 00:01:06 -04:00
Kitware Robot 0878a79414 CMake Nightly Date Stamp 2018-09-03 00:01:08 -04:00
Kitware Robot d5a12cc84d CMake Nightly Date Stamp 2018-09-02 00:01:09 -04:00
Kitware Robot ef5022e8c6 CMake Nightly Date Stamp 2018-09-01 00:01:24 -04:00
Brad King 1bfe6991ff cmSystemTools: Re-implement IsOn,IsOff with manual branching
Replace use of std::string allocation, std::set lookups, and toupper
conversions with explicit manual logic to do case-insensitive
recognition of a specific set of strings.
2018-08-31 14:58:03 -04:00
Vitaly Stakhovsky 1fa0f2bd03 cmSystemTools: Add IsOn(),IsOff() overloads accepting std::string 2018-08-31 14:58:03 -04:00
Brad King ed80d89b98 Merge topic 'FindBLAS-implicit-blas-final'
8cdff15ef7 FindBLAS: Make Intel MKL the most preferred explicit BLAS library again
608de88f29 FindBLAS: Make Intel MKL code block respect prior found BLAS libraries
5b8f69ebe9 FindBLAS: Detect implicitly linked BLAS library
2c807b75f3 FindBLAS: Re-indent module source code to use normal conventions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2312
2018-08-31 14:51:13 -04:00
Brad King 5a02afd920 Merge topic 'vs-winrt-default'
e78a0c8e8a VS: Add option to tell generator that platfrom is WinRT by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2315
2018-08-31 14:50:27 -04:00
Brad King 28979843d1 Merge topic 'gg-stdstring'
4e94f6447a cmGlobalGenerator::AddInstallComponent(): Accept std::string argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2332
2018-08-31 14:49:29 -04:00
Brad King 8c2d1fb7a3 Merge branch 'release-3.12' 2018-08-31 14:46:41 -04:00
Brad King 388bf1feee Merge topic 'CheckIPOSupported-output-backslashes'
4e1ea02bb8 CheckIPOSupported: Tolerate backslashes in output of failed checks
b7dbb25a0a CheckIPOSupported: Simplify result reporting logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2331
2018-08-31 14:46:02 -04:00