Commit Graph

22206 Commits

Author SHA1 Message Date
Brad King
3ccad39000 Merge topic 'cmake-host-system-name'
717e1f30 Use looked up uname path for command execution
0bbd993f Make CMAKE_HOST_SYSTEM_NAME available in scripting context
2017-02-21 11:14:03 -05:00
Brad King
48ef9c5ae6 Merge topic 'cuda-separable-bool'
08fa0b45 CUDA: Fix boolean interpretation of CUDA_SEPARABLE_COMPILATION
2017-02-21 11:13:58 -05:00
Kitware Robot
8209b3238f CMake Nightly Date Stamp 2017-02-21 00:01:03 -05:00
Brad King
08fa0b4595 CUDA: Fix boolean interpretation of CUDA_SEPARABLE_COMPILATION
If the property is explicitly set to a non-true value we should
not treat it as true.
2017-02-20 17:05:35 -05:00
Brad King
3c0de6db2d Merge topic 'iwyu'
d58d28a9 ParserHelper: Move macros to bottom of files
07953c18 remove file cmStandardIncludes.h
f918b053 cmFortranParser: include what you use
b74314c6 cmDependsJavaParser: include what you use
74404df4 cmCommandArgumentParser: include what you use
e7168c08 cmExprParser: include what you use
ee72803e fix some include-what-you-use diagnostics
2017-02-20 10:43:07 -05:00
Brad King
66094d1224 Merge topic 'productbuild_component_plist'
d32f9deb CPack: Add option to specify --component-plist for productbuild
2017-02-20 10:43:05 -05:00
Brad King
5d17b68c67 Merge topic 'productbuild_resources'
734581f4 CPack: Add support for CPACK_PRODUCTBULID_RESOURCES_DIR
2017-02-20 10:43:02 -05:00
Brad King
168420f35c Merge topic 'fix-CMAKE_ROOT-case'
3287ba02 Make CMAKE_ROOT independent of case of path used to invoke cmake
2017-02-20 10:43:00 -05:00
Brad King
53a1ec631d Merge topic 'fix-CMP0017-path-case'
e2d78f75 Windows: Fix inconsistent behavior on changes to case of path to cmake
2017-02-20 10:42:57 -05:00
Daniel Pfeifer
d58d28a941 ParserHelper: Move macros to bottom of files
Since the class name is used in the macros, the iwyu tool gets confused
wheter it needs a forward declaration or not.

While editing the files, make sure structs have no typedef.  Also,
remove confusing comments about Java.
2017-02-20 10:35:55 -05:00
Daniel Pfeifer
07953c18f3 remove file cmStandardIncludes.h 2017-02-20 10:35:55 -05:00
Daniel Pfeifer
f918b053b2 cmFortranParser: include what you use 2017-02-20 10:35:55 -05:00
Kitware Robot
d36016a8ff CMake Nightly Date Stamp 2017-02-20 00:01:02 -05:00
Gregor Jasny
0bbd993f61 Make CMAKE_HOST_SYSTEM_NAME available in scripting context 2017-02-19 19:27:34 +01:00
Kitware Robot
96b6afdc42 CMake Nightly Date Stamp 2017-02-19 00:01:03 -05:00
Kitware Robot
74e83c5ff5 CMake Nightly Date Stamp 2017-02-18 00:01:03 -05:00
Daniel Pfeifer
b74314c6fd cmDependsJavaParser: include what you use 2017-02-17 22:12:21 +01:00
Daniel Pfeifer
74404df440 cmCommandArgumentParser: include what you use 2017-02-17 22:12:21 +01:00
Daniel Pfeifer
e7168c087f cmExprParser: include what you use 2017-02-17 22:12:21 +01:00
Daniel Pfeifer
ee72803e9f fix some include-what-you-use diagnostics 2017-02-17 22:12:21 +01:00
Tim Hutt
734581f49f CPack: Add support for CPACK_PRODUCTBULID_RESOURCES_DIR
This allows you to copy custom files (e.g. a background image) into the
macOS installer.

Fixes: #16604
2017-02-17 11:47:00 -05:00
Tim Hutt
d32f9debc8 CPack: Add option to specify --component-plist for productbuild
When using the productbuild generator this lets you specify the value of
the `--component-plist` parameter when it runs pkgbuild for a component.

Fixes: #16638
2017-02-17 11:40:45 -05:00
Brad King
e2d78f7535 Windows: Fix inconsistent behavior on changes to case of path to cmake
In commit v3.4.0-rc1~333^2 (Merge branch 'upstream-kwsys' into
update-kwsys, 2015-07-15) we brought in upstream KWSys commit 86a24794
(SystemTools: Fix GetActualCaseForPath drive letter case handling,
2015-07-09).  This caused our path processing to convert drive letters
to upper-case and exposed an existing bug in our implementation of
CMP0017.

Policy CMP0017 is responsible for ensuring that modules included from a
builtin module only load other builtin modules and cannot be overridden
by a file in `CMAKE_MODULE_PATH`.  If there is a case difference in the
drive letter (or other path components) then the path to the including
module may not match our builtin module directory in a simple string
comparison.  This means builtin modules may not be recognized as such,
and they may not reliably include their builtin dependencies.  For
example, if a project provides a `Platform/Windows` module in
`CMAKE_MODULE_PATH` it can break inclusion of our builtin
`Platform/Windows` module, leading to strange behavior.

Fix this by comparing the path to the including module to our builtin
module directory using a function that is aware of case-insensitivity of
paths on Windows.

Fixes: #16648, #16622
2017-02-17 11:10:45 -05:00
Brad King
3287ba0254 Make CMAKE_ROOT independent of case of path used to invoke cmake
We compute the location of `CMAKE_ROOT` and other resources relative to
the location of our own executable.  On some platforms this path is
computed in a way that depends on the case of the path used to invoke
the executable.  Convert the result to the actual case preserved by the
filesystem on disk in order to make it consistent regardless of how the
executable is launched.

This approach generalizes the fix made by commit v3.8.0-rc1~71^2
(cmSystemTools: use the actual case for root detection, 2017-01-18).

Issue: #16648
2017-02-17 11:09:12 -05:00
Brad King
f3e8a89a9b Merge topic 'install_name_policy'
1ba91291 Add policy CMP0068 separate install_name and RPATH settings on macOS
f7b9bf41 Apple: Add BUILD_WITH_INSTALL_NAME_DIR target property
4bff2d14 Apple: Refactor support for using INSTALL_NAME_DIR.
624fb9d7 Help: Format BUILD_WITH_INSTALL_RPATH documentation
2017-02-17 08:46:14 -05:00
Brad King
988c63527d Merge topic 'bison3'
761ea205 cmCommandArgumentParser: reformat grammar
1728b9c0 cmDependsJavaParser: Port to bison 3
fe75e140 cmCommandArgumentParser: Port to bison 3
2017-02-17 08:46:11 -05:00
Brad King
261b5785ad Merge topic 'capture-ctest_update-svn-failures'
f10b2f72 ctest_update: Capture failure of svn to load revisions and local mods
ef399f9b ctest_update: Refactor internal APIs to support more failure cases
2017-02-17 08:45:36 -05:00
Kitware Robot
b6c9a851cb CMake Nightly Date Stamp 2017-02-17 00:01:02 -05:00
Daniel Pfeifer
761ea20518 cmCommandArgumentParser: reformat grammar 2017-02-16 21:34:27 +01:00
Daniel Pfeifer
1728b9c076 cmDependsJavaParser: Port to bison 3
Use %-directives to specify the scanner/lexer arguments and update the
yyerror signature.  Reduce the list of post-bison modifications needed.
2017-02-16 21:26:36 +01:00
Daniel Pfeifer
fe75e140d6 cmCommandArgumentParser: Port to bison 3
Use %-directives to specify the scanner/lexer arguments and update the
yyerror signature.  Reduce the list of post-bison modifications needed.
2017-02-16 21:18:15 +01:00
Brad King
f10b2f72f6 ctest_update: Capture failure of svn to load revisions and local mods
Issue: #16646
2017-02-16 13:19:26 -05:00
Brad King
ef399f9bc6 ctest_update: Refactor internal APIs to support more failure cases
Thread failure of VC tool commands through more APIs so that we can
detect when they fail.  Defer updating of the individual VC tool usage
the future and just return true from them for now.
2017-02-16 13:19:26 -05:00
Brad King
bb4730dc5a Merge topic 'vs-refactor-unknown-flags'
109b8a6f VS: Refactor AdditionalOptions generation
bd5ea699 cmVisualStudioGeneratorOptions: Add PrependInerhitedString method
3936a288 cmIDEOptions: Add SpaceAppendable flag table type
2017-02-16 13:15:52 -05:00
Brad King
160083b04d Merge topic 'vs-refactor-toolset-parsing'
f773933f VS: Refactor generator toolset parsing
d9e2b9a9 Tests: Split out RunCMake.GeneratorToolset Xcode checks
2017-02-16 13:15:49 -05:00
Brad King
60b5616af7 Merge topic 'command-cleanup-fix'
20ae76b1 cmDisallowedCommand: Forward final pass too
2017-02-16 13:15:44 -05:00
Brad King
aa18d5befe Merge topic 'fix-ctest_update-svn'
51849bba ctest_update: Fix svn log and external loading
2017-02-16 13:15:42 -05:00
Brad King
5d5be3bd96 Merge topic 'autogen_fix_3.8'
28ee3784 Autogen: Fix headers not skipped
2017-02-16 13:15:38 -05:00
Kitware Robot
b9229944cf CMake Nightly Date Stamp 2017-02-16 00:01:10 -05:00
Sebastian Holtermann
28ee378405 Autogen: Fix headers not skipped 2017-02-15 21:00:39 +01:00
Brad King
51849bbab8 ctest_update: Fix svn log and external loading
Since commit v3.7.0-rc1~132^2 (CTestSVN: Fix segfault when
CTEST_UPDATE_VERSION_ONLY is enabled, 2016-09-12) we do not properly
extract svn log or externals.  After updating we erase the information
that was loaded before updating and can no longer log the changes
between revisions to extract authors.

Fix this by only loading the repository information once, whether needed
by `NoteOldRevision`, `NoteNewRevision`, or both.

Fixes: #12630, #16646
2017-02-15 14:44:37 -05:00
Brad King
109b8a6fd3 VS: Refactor AdditionalOptions generation
Store unknown flags directly in a flag map entry for `AdditionalOptions`
instead of having a separate member for them.  This avoids duplicating
the output generation logic for the entry.
2017-02-15 10:41:36 -05:00
Brad King
bd5ea6993c cmVisualStudioGeneratorOptions: Add PrependInerhitedString method 2017-02-15 10:37:35 -05:00
Brad King
3936a2886e cmIDEOptions: Add SpaceAppendable flag table type 2017-02-15 10:36:09 -05:00
Brad King
20ae76b1da cmDisallowedCommand: Forward final pass too
Refactoring in commit 7fb14775 (cmDisallowedCommand: extract policy
checking from cmCommand, 2016-12-26) introduced a wrapper for
disallowed commands that forwards to their original commands.
This broke the `export_library_dependencies` command that uses
a final pass.  Forward the final pass too to fix it.
2017-02-15 09:22:22 -05:00
Brad King
8ff8766232 Merge topic 'vs-refactor-libs'
8ba6dc36 VS: Place CMAKE_<LANG>_STANDARD_LIBRARIES after other libraries
1d04d2ce VS: Refactor parsing of CMAKE_<LANG>_STANDARD_LIBRARIES
2017-02-15 08:24:13 -05:00
Brad King
6a5e5a9268 Merge topic 'vs-dedup-tag'
f7e5c682 VS: De-duplicate PreprocessorDefinitions tag name
2017-02-15 08:24:10 -05:00
Brad King
75040fc103 Merge topic 'update-kwsys'
ff843dbd Merge branch 'upstream-KWSys' into update-kwsys
ced3396d KWSys 2017-02-14 (5c6f7836)
2017-02-15 08:24:00 -05:00
Brad King
f773933f26 VS: Refactor generator toolset parsing
We parse `CMAKE_GENERATOR_TOOLSET` values of the forms:

* `toolset`
* `toolset,host=x64`
* `host=x64`

Generalize the parsing to support the forms:

* `toolset`
* `toolset[,key=value]*`
* `key=value[,key=value]*`

Disallow duplicate keys.  Require all but the first field to
be of `key=value` form.
2017-02-15 08:15:37 -05:00
Kitware Robot
8b155a6c09 CMake Nightly Date Stamp 2017-02-15 00:01:04 -05:00