Flags specified in the `COMPILE_FLAGS` source-file property should
be placed after those in target-wide properties so that those on
individual source files can override those on the whole target.
This is already done by most generators but was not implemented
correctly for VS 2010 and above.
Closes: #16400
Running CMake on it caused the following error:
error: Target "publisher" links to target "Qt5::DBus" but the target
was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
Add the missing DBus component.
Running CMake on it caused the following error:
error: Target "publisher" links to target "Qt5::DBus" but the target
was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
Add the missing DBus component.
`CPACK_RPM_COMPONENT_INSTALL` is the correct variable to set to enable
component packaging. `CPACK_RPM_PACKAGE_COMPONENT` is just set to a
component name when CPack calls corresponding installer.
`CPACK_DEB_COMPONENT_INSTALL` is the correct variable to set to enable
component packaging. `CPACK_DEB_PACKAGE_COMPONENT` is just set to a
component name when CPack calls corresponding installer.
`swig` has two output-related options:
* `-o <outfile>`: Set name of C/C++ output file to <outfile>
* `-outdir <dir>`: Set language-specific files output directory to <dir>
We already have `CMAKE_SWIG_OUTDIR` for the latter. Add a new
`SWIG_OUTFILE_DIR` option for the former.
Refactoring in commit b29425f7 (cmLocalGenerator: Populate a container
of mappings for replacements, 2016-10-09) broke substitution of this
placeholder by storing the wrong key in the new replacement map.
Use the proper key, `CMAKE_<LANG>_COMPILER_ARG1`.
Starting with Xcode 8 the SDK folder also contains an unversioned entry:
MacOSX.sdk
MacOSX10.12.sdk -> MacOSX.sdk
If this unversioned path is used CMake cannot detect the SDK version.
Furthermore, querying the SDK version via
xcodebuild -sdk <sysroot> -version Path
gives bogus results for the Command Line Tools installed into `/`.
The OS X deployment target version and SDK version are not as tied as
they once were, so this check is now more trouble than it is worth.
Simply remove it.
Closes: #16323
Revert commit v3.7.0-rc1~48^2 (Xcode: Convert maybe unversioned OSX
sysroot into versioned SDK path, 2016-09-25). The replacement of
`else()` with `if(CMAKE_OSX_SYSROOT)` defeats the prior handling of
`if("x${CMAKE_OSX_SYSROOT}" MATCHES "/")`. This causes the combination
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="" -DCMAKE_OSX_SYSROOT:STRING=/
to not be honored and `-isysroot` to be emitted as a compiler flag
universally. We will need another solution to the problem the
now-reverted commit was meant to address.
Closes: #16394
f648b9be Tests: Check that CROSSCOMPILING_EMULATOR is not used on imported targets
e7480d67 Fix custom command target substitution with CROSSCOMPILING_EMULATOR
9a58517d Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnostic
1e4bb358 Add generator expression support to per-source COMPILE_FLAGS
369d5809 Features: Record features for Intel Compiler on Windows
a5a3642f Features: Port Intel CXX features to test macros where possible
d34ac22f Features: Unset Intel CXX feature temporaries
967dcf36 Intel: Remove incorrect C++98 standard compiler flag on Windows
The execute_process command starts all commands in parallel (in order
for the piping to work). Mention this explicitly and also add a note
about how to execute commands sequentially.
Fix typo in variable used to communicate between matlab_add_unit_test
and its helper script MatlabTestsRedirect.cmake that was introduced in
commit v3.7.0-rc1~116^2 (FindMatlab: Extend matlab_add_unit_test to run
arbitrary test code, 2016-08-30).
In commit v3.6.0-rc1~88^2 (CustomCommandGenerator: Add support for
CROSSCOMPILING_EMULATOR, 2016-05-04) logic was introduced to substitute
a target's `CROSSCOMPILING_EMULATOR` for argv0 in a custom command.
However, it broke the case when the argv0 was a target name and now
fails to expand the target name to its location at the same time as
inserting the emulator. Fix the latter case.
Inspired-by: Brian Maher <brian@brimworks.com>
Closes: #16288