Commit Graph

21118 Commits

Author SHA1 Message Date
Brad King d26800bc40 get_filename_component: Test ABSOLUTE of .. after root component
Teach the RunCMake.get_filename_component test to verify that ".." does
not remove the root filename component.
2013-06-04 09:09:22 -04:00
Brad King c91e88d0e1 Merge branch 'upstream-kwsys' into update-kwsys 2013-06-04 09:08:58 -04:00
KWSys Robot 6dc3dd91a6 KWSys 2013-06-03 (d79a792e)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ d79a792e | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' dccf7725..d79a792e
Brad King (1):
      d79a792e SystemTools: Fix CollapseFullPath to not erase root component

Change-Id: I25c6600a621a960738b5afc0ba73f63df0693303
2013-06-04 09:08:54 -04:00
Brad King 9d38db531d bootstrap: Compile KWSys SystemTools with UTIME(S|NSAT) values
The parent commit merged a change to KWSys that adds preprocessor
definitions for KWSYS_CXX_HAS_UTIMENSAT and KWSYS_CXX_HAS_UTIMES to the
command line for compiling SystemTools.  For bootstrapping we do not
need sub-1s timestamps so just define them to 0 for now.
2013-06-03 10:36:00 -04:00
Brad King 884e3edeb1 Merge branch 'upstream-kwsys' into update-kwsys 2013-06-03 10:23:31 -04:00
KWSys Robot d66f6f36ba KWSys 2013-05-31 (dccf7725)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ dccf7725 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 725e541e..dccf7725
Brad King (2):
      e3370418 SystemTools: Use COMPILE_DEFINITIONS to pass platform tests
      dccf7725 SystemTools: Touch with better than 1s resolution if possible

Change-Id: Icdbcdf405e27b2d5dd30857c7c8679ed5096f252
2013-06-03 10:23:16 -04:00
Brad King d114fc373c Merge topic 'useless-MATCHES'
cd4451d replace string(... MATCHES "^const$) with string(... STREQUAL "const")
2013-06-03 09:57:53 -04:00
Brad King e57b6a2521 Merge topic 'target-COMPILE_OPTIONS'
24466f2 Add target_compile_options command.
80ca9c4 Add COMPILE_OPTIONS target property.
7cb2308 cmTarget: Rename LinkInterfaceIncludeDirectoriesEntries
47f80d9 cmTarget: Rename struct to be more re-usable.
1319a14 Add <LANG>_COMPILER_ID generator expressions.
3549676 Add cmLocalGenerator::GetCompileOptions.
f3ad863 VS6: Rename some variables to correspond to config values.
2013-06-03 09:57:44 -04:00
Brad King bcc29c56a5 Merge topic 'refactor-try_compile-argument-processing'
d06db7e try_compile: Refactor argument processing
b680824 try_compile: Add test for bad call error cases
2013-06-03 09:57:39 -04:00
Brad King 90441b289d Merge topic 'vs-RootNamespace'
cca955a VS: Add VS_GLOBAL_ROOTNAMESPACE target property
2013-06-03 09:57:32 -04:00
Brad King db5f5243b5 Merge topic 'fix-style'
e162326 Fix indentation.
2013-06-03 09:57:27 -04:00
Brad King 7be07970ff Merge topic 'FindImageMagick-v6-includes'
3de9bb4 FindImageMagick: Find v6 include dir (#14174)
2013-06-03 09:57:22 -04:00
Brad King 406d270c7b Merge topic 'SelectLibraryConfigurations-cached-library'
a2099a8 SelectLibraryConfigurations: Fix for cached <base>_LIBRARY
2013-06-03 09:57:08 -04:00
Brad King 6d4e79e2c3 Merge topic 'qt4-qt5-CMAKE_AUTOMOC'
fa55751 QtAutomoc: Get the Qt version through the target link interface
f776316 Use the qt5::moc imported target instead of a variable.
2013-06-03 09:57:01 -04:00
Brad King 3caf565d07 Merge topic 'rpath-on-mac'
dc1d025 OS X: Add test for rpaths on Mac.
8576b3f OS X: Add support for @rpath in export files.
00d71bd Xcode: Add rpath support in Xcode generator.
94e7fef OS X: Add RPATH support for Mac.
2013-06-03 09:56:44 -04:00
Brad King d444fea163 Merge topic 'xcode-shlib-versioning'
cbe3f20 Xcode: Add support for shared library versioning
2013-06-03 09:56:37 -04:00
Brad King b0759da303 Merge topic 'framework-refactor'
373faae Refactor how bundles and frameworks are supported.
2013-06-03 09:56:32 -04:00
Brad King 800e764e80 Merge topic 'fix-qt4_use_modules-QtAx'
ce0c480 Qt4Macros: Handle Qt ActiveX libraries in qt4_use_modules.
2013-06-03 09:56:26 -04:00
Brad King acf42ba325 Merge topic 'find-Qt4-granular-modules'
b8af46c FindQt4: Don't fail if certain Qt modules are unavailable.
2013-06-03 09:56:21 -04:00
Clinton Stimpson dc1d025197 OS X: Add test for rpaths on Mac.
This also tests rpaths through export/import.
2013-06-03 09:42:06 -04:00
Clinton Stimpson 8576b3f978 OS X: Add support for @rpath in export files.
Also expand the IMPORTED_SONAME property for targets
to match the install_name.
2013-06-03 09:42:05 -04:00
Clinton Stimpson 00d71bdd19 Xcode: Add rpath support in Xcode generator. 2013-06-03 09:42:05 -04:00
Clinton Stimpson 94e7fef226 OS X: Add RPATH support for Mac.
RPATH support is activated on targets that have the MACOSX_RPATH
property turned on.
For install time, it is also useful to set INSTALL_RPATH to help
find dependent libraries with an @rpath in their install name.

Also adding detection of rpath conflicts when using frameworks.
2013-06-03 09:42:05 -04:00
Stephen Kelly ce0c4802c0 Qt4Macros: Handle Qt ActiveX libraries in qt4_use_modules.
These libraries have non-conventional variable names.
2013-06-03 09:40:31 -04:00
Stephen Kelly b8af46cb87 FindQt4: Don't fail if certain Qt modules are unavailable. 2013-06-03 09:39:56 -04:00
Kitware Robot 3c7e09eb8e CMake Nightly Date Stamp 2013-06-03 00:01:05 -04:00
Rolf Eike Beer cd4451d1e7 replace string(... MATCHES "^const$) with string(... STREQUAL "const") 2013-06-02 22:18:19 +02:00
Stephen Kelly 24466f22c0 Add target_compile_options command.
This command populates the COMPILE_OPTIONS target property.
2013-06-02 11:56:37 +02:00
Stephen Kelly 80ca9c4b41 Add COMPILE_OPTIONS target property.
This method reads generator expressions from the COMPILE_OPTIONS
target property, as well as INTERFACE_COMPILE_OPTIONS from linked
dependents.
2013-06-02 11:56:37 +02:00
Stephen Kelly 7cb23084b2 cmTarget: Rename LinkInterfaceIncludeDirectoriesEntries
This can be used for COMPILE_OPTIONS too.
2013-06-02 11:56:37 +02:00
Stephen Kelly 47f80d9c43 cmTarget: Rename struct to be more re-usable.
The same struct can be used to represent COMPILE_OPTIONS content.
2013-06-02 11:56:36 +02:00
Stephen Kelly 1319a147bd Add <LANG>_COMPILER_ID generator expressions.
These expressions evaluate to the id of the compiler used to build
the target, or can be used to test if the compiler id matches a
specified value.
2013-06-02 11:56:36 +02:00
Stephen Kelly 35496761a5 Add cmLocalGenerator::GetCompileOptions.
Currently it only adds the contents of the COMPILE_FLAGS target
property, but it can be extended to handle a new COMPILE_OPTIONS
generator expression enabled property.
2013-06-02 11:56:36 +02:00
Stephen Kelly f3ad863ae6 VS6: Rename some variables to correspond to config values.
This simplifies population of the compile flags.
2013-06-02 11:56:36 +02:00
Kitware Robot a4d8c64d10 CMake Nightly Date Stamp 2013-06-02 00:01:03 -04:00
Kitware Robot 86f5460398 CMake Nightly Date Stamp 2013-06-01 00:01:03 -04:00
Brad King d06db7ebe8 try_compile: Refactor argument processing
Process all arguments in a single loop using a simple state machine.
While at it, fix some error message typos.  Also allow LINK_LIBRARIES
with no actual libraries to disable use of the -DLINK_LIBRARIES=...
from the CMAKE_FLAGS.  This was already possible in the old logic if
LINK_LIBRARIES was immediately followed by another keyword argument
instead of the end of the argument list, so allow it in general.
Update the RunCMake.try_compile test cases accordingly.
2013-05-31 10:01:50 -04:00
Brad King b680824a5f try_compile: Add test for bad call error cases
Add a RunCMake.try_compile test to cover cases of bad invocation of the
try_compile command.
2013-05-31 10:00:42 -04:00
Brad King 5377ac4289 Merge topic 'fix-try_compile-library-spaces'
e537544 try_compile: Trim whitespace from LINK_LIBRARIES entries
2013-05-31 09:33:54 -04:00
Brad King 1f73d65177 Merge topic 'FindBoost-normalize-slashes'
363825c FindBoost: Fix handling of \ in input paths (#14179)
2013-05-31 09:33:35 -04:00
Brad King 69cc67611a Merge topic 'test-INCLUDE_DIRECTORIES-genex-read'
07f9e15 GenexEval: Test evaluation of INCLUDE_DIRECTORIES target property.
2013-05-31 09:33:26 -04:00
Brad King 7b8a4c3e6f Merge topic 'fix-INCLUDE_DIRECTORIES-genex-read'
3aa9ce4 GenexEval: Fix evaluation of INCLUDE_DIRECTORIES target property.
0b39fef GenexEval: Extract a getLinkedTargetsContent from TargetPropertyNode.
53164ac cmTarget: Remove some hardcoding of transitive property names.
2013-05-31 09:33:22 -04:00
John Farrier cca955a27c VS: Add VS_GLOBAL_ROOTNAMESPACE target property
Add a setting for Visual Studio projects for the root namespace in the
"Globals" PropertyGroup section of the project file.
2013-05-31 09:15:30 -04:00
Kitware Robot 4836c5ab48 CMake Nightly Date Stamp 2013-05-31 00:01:05 -04:00
Brad King 363825cd55 FindBoost: Fix handling of \ in input paths (#14179)
In commit 5b9149e0 (FindBoost: Overhaul caching and search repeat
behavior, 2012-09-24) we refactored the internal library search to use a
_Boost_FIND_LIBRARY macro to wrap around find_library calls.  However,
CMake macros re-process escape sequences when evaluating calls inside
the macro after substituting placeholders (a historical bug).  In order
to avoid escape sequences, convert backslashes to forward slashes before
passing arguments to the _Boost_FIND_LIBRARY macro.
2013-05-30 16:20:55 -04:00
Stephen Kelly 07f9e157b6 GenexEval: Test evaluation of INCLUDE_DIRECTORIES target property. 2013-05-30 16:05:17 +02:00
Stephen Kelly 3aa9ce441f GenexEval: Fix evaluation of INCLUDE_DIRECTORIES target property.
This property should come from the content of the property itself,
plus the INTERFACE_INCLUDE_DIRECTORIES of the link *implementation*.

In contrast, when the INTERFACE_INCLUDE_DIRECTORIES is evaluated for
a target, the INTERFACE_INCLUDE_DIRECTORIES of the link *interface*
is used.

Similar logic applies for the COMPILE_DEFINITIONS target properties.

If the propertyName is already an INTERFACE_ variant of the property,
ie, the expression is similar to

 $<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES>

then the INTERFACE_INCLUDE_DIRECTORIES of the link *interface* of foo
is used.

However, if the propertyName is not an INTERFACE_ variant, and the
interfacePropertyName is, ie, the expression is similar to:

 $<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>

then the INTERFACE_INCLUDE_DIRECTORIES of the link *implementation*
of foo is used.
2013-05-30 15:43:42 +02:00
Stephen Kelly 0b39fefeac GenexEval: Extract a getLinkedTargetsContent from TargetPropertyNode.
This will be used to process transitive components of properties
which depend on linked targets. Currently only the link interface
of the target can be used as the source of the linked targets, but
in the next commit it will be possible to use the link implementation
as the source of link targets.

This commit does not change the semantics of the code.
2013-05-30 15:43:42 +02:00
Stephen Kelly 53164ac997 cmTarget: Remove some hardcoding of transitive property names. 2013-05-30 15:43:37 +02:00
Brad King 585cfa51de Merge topic 'fix-FileIsDirectory-SEGV'
7378792 if: Add test for IS_DIRECTORY
4ab10e0 Merge branch 'master' into fix-FileIsDirectory-SEGV
045d6ae KWSys: Fix SystemTools::FileIsDirectory with long paths (#14176)
2013-05-30 08:57:42 -04:00