Commit Graph

5681 Commits

Author SHA1 Message Date
Brad King
c4b1c0751d Merge topic 'cpack-external'
4c71548766 Help: Add release notes for CPack External generator
47c87cdd1f Help: Add documentation for CPack External generator
2ef966bc77 Testing: Add test for CPack External generator
80914d88da CPack: Add "CPack External" generator
3ced881db6 cmCPackGenerator: Store CPACK_INSTALL_CMAKE_PROJECTS in an internal field
4938abb600 cmCPackGenerator: Refactor InstallProjectViaInstallCMakeProjects()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2142
2018-07-03 10:55:06 -04:00
Brad King
f4d4d5df5b Merge topic 'LINK_DEPENDS'
724bd7790e LINK_DEPENDS: add support of 'generator expressions'
cc9f88af53 LINK_DEPENDS: add support for property INTERFACE_LINK_DEPENDS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2175
2018-07-03 10:52:24 -04:00
Kyle Edwards
2ef966bc77 Testing: Add test for CPack External generator
This test case ensures that the CPack External generator produces
the proper .json file, and also ensures that the version negotation
with CPACK_EXT_REQUESTED_VERSIONS works properly.
2018-07-02 09:51:02 -04:00
Brad King
08813b17a1 Merge topic 'ctest_submit-https'
71f27c04b0 ctest_submit: show headers as debug info
4464ef21da ctest_submit: Check CA file during CDASH_UPLOAD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2171
2018-06-29 08:56:25 -04:00
Brad King
faa9ef9968 Merge topic 'lexer-null'
b29842a818 ListFileLexer: Do not match null bytes in input

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2174
2018-06-29 08:55:47 -04:00
Zack Galbreath
71f27c04b0 ctest_submit: show headers as debug info
Hide any headers specified by `ctest_submit(HTTPHEADER ...)` unless ctest
is run with --debug.  This option is used to present bearer tokens to CDash.
We do not want to inadvertently expose this secret data in the console
output log.
2018-06-27 15:08:14 -04:00
Marc Chevrier
724bd7790e LINK_DEPENDS: add support of 'generator expressions' 2018-06-27 18:38:36 +02:00
Marc Chevrier
cc9f88af53 LINK_DEPENDS: add support for property INTERFACE_LINK_DEPENDS
Fixes: #17997
2018-06-27 18:38:36 +02:00
Brad King
b29842a818 ListFileLexer: Do not match null bytes in input
Extend the fix from commit v3.10.0-rc1~188^2 (ListFileLexer: fix
heap-buffer-overflow on malicious input, 2017-08-26) to apply to all
lexer token matches.  Replace all `.` with `[^\0\n]`.  Update all
`[^...]` match expressions to not match `\0`.

We cannot safely process null bytes in strings.

Fixes: #18124
2018-06-26 11:54:34 -04:00
Brad King
8848a1c07a Merge topic 'test-wizard'
7bffd71c3b Tests: Adopt wizard test in RunCMake.CommandLine

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2166
2018-06-25 09:56:56 -04:00
Brad King
383f29fd63 Merge topic 'file-GLOB-remove-new-errors'
142a625729 file: Drop error cases added by CMake 3.12.0-rc1 to avoid regressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Shane Parris <shane.lee.parris@gmail.com>
Merge-request: !2164
2018-06-25 09:53:24 -04:00
Brad King
7bffd71c3b Tests: Adopt wizard test in RunCMake.CommandLine
Avoid a whole separate test for one removed command-line option.
2018-06-22 13:59:14 -04:00
Brad King
44ca3d922c Merge topic 'cpack-generator-documentation'
57e4c51e8a Help: Update old version release notes for CPack generator docs
4181830881 Help: Add release notes for CPack generator documentation and module updates
48bc8b2b82 CPack: Move internal implementation modules into Internal/CPack directory
2a2829cc75 Help: Add new section for CPack generators
be6267808a CPackIFW: Turn documentation into a block comment
0180524c7a Help: Move legacy CPack modules into separate section

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2149
2018-06-22 09:48:00 -04:00
Brad King
5e1f519037 Merge topic 'cmake_autogen_verbose'
5b85ef5cd0 Autogen: Add release notes for CMAKE_AUTOGEN_VERBOSE
6651aab2ab Autogen: Add documentation for CMAKE_AUTOGEN_VERBOSE
aa7d8a092c Autogen: Enable CMAKE_AUTOGEN_VERBOSE in all tests
e28dc3b1d8 Autogen: Add CMAKE_AUTOGEN_VERBOSE variable support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2157
2018-06-22 09:46:17 -04:00
Brad King
1a21b4695a Merge topic 'vs_debugger'
797de7a6f6 VS10Project: Expand VS_DEBUGGER_* capabilities

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2150
2018-06-22 09:45:19 -04:00
Brad King
142a625729 file: Drop error cases added by CMake 3.12.0-rc1 to avoid regressions
Refactoring in commit v3.12.0-rc1~418^2~3 (Refactor HandleGlobCommand,
2018-02-13) introduced error diagnostics for argument combinations that
were previously accepted.  Restore acceptance to avoid regressing
projects that used those combinations even if they do not make sense.

Fixes: #18097
2018-06-22 09:39:05 -04:00
Sebastian Holtermann
aa7d8a092c Autogen: Enable CMAKE_AUTOGEN_VERBOSE in all tests 2018-06-21 19:16:40 +02:00
Kyle Edwards
2a2829cc75 Help: Add new section for CPack generators
The documentation for CPack generators previously lived in their
respective internal CMake modules. This setup was misleading,
because it implied that you should include the modules in your own
code, which is not the case. Moving the documentation into a
separate section does a better job of hiding the internal modules,
which are just an implementation detail. The generator documentation
has also been modified to remove any references to the module name.

The CPackIFW module is a special exception: since it has user-facing
macros, the documentation for these macros has been kept in the module
page, while all other documentation related to the IFW generator has
been moved into the new section.

To make it easier to find the new documentation, the old help pages
for the CPack*.cmake modules have not been deleted, but have been
replaced with a link to their respective help page in the new
documentation section.
2018-06-21 11:00:25 -04:00
Brad King
e11f660ae1 Merge topic 'xcode-10-legacy-build-system'
ca69206893 Tests: Do not use i386 architecture with Xcode 10 and above
71fa78ff7a Tests: Teach RunCMake to ignore Xcode missing file type warnings
057ecb8f6f C++ feature checks: Ignore Xcode warnings
985d3a162c Xcode: Use legacy build system

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2151
2018-06-20 09:42:25 -04:00
Brad King
00a9d133fb Merge topic 'install_from_another_directory'
e89ad0f94e install: Allow installing targets created in another directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2152
2018-06-19 11:50:51 -04:00
Brad King
ca69206893 Tests: Do not use i386 architecture with Xcode 10 and above
Xcode 10 dropped support for i386 builds.
2018-06-19 11:14:43 -04:00
Brad King
71fa78ff7a Tests: Teach RunCMake to ignore Xcode missing file type warnings
Xcode 10 beta warns

    xcodebuild... warning: file type '::com.apple.instruments.instrdst'
    is based on missing file type 'default::com.apple.package'

Teach RunCMake to drop such lines before matching against expected
output.
2018-06-19 10:56:50 -04:00
Brad King
65f73c0ae1 Merge topic 'FindCURL-target-name'
1e356734a7 FindCURL: Rename imported target to match upstream CURL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !2154
2018-06-19 09:25:44 -04:00
Craig Scott
6e7b424240 Merge topic 'subdir_target_sources'
316815e1f4 target_sources: Interpret relative paths as relative to the calling directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2128
2018-06-19 08:24:08 -04:00
Patrick Stotko
316815e1f4 target_sources: Interpret relative paths as relative to the calling directory
Previously the command considered non-absolute source file paths relative to
the associated target on the LHS. This causes problems in incremental builds
where files are added from subdirectories and forces users to workaround by
manually converting to absolute paths. Change this to enable more intuitive
usage by projects.

Fixes #17981
2018-06-18 21:01:57 +02:00
Brad King
1e356734a7 FindCURL: Rename imported target to match upstream CURL
Upstream CURL provides imported target `CURL::libcurl`.  Rename the
target added by `FindCURL` to match.  We don't need compatibility with
the old name because it has never been in a CMake release (except a 3.12
release candidate).

Suggested-by: Jakub Zakrzewski <slither.jz@gmail.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Fixes: #18091
2018-06-18 13:58:21 -04:00
Zack Galbreath
e89ad0f94e install: Allow installing targets created in another directory
Previously, `install(TARGETS)` would only accept targets created in the same
directory scope.  Relax this restriction by searching the global scope when
determining whether or not a target exists.

Fixes: #14444
2018-06-18 13:18:54 -04:00
Brad King
b0b99d877e Merge topic 'find_program-conditional-cwd'
c76c1ea208 find_program: Consider CWD only for paths with separator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2120
2018-06-18 10:08:54 -04:00
Brad King
5262215c67 Merge topic 'UseSWIG-bugfixes'
08f2a2408d UseSWIG: add support of target property INCLUDE_DIRECTORIES consumption

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2141
2018-06-18 10:06:29 -04:00
Jon Chronopoulos
797de7a6f6 VS10Project: Expand VS_DEBUGGER_* capabilities
This adds VS_DEBUGGER_COMMAND_ARGUMENTS and VS_DEBUGGER_ENVIRONMENT as
well as allowing VS_DEBUGGER_* to use generator expressions.
2018-06-17 17:55:27 +10:00
Sam Yates
c76c1ea208 find_program: Consider CWD only for paths with separator
find_program() incorrectly prepended search path components
to absolute file paths, and incorrectly searched the current
working directory for files that contained no directory
separators.

* Replace calls cmFindProgramHelper::CheckDirectory(std::string())
  with call of new method cmFindProgramHelper::CheckCompoundNames()
  that checks for the presence of a directory separator in the
  file name.
* Use cmSystemTools::CollapseCombinedPath rather than string
  concatenation to properly combine absolute file names with
  search path components.
* Add unit tests to verify corrections.

Fixes: #18044
2018-06-14 14:28:03 -04:00
Brad King
575f97763f Merge topic 'list_sort'
49a51a61d7 list: Add options to control the SORT comparison operation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2065
2018-06-14 13:55:57 -04:00
Daniel Franke
49a51a61d7 list: Add options to control the SORT comparison operation 2018-06-13 14:06:29 -04:00
Marc Chevrier
08f2a2408d UseSWIG: add support of target property INCLUDE_DIRECTORIES consumption
Fixes: #18003
2018-06-13 17:46:16 +02:00
Brad King
0247f6836c Merge topic 'UseSWIG-csharp-variant'
0c2fb4c896 UseSWIG: Add CSHARP variant for wrapper files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2137
2018-06-13 10:48:51 -04:00
Rishi Theivendran
0c2fb4c896 UseSWIG: Add CSHARP variant for wrapper files
Issue: #18065
Fixes: #18066
2018-06-12 11:34:58 -04:00
Brad King
812eaa465c Merge topic 'LINK_OPTIONS'
66ea1a3795 LINK_OPTIONS: Add support of "LINKER:" prefix
c1f5a44b28 LINK_OPTIONS: Add new family of properties
8e28d2630a Makefile generator: link flags management refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !2033
2018-06-08 09:37:48 -04:00
Jon Chronopoulos
6dad812143 install: Teach CODE,SCRIPT modes to evaluate generator expressions
Fixes: #15785
2018-06-07 13:18:23 -04:00
Marc Chevrier
66ea1a3795 LINK_OPTIONS: Add support of "LINKER:" prefix 2018-06-06 17:22:41 +02:00
Marc Chevrier
c1f5a44b28 LINK_OPTIONS: Add new family of properties
This family enable to manage link flags

Three new properties:
* directory property: LINK_OPTIONS
* target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS

Two new commands
* add_link_options(): to populate directory property
* target_link_options(): to populate target properties

Fixes: #16543
2018-06-06 17:22:39 +02:00
Brad King
8dbccd050c Merge topic 'more-misc-typos'
be28106880 Fix misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !2130
2018-06-05 11:26:12 -04:00
Brad King
21b7e14800 Merge topic 'ep-support-passing-var-ending-with-notfound'
7ad5165c67 ExternalProject: Fix cache generation when args end with "-NOTFOUND"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2127
2018-06-05 11:23:49 -04:00
Jean-Christophe Fillion-Robin
7ad5165c67 ExternalProject: Fix cache generation when args end with "-NOTFOUND"
Generalize the fix in commit v3.11.0-rc4~8^2 (ExternalProject: Fix cache
generation when last args ends with "-NOTFOUND", 2018-03-10) to work for
any argument rather than just the last one.

ExternalProject can now successfully generate the cache file when any
(not only the last one) cache variable associated with either
`CMAKE_CACHE_ARGS` or `CMAKE_DEFAULT_CACHE_ARGS` configure step option
is set to a `<value>` ending with `-NOTFOUND`.
2018-06-04 11:37:52 -04:00
luz.paz
be28106880 Fix misc. typos
Found via `codespell` and `grep`
2018-06-04 10:32:49 -04:00
Brad King
1bbee86bf2 Merge topic 'WriteBasicConfigFile_tests'
56f45bb79d Refactor write_basic_package_version_file tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2122
2018-06-04 09:52:00 -04:00
Kitware Robot
d7204e649e Revise C++ coding style using clang-format-6.0
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`.  Use `clang-format` version 6.0.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
2018-06-01 09:53:42 -04:00
Brad King
523c443d13 clang-format.bash: update to clang-format-6.0
Update `.clang-format` with configuration to make the 6.0 format as
close as possible to what 3.8 produced before.  Then revise the style:

* Indent preprocessor directives (a feature new since 3.8)
* Add a newline and indentation before inheritance `:` and `,`

Rename the Git attribute identifying the format to include the
clang-format version number: `format.clang-format-6.0`.  This will aid
external infrastructure in knowing what version of the tool to run.
2018-06-01 09:52:02 -04:00
Brad King
b67a5bf175 Tests/VSWinStorePhone: Do not format managed source 2018-06-01 09:52:02 -04:00
Brad King
4144b78013 Merge topic 'autogen_autorcc_multi_config'
5852acffa4 Autogen: Add AUTORCC configuration change test
41685c8ba0 Autogen: Let AUTORCC generate output for all configurations
2930a198f6 Autogen: Add lock file to AUTORCC commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2117
2018-06-01 09:49:37 -04:00
Daniele E. Domenichelli
56f45bb79d Refactor write_basic_package_version_file tests 2018-06-01 14:24:50 +02:00