Commit Graph
28539 Commits
Author SHA1 Message Date
Brad King 787017451c Merge topic 'objlib-own-target-objs'
d89e10cd Diagnose object library self-reference

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1053
2017-07-18 11:12:00 -04:00
Kitware Robot ec049641c4 CMake Nightly Date Stamp 2017-07-18 00:01:06 -04:00
Brad King b97878643b Merge branch 'objlib-own-target-objs' into release-3.9 2017-07-17 11:42:18 -04:00
Brad King 8ff5aeb7cb Merge topic 'xcode9support'
0348383b Xcode: Add "outputPaths" to custom command script build phase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1054
2017-07-17 10:26:37 -04:00
Brad King 3ce57e3b54 Merge topic 'fix-lang-std-option-list'
cef77f06 Allow language extensions without any standard to use a list of options
74e33711 Merge branch 'backport-fix-lang-std-option-list' into fix-lang-std-option-list
fca05461 cmLocalGenerator: Explain standard flag selection logic in comments
218ce158 Features: Fix support for a list of language standard options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1059
2017-07-17 10:25:36 -04:00
Kitware Robot 2d5e494637 CMake Nightly Date Stamp 2017-07-17 00:01:04 -04:00
Kitware Robot ecfd3ef2f3 CMake Nightly Date Stamp 2017-07-16 00:01:04 -04:00
Kitware Robot c9433f9b5a CMake Nightly Date Stamp 2017-07-15 00:01:09 -04:00
Brad King d89e10cd58 Diagnose object library self-reference
The code

    add_library(A OBJECT a.c)
    target_sources(A PRIVATE $<TARGET_OBJECTS:A>)

used to crash CMake via infinite recursion while evaluating the
generator expression.  Then the change in commit v3.9.0-rc1~266^2~1
(cmGeneratorTarget: Replace source classifier implementation,
2017-04-07) avoided the infinite recursion because GetKindedSources now
creates a map entry and initializes it once.  If it is called again on
the same target during that initialization, the partially computed
results are returned.  This is still wrong but does not crash.
Detect and diagnose this case instead.

Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
Fixes: #16578
2017-07-14 14:05:22 -04:00
André Klitzing c4de0a25ac Add sha1sum, sha224sum, sha256sum, sha384sum and sha512sum to command mode 2017-07-14 19:49:45 +02:00
Brad King 68a64478c5 Merge branch 'xcode9support' into release-3.9 2017-07-14 10:40:33 -04:00
Harry Mallon 0348383b8c Xcode: Add "outputPaths" to custom command script build phase
This is needed for Xcode 9's "New Build System", whose release notes
mention "that output must be declared as an explicit output by the
script which generates it" in reference to outputs of custom script
build phases.
2017-07-14 10:38:00 -04:00
Brad King 8c7facd69b Merge branch 'backport-fix-lang-std-option-list' into release-3.9 2017-07-14 10:20:12 -04:00
Brad King cef77f0687 Allow language extensions without any standard to use a list of options
Fix the logic added by commit a2112257 (Add infrastructure to use
language extensions without any standard, 2017-06-29) to support a list
of options as has been done since commit v3.9.0-rc1~174^2~2
(CompileFeatures: Let STD compile options be a list, 2016-10-05).
2017-07-14 10:20:07 -04:00
Brad King 74e337117f Merge branch 'backport-fix-lang-std-option-list' into fix-lang-std-option-list 2017-07-14 10:19:59 -04:00
Brad King fca0546175 cmLocalGenerator: Explain standard flag selection logic in comments 2017-07-14 10:19:56 -04:00
Brad King 218ce158f2 Features: Fix support for a list of language standard options
The change in commit v3.9.0-rc1~174^2~2 (CompileFeatures: Let STD
compile options be a list, 2016-10-05) did not change all the places we
add the language standard options.  Expand the list in the other places.
2017-07-14 10:19:44 -04:00
Brad King 688b1c11ec Merge topic 'ninja_cuda_export_compile_commands_support'
712af07e CUDA: CMAKE_EXPORT_COMPILE_COMMANDS now works with CUDA and Ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1055
2017-07-14 08:23:58 -04:00
Brad King 38f81fab72 Merge topic 'vs_csharp_add_custom_command_comment'
21ee3309 VS: print comment in CSharp target only if it is actually set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1049
2017-07-14 08:22:59 -04:00
André Klitzing c4647d8432 Change ComputeFileMD5 to ComputeFileHash
* Use a parameter to select hash algorithm
* Return a std::string as result or an empty
  string if it fails
* Avoids unnecessary copy of hash value
2017-07-14 08:57:17 +02:00
Kitware Robot 52db8d55e8 CMake Nightly Date Stamp 2017-07-14 00:01:07 -04:00
Brad King 9d9085ab36 Merge branch 'ninja_cuda_export_compile_commands_support' into release-3.9 2017-07-13 11:40:08 -04:00
Robert Maynard 712af07e47 CUDA: CMAKE_EXPORT_COMPILE_COMMANDS now works with CUDA and Ninja
Fixes: #17061
2017-07-13 11:23:16 -04:00
Brad King 489a7706c2 Merge topic 'android-system-include-last'
4bafa392 Android: Always add standard include directories last

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1052
2017-07-13 10:07:36 -04:00
Brad King 4bafa3922e Android: Always add standard include directories last
The logic added in commit v3.6.0-rc1~30^2 (Add a variable to specify
language-wide system include directories, 2016-05-24) to use
`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` incorrectly filters them by
`CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`.  Rather than recognizing
this, commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory
explicitly, 2017-01-20) worked around the problem by incorrectly
removing `/usr/include` from `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`
so it worked in `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`.

By not filtering out `/usr/include` from user-specified include
directories, we allow the code

    include_directories(${CMAKE_SYSROOT}/usr/include)

to place the include directory too early on the command line.

Fix support for standard include directories to not be filtered by
implicit include directories, and do not remove `/usr/include` from the
list of implicit include directories for Android builds.  Add a test
case to verify that an explicit `/usr/include` is ignored in favor
of the standard directory at the end.

Fixes: #17059
2017-07-13 10:03:58 -04:00
Brad King aa97170f2b Merge topic 'win10-sdk-request-mismatch'
80f59ee6 cmGlobalVisualStudio14Generator: notify when the SDK version doesn't match

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !866
2017-07-13 08:23:56 -04:00
Ben Boeckel 80f59ee602 cmGlobalVisualStudio14Generator: notify when the SDK version doesn't match
When requesting an SDK version which is not suitable (e.g., missing
`windows.h`), CMake will use the next-best SDK version. Output a message
when CMake chooses something different than the requested SDK version.

See #16895.
2017-07-13 08:10:57 -04:00
Brad King 47d9772618 Merge topic 'better-exception-reporting'
0c650f39 CTest: Report more detail about system exceptions in tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1046
2017-07-13 07:51:05 -04:00
Brad King 0f158272d6 Merge topic 'test_include_files'
117033c1 Add TEST_INCLUDE_DIR[S] unit test
ed5bde30 Add TEST_INCLUDE_FILES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1031
2017-07-13 07:46:47 -04:00
Brad King f5be951117 Merge topic 'labels-for-subprojects'
376dc3eb Help: Add notes for topic 'labels_for_subprojects'
a70d8e93 Add tests for new directory labels and labels-for-subprojects features
47b3a57c Display subproject timing summary
d3859624 Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variable
d08ec4d2 Add CTEST_LABELS_FOR_SUBPROJECTS as a CTest module and script variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1004
2017-07-13 07:46:09 -04:00
Brad King 37915a6930 Merge topic 'ninja-dyndep-response-file'
4ef0eedb Ninja: always use response file for cmake_ninja_dyndep

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1038
2017-07-13 07:45:11 -04:00
Brad King e5c762d32d Merge topic 'server-target-backtraces'
0c572382 server: Report backtraces in codemodel response
4db32275 server: Rename cmServerProtocol1_0 to cmServerProtocol1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !992
2017-07-13 07:44:11 -04:00
Brad King c8f4cf0821 Merge topic 'source-group-regex-tweaks'
2c82d9c8 Add more extensions to Resources source group by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1028
2017-07-13 07:42:42 -04:00
Kitware Robot 3d209acc1f CMake Nightly Date Stamp 2017-07-13 00:01:06 -04:00
Bill Hoffman 0c650f3965 CTest: Report more detail about system exceptions in tests
This passes the system exception string up to CDash and to the command line
instead of just printing "other".
2017-07-12 13:29:21 -04:00
Matthew Woehlke ed5bde30f7 Add TEST_INCLUDE_FILES
Add new directory property TEST_INCLUDE_FILES. This supersedes
TEST_INCLUDE_FILE, though the latter is of course retained for
compatibility.

Basically, this is a list rather than a single file. This allows the
feature to be used by generic utilities without conflicting with local
use.
2017-07-12 13:28:21 -04:00
Michael Stürmer 21ee3309b2 VS: print comment in CSharp target only if it is actually set 2017-07-12 15:45:28 +02:00
Brad King 25b72e9097 CMake 3.9.0-rc6 2017-07-12 09:20:01 -04:00
Brad King ff9321a18a Merge topic 'vs-2017-sln-guid'
5cf9c3d0 VS: Add SolutionGuid to generated .sln files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1042
2017-07-12 08:59:26 -04:00
Brad King 083a5cad0e Merge topic 'find_package-root-prefix-path-suffixes'
80b905f8 find_*: Honor PATH_SUFFIXES in PackageName_ROOT paths
1ae1b880 cmFindCommon: Drop unused FilterPaths method
cca8454e cmFindCommon: Fix typo in PackageName_ROOT path label

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Chuck Atkins <chuck.atkins@kitware.com>
Merge-request: !1044
2017-07-12 08:59:07 -04:00
Brad King 7020833841 Merge topic 'bindexplib-revert-consts'
3250b9a1 bindexplib: Revert support for constants symbols

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1041
2017-07-12 08:58:36 -04:00
Kitware Robot fadcfd4b89 CMake Nightly Date Stamp 2017-07-12 00:01:06 -04:00
Brad King c42c039d32 Merge branch 'vs-2017-sln-guid' into release-3.9 2017-07-11 10:42:21 -04:00
Brad King 5cf9c3d0cc VS: Add SolutionGuid to generated .sln files
Visual Studio 2017 Update 3 adds a SolutionGuid to its `.sln` files.

Fixes: #17041
2017-07-11 10:41:28 -04:00
Brad King 7638c6ea8d Merge branch 'find_package-root-prefix-path-suffixes' into release-3.9 2017-07-11 09:20:37 -04:00
Brad King 80b905f882 find_*: Honor PATH_SUFFIXES in PackageName_ROOT paths
This was accidentally forgotten in commit v3.9.0-rc1~71^2~2 (find_*: Add
a new PackageRoot search path group, 2017-05-03).

Fixes: #17052
2017-07-11 09:11:19 -04:00
Brad King 1ae1b880a8 cmFindCommon: Drop unused FilterPaths method
The method has not been used since commit v3.2.0-rc1~400^2~1
(Encapsulate search path manipulation functions into a seperate class,
2014-10-15).
2017-07-11 09:11:19 -04:00
Brad King cca8454ee5 cmFindCommon: Fix typo in PackageName_ROOT path label 2017-07-11 09:11:19 -04:00
Ivan Shcherbakov 0c57238215 server: Report backtraces in codemodel response
Report the source locations (e.g. in `CMakeLists.txt`) for all targets
and target-related statements.  This allows IDEs to locate the
statements and automatically edit them when the user adds or removes
files or changes target properties via GUI.

Increment the protocol minor version number to tell clients that the new
information is available.
2017-07-11 07:50:22 -04:00
Brad King de72d5dda6 Merge topic 'file-LOCK-windows-message'
efaf987a cmFileLockResult: Avoid allocation for Windows error message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1035
2017-07-11 07:38:54 -04:00