15613 Commits

Author SHA1 Message Date
Stephan Tolksdorf
2dcb1dc9ca Xcode: Fix duplicate target subfolders (#14133)
Fix logic introduced by commit eeeeca10 (XCode: Support target folders
on XCode, 2011-02-20) to avoid duplicate subfolders.  The problem was
that no slash was appended to the curr_tgt_folder string on the it !=
this->TargetGroup.end() path.
2013-12-02 09:09:22 -05:00
Kitware Robot
f282a0bf83 CMake Nightly Date Stamp 2013-12-02 00:01:07 -05:00
Kitware Robot
845cdbc60e CMake Nightly Date Stamp 2013-12-01 00:01:07 -05:00
Kitware Robot
b4285ac7a9 CMake Nightly Date Stamp 2013-11-30 00:01:07 -05:00
Stephen Kelly
02a545c534 Don't generate subdir convenience rules for IMPORTED targets.
This was missing from commit c34968a9 (Port some of the generator
API to cmGeneratorTarget., 2012-10-10). The generator targets
stored with the cmMakefile include IMPORTED targets, unlike the
accessor for resgular targets. Before this patch, rules would
be generated for Qt5::Core for example, which result in broken
makefiles.
2013-11-29 12:57:24 +01:00
Kitware Robot
f0b3502a65 CMake Nightly Date Stamp 2013-11-29 00:01:07 -05:00
Kitware Robot
93d2322e89 CMake Nightly Date Stamp 2013-11-28 00:01:09 -05:00
Stephen Kelly
98093c45db QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property.
Transitively consume the property from linked dependents.

Implement configuration-specific support by following the pattern
set out for compile definitions and includes in cmQtAutoGenerators.

Implement support for origin-tracking with CMAKE_DEBUG_TARGET_PROPERTIES.

This is motivated by the needs of KDE, which provides a separate
translation system based on gettext instead of the Qt linguist
translation system. The Qt uic tool provides command line options
for configuring the method used to translate text, and to add an
include directive to the generated file to provide the method.

 http://thread.gmane.org/gmane.comp.kde.devel.frameworks/7930/focus=7992

Implement the interface to provide the uic options as a usage-requirement
on the KI18n target, as designed for KDE.
2013-11-27 19:06:12 +01:00
Stephen Kelly
02542b4cc7 QtAutoUic: Handle new -include command line parameter. 2013-11-27 19:06:12 +01:00
Stephen Kelly
1242f4e569 Genex: Add {UPPER,LOWER}_CASE and MAKE_C_IDENTIFIER. 2013-11-27 19:06:12 +01:00
Stephen Kelly
754b321272 QtAutogen: Use config without prefix in map key.
This is used by IDE generators to select config-specific includes
and defines.
2013-11-27 19:06:12 +01:00
Kitware Robot
d05e0aa845 CMake Nightly Date Stamp 2013-11-27 00:01:12 -05:00
Nils Gladitz
7b390f75e8 CPackWiX: add CPack component support
Creates a hierarchy of WiX features from CPack components and component groups.
Switch to the FeatureTree UI in case components have been defined.
Handles the component REQUIRE and HIDDEN options
and the component group EXPANDED option.
2013-11-26 22:15:57 +01:00
Brad King
b80ef72b4d Merge topic 'ninja-compile-link-pool'
7605e37 Ninja: job pool support for compiling and linking
2013-11-26 09:52:35 -05:00
Brad King
3eca31f81a Merge topic 'autogen-depends'
1320e07 cmQtAutogen: Allow specifying depends for autogen targets.
2013-11-26 09:38:40 -05:00
Brad King
235c2d26dc Merge topic 'use-generator-target'
a60cd3d cmGeneratorTarget: Use the output directory to order cmTargets.
2013-11-26 09:38:18 -05:00
Brad King
9498344c9d Merge topic 'watcom-no-prompt'
abd2b36 Watcom: Suppress WMake interactive prompt on error
2013-11-26 09:37:52 -05:00
Brad King
3ad5f9a075 Merge topic 'update-kwsys'
2ba2c43 bootstrap: Add KWSys Encoding and FStream
f668112 Merge branch 'upstream-kwsys' into update-kwsys
704ab3d KWSys 2013-11-21 (1010d0e3)
2013-11-26 09:37:24 -05:00
Brad King
779fd10160 Merge topic 'INTERFACE_LIBRARY-property-whitelist'
5ee9e6b cmTarget: Add whitelist of properties on INTERFACE_LIBRARY.
0bfcb45 INTERFACE_LIBRARY: Avoid codepaths which set unneeded properties.
2013-11-26 09:36:58 -05:00
Brad King
48e476c3f4 Merge topic 'ninja-quoted-cmd-commands'
b6f1142 Ninja: multiple commands must be quoted
2013-11-26 09:36:04 -05:00
Brad King
e1fd64837d Merge topic 'ninja-msvc-deps-for-intel'
76a8888 Ninja: deptype msvc for Intel's compiler on Windows
2013-11-26 09:35:41 -05:00
Stephen Kelly
5838aba1aa Export: Report error on relative include with genex.
Diagnostics which check the sanity of exported include paths
previously skipped over any path containing a generator expression.

Introduce a policy to issue an error message in such cases.

The export files created in the OLD behavior are not usable, because
they contain relative paths or paths to the source or build location
which are not suitable for use on installation. CMake will report an
error on import.
2013-11-26 13:01:55 +01:00
Stephen Kelly
7a3e45b9d4 Export: Prefix relative items with genexes in INSTALL_INTERFACE.
Code such as

 target_include_directories(foo INTERFACE
   $<INSTALL_INTERFACE:include$<FOO>>
 )

should be treated as a relative directory, despite the genex, after
the INSTALL_INTERFACE is stripped away.

Previously, this would generate a relative directory on export, which
would be an error on import, so no policy is needed.
2013-11-26 13:01:53 +01:00
Stephen Kelly
f088a32450 Export: Process INSTALL_INTERFACE in INCLUDES DESTINATION.
Code such as

 install(TARGETS ...
   INCLUDES DESTINATION $<INSTALL_INTERFACE:include>
 )

should behave as if the INSTALL_INTERFACE wrapper were not present.
2013-11-26 13:01:50 +01:00
Stephen Kelly
9eedc850eb Export: Process relative includes after genex evaluation.
In code such as

 install(TARGETS ...
   INCLUDES DESTINATION $<FOO>include
 )

the generator expressions are evaluated at generate-time. Delay
determining whether each entry is a relative path until after
the generator expressions are evaluated. Such relative paths
are based relative to the CMAKE_INSTALL_PREFIX.
2013-11-26 13:01:29 +01:00
Stephen Kelly
38afc82e76 target_include_directories: Allow relative path with genex
Treat paths which are relative and which contain a generator
expression which is not at the beginning as relative to the
source directory.

This matches the behavior of paths which are relative but contain
no generator expression at all.

Previously this would generate a relative path with the IMPORTED
target on export(), which would be a reported as a non-existent
path on import. If used directly in the buildsystem, it would be
reported as a relative path, which is also an error. There is no
need for a policy in this case.
2013-11-26 10:30:18 +01:00
Kitware Robot
b4727858c4 CMake Nightly Date Stamp 2013-11-26 00:01:08 -05:00
Stephen Kelly
1320e0768e cmQtAutogen: Allow specifying depends for autogen targets.
Test this by generating files with a custom target, which moc
requires to be present when it is run.
2013-11-25 22:41:21 +01:00
Peter Kümmel
7605e37aab Ninja: job pool support for compiling and linking
Could be tested by setting the environment
variable NINJA_STATUS=[%r]
2013-11-25 22:23:24 +01:00
Stephen Kelly
a60cd3d3c6 cmGeneratorTarget: Use the output directory to order cmTargets.
The output directory must be unique, but the source directory
of an add_subdirectory call may be re-used.
2013-11-25 21:13:10 +01:00
Brad King
abd2b36089 Watcom: Suppress WMake interactive prompt on error
Add the "-e" option to build.make invocations of wmake as part of
the silencing flags.  From "wmake /?":

 -e erase files after error (no prompt)

This prevents test timeouts on error.
2013-11-25 13:14:38 -05:00
Brad King
f668112039 Merge branch 'upstream-kwsys' into update-kwsys 2013-11-25 11:19:42 -05:00
Alex Neundorf
9414217b3b kate: insert build targets
This can be used by the build plugin in kate.
Code is quite similar to the one for Eclipse.

Alex
2013-11-25 10:48:34 -05:00
Alex Neundorf
644e012863 kate: add project generator for the Kate project plugin
This patch adds an extra generator for KDE's kate text editor,
or better more specifically, the project plugin.

Alex
2013-11-25 10:48:33 -05:00
Stephen Kelly
5ee9e6bc11 cmTarget: Add whitelist of properties on INTERFACE_LIBRARY. 2013-11-25 16:23:11 +01:00
Stephen Kelly
0bfcb450e6 INTERFACE_LIBRARY: Avoid codepaths which set unneeded properties.
As an INTERFACE_LIBRARY has no direct link dependencies, we can
short-circuit in cmGeneratorExpressionEvaluator and
in cmGlobalGenerator::CheckLocalGenerators.

As they do not generate any output directly, any generate- or install-
related code acn also be short-circuited. Many of the local generators
already do this.

Because only INTERFACE related properties make sense on INTERFACE_LIBRARY
targets, avoid setting other properties, for example via defaults.
2013-11-25 16:17:50 +01:00
Brad King
da9bde676c Merge topic 'use-generator-target'
c34968a Port some of the generator API to cmGeneratorTarget.
abb13ea Order cmGeneratorTargetsType elements deterministically.
2013-11-25 08:37:29 -05:00
Brad King
e620ede898 Merge topic 'make-cpack-options-boolean'
5bc6444 CPack: use IsOn instead of IsSet for boolean CPack options
2013-11-25 08:37:20 -05:00
Peter Kümmel
b6f1142c8b Ninja: multiple commands must be quoted
Bug 14370
2013-11-25 12:08:10 +01:00
Peter Kümmel
76a88888bc Ninja: deptype msvc for Intel's compiler on Windows 2013-11-25 09:08:40 +01:00
Kitware Robot
ac2acd22dd CMake Nightly Date Stamp 2013-11-25 00:01:06 -05:00
Kitware Robot
9e952fbf18 CMake Nightly Date Stamp 2013-11-24 00:01:07 -05:00
Kitware Robot
26ccafea46 CMake Nightly Date Stamp 2013-11-23 00:01:08 -05:00
Stephen Kelly
c34968a9aa Port some of the generator API to cmGeneratorTarget.
Just enough to reach the BuildMacContentDirectory method and the
NeedRelinkBeforeInstall methods.

In the future, those methods can be moved to cmGeneratorTarget.
2013-11-22 15:06:25 +01:00
Stephen Kelly
abb13ea565 Order cmGeneratorTargetsType elements deterministically.
Define a custom ordering functor to deterministically and strictly
order the cmTarget* key. Otherwise the order would be dependent on
runtime pointer values, which breaks assumptions of some generators.

The functor orders first by target name, and then by directory. Multiple
global targets may have the same name, such as edit_cache, but their
directory differentiates them.
2013-11-22 15:06:25 +01:00
Brad King
1744ad9257 Merge topic 'add-cmHasLiteralPrefix'
4fe963f Use new cmHasLiteralPrefix function
7d4b2b2 cmStandardIncludes: Add new cmHasLiteralPrefix function.
2013-11-22 08:41:30 -05:00
Brad King
d121a8cb66 Merge topic 'cmake-credits'
8ad8a9b cmake-gui: Reference LGPLv2.1 when redistributing Qt
2013-11-22 08:41:16 -05:00
Brad King
a6080587aa Merge topic 'use-generator-target'
aa29e64 Add a null check to the generator target accessor.
2013-11-22 08:41:03 -05:00
Brad King
3013a11826 Merge topic 'cross-compiling-toolchain-variables'
7521da2 Introduce CMAKE_STAGING_PREFIX variable.
2013-11-22 08:40:50 -05:00
Brad King
ed0b342603 Merge topic 'qt-dialog-reconfigure'
b566987 cmake-gui: Configure again if a variable is changed before Generate is pushed.
2013-11-22 08:40:29 -05:00