Commit Graph

5663 Commits

Author SHA1 Message Date
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
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
Rolf Eike Beer
1c5b1ad408 FindALSA: add testcase 2018-05-31 09:35:53 +02:00
Sebastian Holtermann
5852acffa4 Autogen: Add AUTORCC configuration change test 2018-05-30 17:45:01 +02:00
Brad King
958191a95c Merge topic 'vs-toolset-version'
5f13168419 VS: Add option to select the version of the toolset used by VS 2017

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Francisco Facioni <fran6co@gmail.com>
Merge-request: !2093
2018-05-30 10:19:21 -04:00
Basil Fierz
5f13168419 VS: Add option to select the version of the toolset used by VS 2017
Add new `version=` parameter in the toolset setting to select the
version.  Add variable `CMAKE_VS_PLATFORM_TOOLSET_VERSION` to hold the
version, if one is set (blank indicates default).

Fixes: #17549
2018-05-29 10:12:59 -04:00
Brad King
f248f8ad78 Merge topic 'parallel_build_option'
1ab3881ec9 cmake: Add options for parallel builds to --build mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Henry Schreiner <henryschreineriii@gmail.com>
Merge-request: !1962
2018-05-29 10:05:09 -04:00
Craig Scott
4e890800eb Merge topic 'doxygen-all'
7b2f440e2b FindDoxygen: Add tests for ALL option
79b29b732c FindDoxygen: add optional ALL argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2099
2018-05-29 05:25:04 -04:00
Craig Scott
7b2f440e2b FindDoxygen: Add tests for ALL option 2018-05-27 18:18:40 +10:00
Florian Maushart
1ab3881ec9 cmake: Add options for parallel builds to --build mode
While we already support `cmake --build . -- -j`, the options after `--`
are specific to the native build tool.  Add new options `--parallel
[<N>]` and `-j [<N>]` to abstract this and map to the proper option
for the native build tool.
2018-05-25 09:42:20 -04:00
Brad King
266fd71654 Merge topic 'FindLua-conventional-paths'
f5d19260f9 FindLua: Search for lua.h using more conventional paths
9455512d22 FindLua: Add tests for this module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2095
2018-05-25 09:26:21 -04:00
Alexander Grund
9455512d22 FindLua: Add tests for this module 2018-05-24 11:19:40 -04:00
Mateusz Loskot
357db10bd1 FindODBC: Add module to search for ODBC library
Add tests for FindODBC module.
2018-05-22 21:29:22 +02:00
Brad King
7b42ffce09 Merge topic 'PDBDirectoryGenExpression'
79ca546ed2 Add generator expression support to PDB_OUTPUT_DIRECTORY target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2083
2018-05-21 11:02:42 -04:00
Marian Klymov
79ca546ed2 Add generator expression support to PDB_OUTPUT_DIRECTORY target property
Fixes: #16365
2018-05-21 11:00:12 -04:00
Brad King
6411180969 Merge topic 'autogen_register_info_files'
3715d0fbcf Tests: Add QtAutogen test for a low cmake_minimum_required version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2077
2018-05-17 09:05:48 -04:00
Sebastian Holtermann
3715d0fbcf Tests: Add QtAutogen test for a low cmake_minimum_required version 2018-05-16 09:11:45 +02:00
Patrick Stotko
c9349cc1b9 target_link_libraries: Allow use with targets in other directories
Previously the command did not allow naming targets on the LHS that
were not created in the calling directory.  Lift this restriction to
enable more flexible use by projects.

Fixes: #17943
2018-05-15 10:22:35 -04:00
Brad King
c29992078f Merge topic 'custom-command-expand-empty'
6e59491659 add_custom_{command,target}: Fix crash on empty expanded command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2074
2018-05-15 09:54:08 -04:00
Brad King
813bcc2997 Merge branch 'custom-command-expand-empty' into release-3.11
Merge-request: !2074
2018-05-14 11:59:51 -04:00