Commit Graph

22601 Commits

Author SHA1 Message Date
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 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
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
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
Brad King d6516dc693 Merge topic 'EclipseParallelMakeOnlyOnUnixHosts'
83751af Eclipse: add -j only on UNIX hosts
2013-11-25 08:38:07 -05:00
Brad King 788910941f Merge topic 'UseSWIG-fix13772'
276e373 UseSWIG: Fix .i relative source file location (#13173,#13772,#14459)
2013-11-25 08:37:59 -05:00
Brad King f1d5d88911 Merge topic 'FindSWIG-fix13771'
8c127c9 FindSWIG: Use CMAKE_CURRENT_LIST_DIR instead of CMAKE_ROOT (#13771)
2013-11-25 08:37:53 -05:00
Brad King adde0c6324 Merge topic 'FindSWIG-fix13449'
19b7a54 FindSWIG: Search for swig.swg only on host (#13449)
2013-11-25 08:37:47 -05:00
Brad King 7008754b0e Merge topic 'FindSWIG-fix13426'
6620dc7 FindSWIG: Mark SWIG_DIR & SWIG_VERSION as advanced (#13426)
2013-11-25 08:37:34 -05: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
Julien Schueller 276e3735d8 UseSWIG: Fix .i relative source file location (#13173,#13772,#14459) 2013-11-25 08:29:37 -05: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
Alex Neundorf 83751af219 Eclipse: add -j only on UNIX hosts
The previous version added -jN to the make invokation if UNIX
was set, but this was true also when cross compiling.
What we are actually interested in is CMAKE_HOST_UNIX, i.e.
whether the build host is UNIX.
Or we should check more exactly what CMAKE_MAKE_PROGRAM is.

Alex
2013-11-23 23:48:43 +01:00
Kitware Robot 26ccafea46 CMake Nightly Date Stamp 2013-11-23 00:01:08 -05:00
Julien Schueller 8c127c9e33 FindSWIG: Use CMAKE_CURRENT_LIST_DIR instead of CMAKE_ROOT (#13771)
This is a simpler way to reference the location of UseSWIG.cmake.
2013-11-22 09:10:51 -05:00
Julien Schueller 19b7a54d35 FindSWIG: Search for swig.swg only on host (#13449)
Use NO_CMAKE_FIND_ROOT_PATH to ensure swig.swg can be found on the host
even when cross-compiling.
2013-11-22 09:09:43 -05:00
Julien Schueller 6620dc7691 FindSWIG: Mark SWIG_DIR & SWIG_VERSION as advanced (#13426) 2013-11-22 09:09:20 -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 7246e635fe Merge topic 'FixIssue14029'
9619719 FindSDL: Add additional search paths on MSVC (#14029)
2013-11-22 08:41:43 -05: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
Kitware Robot 851e77a4fc CMake Nightly Date Stamp 2013-11-22 00:01:12 -05:00
Benjamin Eikel 9619719882 FindSDL: Add additional search paths on MSVC (#14029)
Add an architecture-specific library directory path suffix for each
component.  Use different search path for SDL_sound.  Project files in
VisualC directory suggest that a win32lib will hold the libraries.

Reported-by: Paul Hampson <Paul.Hampson@Pobox.com>
2013-11-21 15:30:36 -05:00
Brad King f20cd4b5d1 Merge topic 'genex-docs'
8e729df Help: Reformat cmake-generator-expressions.7 manual
2013-11-21 15:21:53 -05:00
Stephen Kelly 8e729df0fc Help: Reformat cmake-generator-expressions.7 manual
Use definition lists instead of a preformatted block to enumerate
the genex documentation.

Consistently capitalize the description.

Use ``...`` to format genex parameters in the description.

Turn references to commands into links.

Add high level documentation about the motivation for generator
expressions.

Regroup expressions into subsections for different genex types. Add
a high-level description and example of the expressions in each
section.

Explode the documentation for filesystem artifacts, instead of only
referring to the variations.
2013-11-21 15:20:46 -05:00
Stephen Kelly 4fe963f656 Use new cmHasLiteralPrefix function 2013-11-21 20:53:15 +01:00
Stephen Kelly 7d4b2b2ef3 cmStandardIncludes: Add new cmHasLiteralPrefix function.
This allows avoiding error-prone hard-coding of literal
string lengths.

Borland is not able to process the template version of this
method. Make it use the macro version instead. This means
that Borland will also use the macro versions of cmArray*.
2013-11-21 20:53:15 +01:00
Brad King 8ad8a9b1a6 cmake-gui: Reference LGPLv2.1 when redistributing Qt
Download http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt and place
it as Licenses/LGPLv2.1.txt in our source tree.  When building cmake-gui,
use option CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL to enable notification
in the "About" dialog of how the distribution of Qt is licensed.
Install the license file as ${CMAKE_ROOT}/Licenses/LGPLv2.1.txt so that
the dialog can display a path to it.
2013-11-21 11:04:24 -05:00
Brad King d46dfd32c6 Merge topic 'missing-target-error'
a02f3d2 Add policy CMP0040 to disallow custom commands on missing targets
2013-11-21 09:39:39 -05:00
Brad King 392932fb30 Merge topic 'cmake-credits'
6fc4ab9 Credit Kitware and csimsoft for their maintenance roles
2013-11-21 09:39:21 -05:00
Brad King 91330e9505 Merge topic 'FindwxWidgets-3.0.0'
2cd5597 FindwxWidgets: Add support for wxWidgets 3.0.0 (#14587)
2013-11-21 09:39:07 -05:00
Brad King 26bed2ac57 Merge topic 'find_backtrace'
c6f339c Add FindBacktrace.cmake module.
2013-11-21 09:38:56 -05:00
Nils Gladitz a02f3d2de0 Add policy CMP0040 to disallow custom commands on missing targets 2013-11-21 09:24:08 -05:00
Stephen Kelly aa29e64d77 Add a null check to the generator target accessor. 2013-11-21 13:21:43 +01:00
Stephen Kelly 7521da2852 Introduce CMAKE_STAGING_PREFIX variable.
This variable can be useful in cross-compiling contexts where the
sysroot is read-only or where the sysroot should otherwise remain
pristine.

If the new CMAKE_STAGING_PREFIX variable is set, it is used instead
of CMAKE_INSTALL_PREFIX when generating the installation rules in
cmake_install.cmake.

This way, the CMAKE_INSTALL_PREFIX variable
always refers to the installation prefix on the target device, regardless
of whether host==target.

If any -rpath paths passed to the linker contain the CMAKE_STAGING_PREFIX,
the matching path fragments are replaced with the CMAKE_INSTALL_PREFIX.
Matching paths in the -rpath-link are not transformed.

The cross-prefix usr-move workaround is assumed not to require extension
regarding CMAKE_STAGING_PREFIX. The staging area is a single prefix, so
there is no scope for cross-prefix symlinks. The CMAKE_INSTALL_PREFIX
is still used to determine the workaround path, and that variable
remains the relevant one even if CMAKE_STAGING_PREFIX is used. If the
generated export files are deployed to the target, the workaround
will still be in place, and still be employed if required.
2013-11-21 11:48:03 +01:00
Kitware Robot 75bfe4cbd0 CMake Nightly Date Stamp 2013-11-21 00:01:08 -05:00
Clinton Stimpson b566987374 cmake-gui: Configure again if a variable is changed before Generate is pushed. 2013-11-20 21:24:54 -07:00
Arnaud Desmier 2cd559789b FindwxWidgets: Add support for wxWidgets 3.0.0 (#14587)
Add the "wxWidgets-3.0.0" path suffix and the "30" library names.
While at it, add the "wxWidgets-2.9.5" suffix too.
2013-11-20 10:51:55 -05:00
Brad King a61025135b Merge topic 'constify'
15eeace cmTarget: Trivially make more API const.
be9dfb6 cmTarget: Make GetExportMacro const.
0794c13 cmTarget: Make NameResolvesToFramework const.
1c27521 cmGlobalGenerator: Make NameResolvesToFramework const.
37554ac cmMakefile: Make FindTarget const.
8841d73 cmMakefile: Make IsAlias const.
36e31cd cmTarget: Make GetInterfaceLinkLibraries const.
04d398d cmTarget: Make GetTargetSourceFileFlags const.
50d1520 cmTarget: Make custom command accessors API const.
0f87643 cmGeneratorTarget: Make GetIncludeDirectories const.
2013-11-20 09:08:47 -05:00
Brad King 6703508a31 Merge topic 'add-missing-parent-group'
2751b93 CPackComponent: handle the documented PARENT_GROUP parameter
2013-11-20 09:08:38 -05:00