Commit Graph

21891 Commits

Author SHA1 Message Date
Brad King
c515dc5748 Merge topic 'fix-install-include-dirs-processing'
6f98f4a Genex: Fix processing multiple include directories for relative paths
2013-10-07 08:26:46 -04:00
Stephen Kelly
6f98f4ac92 Genex: Fix processing multiple include directories for relative paths
Re-insert the semicolon which was removed during splitting.

Commit d777b8e7 (Genex: Allow relative paths in INSTALL_INTERFACE.,
2013-07-25) introduced the prefixItems method to allow relative paths
in the argument of the INSTALL_INTERFACE expression. That method was
buggy in that it did not re-introduce the semicolon separator in
the result.

This bug also affects paths which are already absolute in user code.
2013-10-07 08:17:12 -04:00
Kitware Robot
d85b06602a CMake Nightly Date Stamp 2013-10-07 00:01:10 -04:00
Kitware Robot
5b98d09e80 CMake Nightly Date Stamp 2013-10-06 00:01:10 -04:00
Kitware Robot
dc92741d03 CMake Nightly Date Stamp 2013-10-05 00:01:06 -04:00
Kitware Robot
e20edcdb3d CMake Nightly Date Stamp 2013-10-04 00:01:07 -04:00
Brad King
c04995b46e cmake: Split -E command implementation into separate source file
Move the cmake::ExecuteCMakeCommand static method and all the static
methods it calls out of the 'cmake' class to a separate 'cmcmd' class.
Build the latter as part of the main cmake executable with cmakemain.cxx
and not in CMakeLib.  Drop unused header includes from "cmake.cxx".

By moving this implementation out of cmake.cxx we avoid carrying it
around in all the executables that use class 'cmake'.  It is needed only
for the main "cmake -E" functionality.
2013-10-03 17:30:28 -04:00
Brad King
a3170c8b0c Tests: Make find_package(Qt4) QUIET
The lack of Qt4 on a system should silently skip the corresponding tests
with no other messages.  This is already the case for other find_package
calls in Tests/CMakeLists.txt.
2013-10-03 13:12:07 -04:00
Brad King
e27523a834 Merge topic 'xcode-5'
a3194ff Xcode: Fix OBJECT library support for Xcode 5 (#14254)
dff8d11 Xcode: Drop XCODE_DEPEND_HELPER for Xcode >= 5
1180322 Xcode: Teach Tests/BuildDepends to allow LINK_DEPENDS_NO_SHARED failure
765b46d Xcode: Fix test architecture selection for Xcode >= 5
2013-10-03 08:17:43 -04:00
Kitware Robot
a9a48ff9f4 CMake Nightly Date Stamp 2013-10-03 00:01:05 -04:00
Brad King
a3194ff4a7 Xcode: Fix OBJECT library support for Xcode 5 (#14254)
Xcode 2.1 through 4 supported $(CURRENT_ARCH) in a PBXFileReference
'path' value used in the "Link Binary with Libraries" build phase.
CMake uses this to reference object file locations on link lines to
bring in OBJECT library content.  However, Xcode 5 now evaluates the
$(CURRENT_ARCH) reference in this context as "undefined_arch" so the
wrong path is given to the linker.  There seems to be no alternative way
to produce an architecture-specific value in a PBXFileReference.

Fortunately Xcode 5 now also handles link dependencies for paths linked
through OTHER_LDFLAGS.  For Xcode >= 5, move the OBJECT library object
file references from the link build phase to OTHER_LDFLAGS.  We can
still show the object files in the source group listing in either case.
2013-10-02 13:03:21 -04:00
Brad King
dff8d113b4 Xcode: Drop XCODE_DEPEND_HELPER for Xcode >= 5
Xcode 5.0 now computes dependencies from files linked through
OTHER_LDFLAGS, so we no longer need the XCODE_DEPEND_HELPER hack to
re-link dependents when targets change.
2013-10-02 12:49:09 -04:00
Brad King
118032247c Xcode: Teach Tests/BuildDepends to allow LINK_DEPENDS_NO_SHARED failure
Xcode 5.0 now relinks targets when their shared libraries dependencies
are modified, and there seems to be no way to stop it.  Report this as a
known limitation in the test output and do not fail.
2013-10-02 12:49:09 -04:00
Brad King
765b46d1e1 Xcode: Fix test architecture selection for Xcode >= 5
In Tests/Architecture and Tests/BuildDepends/Project we select a set of
OS X cpu architectures to use for the test.  Prior to Xcode 4 we always
used i386 and ppc.  Starting with Xcode 4, the tools do not support ppc
but do support x86_64, so we switch to that.  Fix the version check to
recognize Xcode >= 5 as at least Xcode 4 and use the new architectures.
2013-10-02 12:48:20 -04:00
Kitware Robot
c0133a58e8 CMake Nightly Date Stamp 2013-10-02 00:01:07 -04:00
Brad King
c33a38fe22 CMake 2.8.12-rc4 2013-10-01 08:05:44 -04:00
Brad King
cc329e97e0 Merge topic 'osx-find-sdk-frameworks'
1fce189 OS X: Search system SDKs for frameworks
2013-10-01 08:05:24 -04:00
Brad King
e02e56c4a6 Merge topic 'fix-duplicate-custom-commands'
dccd494 Use first custom command for the same output (#14446)
2013-10-01 08:05:17 -04:00
Brad King
204a54774c Merge branch 'release' 2013-10-01 08:03:41 -04:00
Kitware Robot
fa97f43c81 CMake Nightly Date Stamp 2013-10-01 00:01:06 -04:00
Brad King
dccd4949c0 Use first custom command for the same output (#14446)
In buggy code like

 add_custom_command(
   OUTPUT  ${CMAKE_CURRENT_BINARY_DIR}/out.h
   MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/out.h.in
   ...)
 add_custom_command(
   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out.h
   ...)

that has more than one rule to generate the same output CMake has always
used the first rule.  However, since commit 2268c41a (Optimize custom
command full-path dependency lookup, 2013-08-06) we update the map from
output to cmSourceFile for every rule generating an output, effectively
keeping the last command instead of the first.

Fix this regression by checking for each map update if the output
already has an entry.  If so, keep only the original entry.  The VS 8
generator triggers this with a special case for generate.stamp rules
that differ between ZERO_CHECK and normal targets, so do not warn for
now.  Leave a TODO comment for warning in the future.
2013-09-30 15:03:00 -04:00
Kitware Robot
6a3958b374 CMake Nightly Date Stamp 2013-09-30 00:01:04 -04:00
Kitware Robot
6f74212360 CMake Nightly Date Stamp 2013-09-29 00:01:07 -04:00
Kitware Robot
1bf010ae98 CMake Nightly Date Stamp 2013-09-28 00:01:10 -04:00
Brad King
1fce189e53 OS X: Search system SDKs for frameworks
In Modules/Platform/Darwin.cmake set CMAKE_SYSTEM_FRAMEWORK_PATH to
include framework directories from inside the system SDK corresponding
to CMAKE_OSX_SYSROOT.

Suggested-by: Sean McBride <sean@rogue-research.com>
2013-09-27 10:18:46 -04:00
Kitware Robot
6ed8504ea5 CMake Nightly Date Stamp 2013-09-27 00:01:08 -04:00
Brad King
71c0eb9cd8 Merge topic 'wince-archfam'
0b15ffc MSVC: Fix WinCE arch family preprocessor symbol (#14436)
2013-09-26 08:51:36 -04:00
Brad King
46ea14718c Merge topic 'wince-subsystem'
8bb3b3d VS: Use version-specific subsystem for WinCE compiler id (#14440)
2013-09-26 08:51:27 -04:00
Kitware Robot
b89cedd112 CMake Nightly Date Stamp 2013-09-26 00:01:16 -04:00
Brad King
6e3fe55703 Merge topic 'bash-completion-future-filter'
a8d7141 bash-completion: Future-proof --help-*-list "cXXXX version" filtering
2013-09-25 16:37:54 -04:00
Brad King
a8d7141d2b bash-completion: Future-proof --help-*-list "cXXXX version" filtering
A future version of CMake may not print the "cmake version" line at the
beginning of the --help-*-list output.  Filter out the line with 'grep'
instead of 'tail' to tolerate output from versions of CMake with and
without the version line.  Match "cmake version", "cpack version", and
"ctest version" in each corresponding completion script.
2013-09-25 16:16:54 -04:00
Brad King
951a158c8a Merge topic 'hppa-bootstrap'
ca63bb1 bootstrap: try better workaround for builds on Linux/HPPA
2013-09-25 08:33:12 -04:00
Patrick Gansterer
8bb3b3d344 VS: Use version-specific subsystem for WinCE compiler id (#14440)
The subsystem must be set to WINDWOSCE for some SDKs to link an
executable. Set it to 9 for VS2005 and to 8 for VS2008, since the
value differs between the different Visual Studio versions.
2013-09-25 08:29:03 -04:00
Kitware Robot
5f8eefa301 CMake Nightly Date Stamp 2013-09-25 00:01:11 -04:00
Patrick Gansterer
0b15ffc73b MSVC: Fix WinCE arch family preprocessor symbol (#14436)
In commit bd827f98 (Use COFF file header header for architecture
detection, 2013-08-05) the MSVC_<lang>_ARCHITECTURE_ID value computed by
CMakeDetermineCompilerId.cmake changed for WinCE architectures to be the
exact architecture read from the PE header.  Fix platform preprocessor
definitions in Modules/Platform/Windows-MSVC.cmake to correspond to the
architecture family (ARM or SHx) instead of the specific architecture.
2013-09-25 05:20:22 +02:00
Stephen Kelly
a63fcbcb9f Always consider includes from IMPORTED targets to be SYSTEM.
Introduce a target property to control this behavior variable
to set the default value for the target property.

This does not affect try_compile runs.
2013-09-24 20:00:31 +02:00
Stephen Kelly
0ad2a1c181 Export: Never treat private link libraries as public package dependencies.
Multiple libraries in a single buildsystem can be exported to multiple
export-sets.

If a library from one export set depends on a library from
another export set, the export logic generates a check in the targets
file to verify that the target in the other export set is found. That
check is executed at downstream-find_package-time.

However, a target may depend privately on a target in another export
set. In that case, the depend used to also be listed in the required
targets in the targets file. Change the export logic to ignore the
private link entries instead.
2013-09-24 15:06:56 +02:00
Brad King
faef6b4ec8 Merge topic 'wince-corelibc'
e63cf5f MSVC: Fix version test for linking corelibc on Windows CE (#14420)
2013-09-24 08:39:48 -04:00
Eric NOULARD
e507bf28c2 CPack: Fix clang -Wdocumentation warnings 2013-09-24 14:29:24 +02:00
Kitware Robot
e5538f323e CMake Nightly Date Stamp 2013-09-24 00:01:07 -04:00
Patrick Gansterer
e63cf5f099 MSVC: Fix version test for linking corelibc on Windows CE (#14420)
In commit 8fcf0ab0 (Add support for new Windows CE compiler, 2013-08-04)
we made corelibc conditional on the MSVC version, but the version value
was incorrect.  Update it to use corelibc for VS 2008 and below.
2013-09-23 17:11:47 -04:00
Simon Levermann
69aff17d38 UseJava: Add support for the jar 'm' (Manifest) option 2013-09-23 14:54:33 +02:00
Stephen Kelly
cdf55d5cb4 GEH: Make each element of the deprecation macros overridable.
This way, we can override only FOO_DEPRECATED to silence deprecation
for a library.
2013-09-23 08:04:16 +02:00
Stephen Kelly
80d5090a2c GEH: Use the macro for the deprecation attribute after definiting it.
This way, it is more-easily overridden.
2013-09-23 08:04:13 +02:00
Kitware Robot
475635ec0f CMake Nightly Date Stamp 2013-09-23 00:01:05 -04:00
Kitware Robot
fe5e193020 CMake Nightly Date Stamp 2013-09-22 00:01:06 -04:00
Kitware Robot
ee6b7a8a18 CMake Nightly Date Stamp 2013-09-21 00:01:05 -04:00
Brad King
027a0201b2 Merge branch 'test-property-genex' into generate-modern-style
Resolve conflict in Source/cmTestGenerator.cxx by taking "their" side
(test-property-genex).  It already accounts for the lower-case change in
"our" side (generate-modern-style).
2013-09-20 08:20:01 -04:00
Ben Boeckel
6a47c37ccf add_test: Mention generator expressions in old-style add_test docs
The old-style add_test() call does not support generator expressions at
all. This also applies to the properties for the test, but it is not
mentioned at all.
2013-09-20 08:18:22 -04:00
Ben Boeckel
d331292c12 cmTestGenerator: Evaluate generator expressions in test properties
This is useful for cases like:

  add_test(NAME mytest COMMAND mydriver $<TARGET_FILE:myexe>)
  set_tests_properties(mytest PROPERTIES
    REQUIRED_FILES "$<TARGET_FILE:myexe>"
    WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>"
    )

In this example we require the actual test executable to exist to
run the test in addition to the test driver at argv[0].  Also the
$<CONFIGURATION> expression improves over \${CTEST_CONFIGURATION_TYPE}
because the latter is not normalized for case-sensitive filesystems.
2013-09-20 08:18:22 -04:00