Commit Graph

8613 Commits

Author SHA1 Message Date
Kyle Edwards 48bc8b2b82 CPack: Move internal implementation modules into Internal/CPack directory
These modules are not meant to be included by user code, they are
only an internal implementation detail for CPack. Having them live
in the main Modules directory with documentation was misleading, so
they have been moved into Modules/Internal/CPack, and their
documentation has been stripped following its move into the new
"CPack Generators" section. No-op modules which contained only
documentation have been removed entirely.

The only module that hasn't been moved is CPackIFW, because it
contains user-facing macros which would be lost if it were moved.
So, the CPackIFW module has been updated with a note explaining what
needs to (eventually) happen.
2018-06-21 11:00:28 -04: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
Kyle Edwards be6267808a CPackIFW: Turn documentation into a block comment 2018-06-21 10:57:29 -04:00
Brad King 5dc9f440c5 Merge branch 'FindJPEG-fix-debug' into release-3.12
Merge-request: !2159
2018-06-21 10:50:48 -04:00
Andrey Karpov ae4a548302 FindJPEG: Drop ancient compatibility NATIVE_JPEG_* result variables
These have been deprecated since 2002!
2018-06-21 10:47:03 -04:00
Andrey Karpov 7876f329a9 FindJPEG: Add forgotten names of libraries for Debug configuration
The change in commit v3.12.0-rc1~202^2~1 (FindJPEG: Add multi config
support and associated docs, 2018-04-17) accidentally left out the
default jpeg library names from consideration for debug variants.
2018-06-21 10:47:03 -04:00
Brad King e893c53b8c Merge topic 'xcode-10-archs'
bc5bcad45e Xcode: Detect architecture(s) using ARCHS instead of CURRENT_ARCH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2153
2018-06-19 10:54:28 -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
Brad King a044006a32 Merge branch 'xcode-10-archs' into release-3.12
Merge-request: !2153
2018-06-19 09:24:37 -04: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
Brad King bc5bcad45e Xcode: Detect architecture(s) using ARCHS instead of CURRENT_ARCH
Xcode 10 no longer populates `CURRENT_ARCH` with the current
architecture in shell scripts and instead uses `undefined_arch`.
Instead we must use `ARCHS`.  It lists all architectures separated by
spaces.

Fixes: #18085
2018-06-18 13:44:43 -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 93fe9fc1a2 Merge branch 'UseSWIG-csharp-variant' into release-3.12
Merge-request: !2137
2018-06-13 10:51:49 -04: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
Brad King b7b4ace2be Merge topic 'UseSWIG-fix-genex'
88dd5dc9ff UseSWIG: add support for generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2143
2018-06-13 10:48:04 -04:00
Brad King 3b7da49d55 Merge topic 'UseSWIG-handle-SWIG_MODULE_NAME'
156138d5f1 UseSWIG: Fix handling of `SWIG_MODULE_NAME` source file property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2145
2018-06-13 10:47:06 -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 f024f4f8a0 Merge branch 'UseSWIG-fix-genex' into release-3.12
Merge-request: !2143
2018-06-12 10:08:36 -04:00
Marc Chevrier 88dd5dc9ff UseSWIG: add support for generator expressions 2018-06-12 10:07:24 -04:00
Brad King 3dd046a84b Merge branch 'UseSWIG-handle-SWIG_MODULE_NAME' into release-3.12
Merge-request: !2145
2018-06-12 10:00:41 -04:00
Felix Schwitzer 156138d5f1 UseSWIG: Fix handling of SWIG_MODULE_NAME source file property
Fix a typo from commit 0bef9eb410 (UseSWIG: modernize module,
2018-01-29) that caused `UseSWIG` to ignore an eventually set property
`SWIG_MODLUE_NAME`.

Building multiple python modules using the mentioned property as
described in the docs could lead to an invalid, or even worse,
inconsistent `build.ninja` file.  The reason is that the generated list
of support files was not unique.  For each module the support file was
always named the same, namely `path/to/builddir/MODULENAME.py`.
2018-06-12 09:55:53 -04:00
Brad King c8868d727c Merge topic 'FindPython-3.8'
b6e7f2c37f FindPython: Add support for version 3.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2140
2018-06-12 09:49:05 -04:00
Brad King 1f3221f365 Merge branch 'FindPython-3.8' into release-3.12
Merge-request: !2140
2018-06-08 09:42:29 -04:00
Marcel Plch b6e7f2c37f FindPython: Add support for version 3.8
Python 3.7 is about to be released, making the development version 3.8.
2018-06-08 09:42:18 -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
Ruslan Baratov aeda8fcceb Help: Package without components should use 'check_required_components' too
Macro 'check_required_components' should be called even if there are no
components provided by package.  This will make sure error is reported
in next cases:

    find_package(Foo CONFIG REQUIRED oops) # 'oops' treated as component
    find_package(Foo CONFIG REQUIRED COMPONENTS foo) # no components expected
2018-06-07 10:41:45 -04:00
Marc Chevrier 66ea1a3795 LINK_OPTIONS: Add support of "LINKER:" prefix 2018-06-06 17:22:41 +02:00
Brad King d902fb0cf6 Merge topic 'intel-compile-features'
f719a13c28 Features: Add special case to disable relaxed constexpr for Intel 18

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2133
2018-06-05 11:28:35 -04: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
Craig Scott f790273ef0 Merge topic 'fix/CPackNuGet-var-para-deindent'
afcb68a0c1 Help: Fix indentation for `CPACK_NUGET_PACKAGE_AUTHORS`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2135
2018-06-05 06:03:14 -04:00
Alex Turbov afcb68a0c1 Help: Fix indentation for CPACK_NUGET_PACKAGE_AUTHORS 2018-06-05 19:59:51 +10:00
Craig Scott d8ea0afa30 Merge topic 'external-project-url-hash-docs'
470ff56e5a ExternalProject: Improve URL_HASH argument description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2134
2018-06-05 05:47:29 -04:00
Matt McCormick 470ff56e5a ExternalProject: Improve URL_HASH argument description
The previous documentation suggested

  ALGO=MD5=d7a3dc7757a35df3dbb890f7dee0976b

for example.
2018-06-04 16:17:58 -04:00
Brad King f719a13c28 Features: Add special case to disable relaxed constexpr for Intel 18
Intel compilers define `__cpp_constexpr` to `200704` even in C++14 mode.
This indicates that the `cxx_relaxed_constexpr` feature is not
available.  However, Intel 17 and above document support for it.  In
commit v3.8.0~9^2 (Features: Update features for Intel C++ 17.0.2 on
UNIX, 2017-03-31) we added a special check for this case.  Intel 17 and
19 work.  However, Intel 18 does not seem to work and fails our test
case.  Add a special case to disable the feature for Intel 18.
2018-06-04 13:52:11 -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
Brad King 07bddeae14 Merge topic 'fix-ti-c-standard'
9e27881bb1 TI: Add support for C language standards

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2131
2018-06-04 11:34:35 -04:00
Arnaud Gelas 9e27881bb1 TI: Add support for C language standards
Set C90 and C99 compile options for TI compiler.

Fixes: #18061
2018-06-04 10:48:02 -04:00
luz.paz be28106880 Fix misc. typos
Found via `codespell` and `grep`
2018-06-04 10:32:49 -04:00
Brad King fbd34ecd35 Merge topic 'gnu-CMAKE_LANG_COMPILER_PREDEFINES_COMMAND'
caa138c1a5 Move GNU COMPILER_PREDEFINES_COMMAND from Platform to Compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2121
2018-06-04 09:51:31 -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 eb7ec19c1c clang-format: Add comments to suppress some formatting
Preserve manually-formatted blocks.
2018-06-01 09:52:02 -04:00
Sebastian Holtermann caa138c1a5 Move GNU COMPILER_PREDEFINES_COMMAND from Platform to Compiler
Moves `CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND` from linux specific
[Modules/Platform/Linux-GNU.cmake](Modules/Platform/Linux-GNU.cmake) to
[Modules/Compiler/GNU.cmake](Modules/Compiler/GNU.cmake).
This enables compiler predefines generation (in AUTOMOC) on all
platforms that run gcc (and clang).
2018-06-01 09:21:06 +02:00
Rolf Eike Beer 6a64292fa7 FindALSA: reformat docs 2018-05-31 09:35:53 +02:00
Rolf Eike Beer 1c87844856 FindALSA: provide an imported target 2018-05-31 09:35:53 +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 42752d0c11 Merge topic 'cuda-unused-placeholder'
edf0ea9bb2 CUDA: Drop unused/broken platform link flags placeholder

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2108
2018-05-29 10:02:18 -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
Brad King edf0ea9bb2 CUDA: Drop unused/broken platform link flags placeholder
The `<CMAKE_CUDA_LINK_FLAGS>` placeholder in CUDA rule variables comes
from the `<CMAKE_CXX_LINK_FLAGS>` placeholder from which the CUDA rule
variables were originally derived.  It is not a public interface for
adding link flags so no projects should be using it.  It is needed for
platform information modules to specify platform-specific link flags for
the language.  None of our platform modules set it, so it is unused.

Furthermore, it is broken as currently implemented.  Some of the
contexts in which it is used need `-Xlinker` and some do not.
Therefore it is not possible to use the placeholder at all.

Simply remove it for now.  If some need for platform-specific CUDA link
flags arises a new solution will be needed.
2018-05-25 10:03:03 -04:00