Commit Graph
47352 Commits
Author SHA1 Message Date
Mateusz Zych bd9bfc6449 MSVC: Respect CMAKE_RC_COMPILER and CMAKE_MT in vs_link_{dll,exe}
CMake commands vs_link_dll and vs_link_exe, performing linking on MSVC,
are responsible for calling resource compiler and manifest tool.

Before this commit, both of these tools were called directly, with the
expectation that they are available in the `PATH`. This has been fixed
by respecting CMake variables `CMAKE_RC_COMPILER` and `CMAKE_MT`
defining paths to these tools.

Fixes: #17804
2018-10-29 13:40:47 -04:00
Brad King 0033676796 CUDA: Enable RC language on Windows
We need the resource compiler to place manifests in binaries.
Make sure it is available.
2018-10-29 13:40:47 -04:00
Brad King 02f566a559 MSVC: Factor out enable_language(RC) call into helper macro
This will be useful to call from elsewhere later.
2018-10-29 13:40:47 -04:00
Brad King b601bb6f1c CUDA: Find CMAKE_LINKER on Windows
We use this in `Modules/Platform/Windows-NVIDIA-CUDA.cmake`, so make
sure it is available.
2018-10-29 13:40:47 -04:00
Brad King 37cf805d3e Merge branch 'qccDepfile' into release-3.13
Merge-request: !2540
2018-10-29 12:51:19 -04:00
Maikel van den Hurk 99728fe27c QNX: Update qcc depfile flags to be compliant with ccache
Pass the flags to the preprocessor phase via `-Wp,`.  This is
accepted both by qcc and ccache.
2018-10-29 12:50:55 -04:00
Sylvain Joubert 2fc43415ef UseSWIG: Add target language and input file in command description 2018-10-29 17:09:48 +01:00
Brad King f366228c80 Merge branch 'cuda-filter-device-link-libs' into release-3.13
Merge-request: !2536
2018-10-29 12:02:46 -04:00
Brad King 88477e0429 Merge branch 'backport-cuda-filter-device-link-libs' into release-3.12
Merge-request: !2536
2018-10-29 12:02:18 -04:00
Brad King e8cc8d22d8 Merge branch 'backport-cuda-filter-device-link-libs' 2018-10-29 12:00:40 -04:00
Robert Maynard 3f5bfb425a CUDA: Filter out non-static libraries during device linking
Since commit v3.12.0-rc1~278^2 (CUDA: Pass more link libraries to device
linking, 2018-03-27) we consider every link library during device
linking and use `-Xnvlink` to pass those that do not end in `.a`.
However, nvlink breaks on versioned shared library names such as
`.so.1`.  Work around this problem by not passing library paths that do
not end in `.a` or `.lib`.  nvlink would not find device symbols in them
anyway.

Fixes: #18504
2018-10-29 11:59:54 -04:00
Robert Maynard 3c31ec7a0a CUDA: Filter out non-static libraries during device linking
Since commit v3.12.0-rc1~278^2 (CUDA: Pass more link libraries to device
linking, 2018-03-27) we consider every link library during device
linking and use `-Xnvlink` to pass those that do not end in `.a`.
However, nvlink breaks on versioned shared library names such as
`.so.1`.  Work around this problem by not passing library paths that do
not end in `.a` or `.lib`.  nvlink would not find device symbols in them
anyway.

Fixes: #18504
2018-10-29 11:57:29 -04:00
Brad King 87d38b4038 Merge branch 'UseSWIG-multi-input' into release-3.13
Merge-request: !2539
2018-10-29 11:47:26 -04:00
Brad King 44cef5fd92 Merge branch 'set_directory_properties-script-mode' into release-3.13
Merge-request: !2544
2018-10-29 11:45:49 -04:00
Brad King 9b5ebbd860 Merge branch 'set_directory_properties-script-mode' into release-3.12
Merge-request: !2544
2018-10-29 11:45:36 -04:00
Hannes Franke 9855a80fd4 FindBoost: search default path if Boost_FIND_VERSION_EXACT
Search paths for boost versions should be build using _boost_TEST_VERSIONS
instead of _Boost_KNOWN_VERSIONS because if Boost_FIND_VERSION_EXACT
is used _Boost_KNOWN_VERSIONS is empty and boost isn't found even in its
default installation path.

Fixes: #17986
2018-10-29 16:44:40 +01:00
Marc Chevrier bb57cb80eb UseSWIG: multiple input files must be supported in version 2
Fixes: #18506
2018-10-29 16:39:03 +01:00
Brad King 50572d638b set_directory_properties: Restore in script mode
Since commit v3.10.0-rc1~391^2~3 (Add directory property 'LABELS' and
CMAKE_DIRECTORY_LABELS variable, 2017-06-23) this command was
accidentally not allowed in script mode.  It was dropped because
`ctest -S` mode needs to start with CMake's normal script mode and
then replace the `set_directory_properties` implementation.  Restore
the normal `set_directory_properties` in script mode and then add
special logic to replace it in ctest.  Also add a test case.

Fixes: #18523
2018-10-29 11:37:32 -04:00
Sylvain Joubert 20fd16e756 UseSWIG: Typo, add missing letter 2018-10-29 15:00:11 +01:00
Brad King d697f4eb48 Merge topic 'target_property-clarification'
213433858f Help: Clarify usage of TARGET_PROPERTY generator expression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2535
2018-10-29 09:58:00 -04:00
Brad King d6b7c037b2 Merge topic 'ExternalProject-log-patch'
a4e9391953 ExternalProject: add LOG_PATCH option to log the patch command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2534
2018-10-29 09:57:17 -04:00
Brad King bcd61da350 Merge topic 'graphviz-fix-alias'
50c4dec072 graphviz: dereference ALIAS targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2521
2018-10-29 09:56:25 -04:00
Brad King f0a9094d80 Merge topic 'no-smiley'
24fa04018c Help: Spell out ";-list" as "semicolon-separated list"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2528
2018-10-29 09:30:25 -04:00
Brad King 4eb77958d2 Merge topic 'minusCparse'
379e5f93a9 Tests: Add cases for -{C,D,U} without a source tree
5873815fef cmake: distinguish '-Cpath' from '-C path' in source dir parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2517
2018-10-29 09:29:34 -04:00
Brad King 0f84db3af4 Merge topic 'appdef-stdstring'
b2c85cb698 cmLocalGenerator::AppendDefines: Remove const char* overloads

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2533
2018-10-29 09:27:23 -04:00
Brad King 6ece73dccb Merge topic 'EnableIPOBuild'
786dddc0fd Add option to build CMake itself with IPO/LTO
53e65e8e0a curl: Do not call cmake_minimum_required inside CMake itself

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2505
2018-10-29 09:25:46 -04:00
Cris Luengo 42731e94be FindMatlab: Fix linker command under Windows. 2018-10-28 23:12:25 -06:00
Cris Luengo ee73e733e4 FindMatlab: Fix compilation error in one specific test configuration.
`matlab_wrapper2.cpp` failed to compile in one specific test configuration.
I've copied an odd workaround from `matlab_wrapper1.cpp`, which doesn't fail
to compile. I presume this workaround was meant to address this issue, but
can't verify this locally.
2018-10-28 23:12:26 -06:00
Kitware Robot 01c6f99c2d CMake Nightly Date Stamp 2018-10-29 00:01:16 -04:00
Kitware Robot 7523c1dcd9 CMake Nightly Date Stamp 2018-10-28 00:01:07 -04:00
Kitware Robot bae85447b8 CMake Nightly Date Stamp 2018-10-27 00:01:11 -04:00
Kyle Edwards 213433858f Help: Clarify usage of TARGET_PROPERTY generator expression
When using $<TARGET_PROPERTY:prop>, the value of prop comes from
the consuming target rather than the current target. Add a note to
clarify this.
2018-10-26 14:43:17 -04:00
Ben Boeckel 4babc9058a cmTargetPropCommandBase: check keywords after parsing
The following was disallowed:

   add_library(iface INTERFACE)
   target_link_libraries(iface PUBLIC)

just due to the mention of the `PUBLIC` keyword. Instead, only error if
there are actually `PUBLIC` dependencies specified (and analogously for
other restrictions).

Update tests to expect this new behavior.
2018-10-26 12:09:41 -04:00
Ben Boeckel 45a49ae58a cmTargetPropCommandBase: simplify code path
The outside of the loop does the same return expression.
2018-10-26 12:08:45 -04:00
Ben Boeckel 9f64974f5e cmTargetPropCommandBase: skip property setting if there's nothing to add
Some target types don't allow setting certain properties even if there
is no value being set there. Guard against this by avoiding property
setting when there is nothing to add.
2018-10-26 12:08:16 -04:00
Ben Boeckel 4201a11c2b Tests: add tests for empty-value keyword arguments in target_*
Not all of these commands accept non-compilable (i.e., IMPORTED)
targets, so those calls are currently just commented out. If they ever
do start to accept them, the tests should be enabled.
2018-10-26 12:08:05 -04:00
Wouter Klouwen a4e9391953 ExternalProject: add LOG_PATCH option to log the patch command
Most steps support the logging into a file but the patch command is a
notable exception. This commit adds the LOG_PATCH options that acts as
the other LOG_* options.
2018-10-26 16:50:23 +01:00
Mateusz Zych 3eebe28ef4 cmLocalNinjaGenerator: Simplify CreateRulePlaceholderExpander
Re-use the derived class implementation instead of duplicating it.
2018-10-26 11:31:37 -04:00
Nick Schultz 50c4dec072 graphviz: dereference ALIAS targets
Previous behavior treats ALIAS targets as external targets.
This fix de-aliases these targets to their pointed target.

Fixes: #15636
2018-10-26 11:17:49 -04:00
Brad King 2a8c05ddc7 Merge branch 'release-3.13' 2018-10-26 11:03:03 -04:00
Brad King f7b8e67463 Merge topic 'doc-updates'
2f9c253961 Help: clarify "LINKER:" prefix usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2530
2018-10-26 11:02:09 -04:00
Brad King 379e5f93a9 Tests: Add cases for -{C,D,U} without a source tree 2018-10-26 10:56:46 -04:00
Paul Seyfert 5873815fef cmake: distinguish '-Cpath' from '-C path' in source dir parsing
This results in the correct source directory being picked up in calls
with

    cmake sourcedir -C settings

and in a more appropriate error message when calling

    mkdir build ; cd build ; cmake -C settings

Also fix `-D` and `-U` in the same way.
2018-10-26 09:50:00 -04:00
Brad King 8a539e7c2f Merge topic 'deprecation2'
1610543863 Use_wxWindows: Correct version of deprecation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2532
2018-10-26 09:40:56 -04:00
Brad King 216df68b32 Merge topic 'xref1'
760c87c73c Help: Back-reference from find_package() to "Find Modules"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2531
2018-10-26 09:40:09 -04:00
Brad King 97624af751 Merge branch 'doc-updates' into release-3.13
Merge-request: !2530
2018-10-26 09:37:41 -04:00
Marc Chevrier 2f9c253961 Help: clarify "LINKER:" prefix usage
Fixes: #18503
2018-10-26 09:36:53 -04:00
Brad King 6166384e3e Merge topic 'relative-rpath'
95bd6317bc RPATH: Record support for $ORIGIN on various *BSD
c9b8c79271 RPATH: Record support for $ORIGIN on Haiku and Solaris
6114d85a7d RPATH: Add option for using $ORIGIN in build tree

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2456
2018-10-26 09:31:00 -04:00
Peter Wu 95bd6317bc RPATH: Record support for $ORIGIN on various *BSD
All of NetBSD, FreeBSD, OpenBSD and DragonFly BSD support `$ORIGIN`,
but the last two require `-z origin` as documented at

    https://lekensteyn.nl/rpath.html

The `-z origin` option causes a flag bit to be set and has no effect if
the `RPATH` does not contain expandable tokens.
2018-10-26 09:27:29 -04:00
Peter Wu c9b8c79271 RPATH: Record support for $ORIGIN on Haiku and Solaris
Solaris 7 and Haiku (since 2013) both support $ORIGIN as documented at
https://lekensteyn.nl/rpath.html
2018-10-26 09:26:47 -04:00