Commit Graph

22948 Commits

Author SHA1 Message Date
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
Stephen Kelly 3e3f8b456f Help: Document the CMAKE_FIND_ROOT_PATH* variables.
Add a replacement template for the variables, and link to them from
the documentation for the find_* commands.
2013-11-27 13:21:12 +01:00
Stephen Kelly 531c108da1 Help: Document the CMAKE_TOOLCHAIN_FILE.
Link to the new docs from existing references to the variable.
2013-11-27 13:21: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 fd2ffb42aa Merge topic 'minor-cleanups'
ebeb31d Help: Fix typo in CMP0040 docs.
97b0abb Help: Fix typo in genex docs.
2013-11-26 09:48:21 -05:00
Julien Schueller a87c06328c UseSWIG: Name python module according to swig flags (#13318) 2013-11-26 09:46:39 -05:00
Brad King 8b585eed44 Merge topic 'cross-compiling-toolchain-variables'
89ba7b0 Update the Clang pattern to specify compiler options.
2013-11-26 09:38:55 -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 6faf87eb98 Merge topic 'libarchive-left-shift-fix'
5ee1297 libarchive: Port upstream issue 320 fix
2013-11-26 09:37:15 -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 784e6e7f15 Merge topic 'UseSWIG-fix14520'
20028d6 UseSWIG: Remove duplicate include dirs (#14520)
2013-11-26 09:36:46 -05:00
Brad King 0ccc535734 Merge topic 'UseSWIG-fix13814'
acc59e5 UseSWIG: Handle a dll name different than module name (#13814)
2013-11-26 09:36:22 -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
Brad King 170c50da38 Merge topic 'FindGTK2-quartz-backend'
0e9bf6a FindGTK2: Add support for Quartz backend on MAC
2013-11-26 09:35:13 -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 80790f3311 Export: Test existing behavior of exporting includes with genexes.
Test that no warning or error diagnostic is issued for 'good code'.
2013-11-26 13:00:43 +01:00
Stephen Kelly ebeb31db2f Help: Fix typo in CMP0040 docs.
'report and error' -> 'report an error'
2013-11-26 12:10:37 +01:00
Stephen Kelly 97b0abb423 Help: Fix typo in genex docs.
would be require -> would require
2013-11-26 12:10:25 +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 89ba7b0046 Update the Clang pattern to specify compiler options.
In Clang 3.4, the preferred (and new) option pattern is --target=.

 http://thread.gmane.org/gmane.comp.compilers.clang.devel/29975
 http://llvm.org/viewvc/llvm-project?view=revision&revision=184408

Clang 3.4 is not yet released, but there is a release candidate, and
there is a dashboard test of Clang trunk.
2013-11-25 23:01:21 +01: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 2ba2c435f6 bootstrap: Add KWSys Encoding and FStream
Run the KWSYS_STL_HAS_WSTRING platform test and configure the result.
Configure the Encoding and FStream header files and build the sources.
On Windows, build EncodingC.c with KWSYS_ENCODING_DEFAULT_CODEPAGE=CP_ACP.
2013-11-25 12:46:09 -05:00
Brad King f668112039 Merge branch 'upstream-kwsys' into update-kwsys 2013-11-25 11:19:42 -05:00
KWSys Robot 704ab3d248 KWSys 2013-11-21 (1010d0e3)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 1010d0e3 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 6eab64c3..1010d0e3
Brad King (2):
      ace1364c Encoding: Remove unused include
      1010d0e3 SystemTools: Avoid unused function warnings

Clinton Stimpson (4):
      0c2ff1f7 Encoding: Add Encoding module.
      8abbad82 FStream: Add FStream module.
      0a98de97 KWSys: Port to use wide character Windows APIs throughout.
      2b0c683d Encoding: Default to ANSI code page on Windows

David Cole (1):
      f67bb2ba SystemTools: Move typedef mode_t inside the SystemTools class

Sean McBride (1):
      a40b9263 SystemInformation: Work around gcc -Wliteral-suffix warning

Change-Id: Ie52df972331cc7377c236d410ead86024e9d15ab
2013-11-25 11:19:37 -05:00
Brad King 5ee1297d6b libarchive: Port upstream issue 320 fix
Port upstream commit 533e8fda (Rework the sign-extension to avoid
left-shift of an explicit negative number, 2013-06-29) into CMake.

Inspired-by: Tim Kientzle <kientzle@freebsd.org>
2013-11-25 11:16:45 -05:00
Alex Neundorf b54c336e46 kate: add some documentation
Alex
2013-11-25 10:48:39 -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
Brad King da6b86f4f0 Merge topic 'doc-generators-cleanup'
beec9db Help: Organize and revise the cmake-generators.7 manual
2013-11-25 10:47:15 -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 beec9dbc53 Help: Organize and revise the cmake-generators.7 manual
Move "extra" generators to their own section instead of duplicating them
for each corresponding main generator.  Divide the list of main
generators into command-line and IDE sections and sort the names within
each section.  Document the environment from which each kind of
generator may be used.

Add a section to each "extra" generator documenting which main
generators may be used with it.
2013-11-25 10:17:18 -05:00
Brad King 9f095b7416 Merge topic 'doc-cmake-language-env-vars'
45a03aa Help: Document $ENV{VAR} syntax in cmake-language.7 manual
2013-11-25 09:14:18 -05:00
Brad King 45a03aa654 Help: Document $ENV{VAR} syntax in cmake-language.7 manual 2013-11-25 08:55:28 -05:00