Commit Graph

26653 Commits

Author SHA1 Message Date
Stephen Kelly 85d3173590 CMakeDetermineCompiler: Factor out xcrun invocation into a macro
This will allow it to be re-used in multiple code paths later.
2015-01-14 15:26:26 -05:00
Brad King eb7b060dc4 Merge topic 'Apple-GNU-compiler-features'
f121b6b1 Help: Add notes for topic 'Apple-GNU-compiler-features'
2015-01-14 15:24:09 -05:00
Brad King a985f1b1f6 Merge topic 'find-msmpi'
a3513cee Help: Add notes for topic 'find-msmpi'
2015-01-14 15:24:06 -05:00
Brad King 28f44670c8 Merge topic 'record-GNU-5-features'
31cbfd41 Help: Add notes for topic 'record-GNU-5-features'
2015-01-14 15:24:04 -05:00
Brad King ff880ecea1 Help: Add notes for topic 'FindGit-local-Github' 2015-01-14 15:08:12 -05:00
Brad King dcd72a7405 Help: Add notes for topic 'Xcode-clang-compile-features' 2015-01-14 15:06:11 -05:00
Brad King 31cbfd41da Help: Add notes for topic 'record-GNU-5-features' 2015-01-14 14:47:39 -05:00
Brad King f121b6b128 Help: Add notes for topic 'Apple-GNU-compiler-features' 2015-01-14 14:45:16 -05:00
Brad King 4ce110bbba Tests: Revert workaround for COMPILE_FEATURES genex bug
The second hunk of commit 07d1f6fc (Features: Properly evaluate if the
compiler supports cxx_final, 2014-12-31) was a workaround for a bug in
the COMPILE_FEATURES generator expression that caused it never to return
0.  Revert the workaround so we can fix the bug instead.
2015-01-14 13:41:45 -05:00
Brad King 0b7e7e277c Revert topic 'feature_record_msvc'
Revert commits:

 2d738ce3 Help: Add notes for topic 'feature_record_msvc'
 f73718c9 Features: Enable writing of MSVC compiler feature header.
 64c30bdc Features: Record for MSVC C++ 2015 and MSVC C 2010-2015.
 225c0ef8 Features: Record for MSVC 2010-2013.

This topic was merged to master prematurely, so remove it.
2015-01-14 13:35:58 -05:00
Brad King 0d7176b2f7 Merge branch 'release' 2015-01-14 10:34:51 -05:00
Brad King a08a444bab Merge branch 'fix-LOCATION-with-TARGET_OBJECTS' into release 2015-01-14 10:34:10 -05:00
Brad King 86d6ab06ed Merge branch 'FindRuby-zero-version' into release 2015-01-14 10:33:58 -05:00
Brad King 80025e4c3c Merge branch 'FindRuby-fix-version' into release 2015-01-14 10:33:52 -05:00
Brad King 365973cf98 Merge branch 'FindBoost-update-versions' into release 2015-01-14 10:33:47 -05:00
Brad King 46eae52968 Merge branch 'backport-cpack_invalid_cmake_generator' into release 2015-01-14 10:33:30 -05:00
Brad King 8909d88738 Merge branch 'linux-XL-fortran' into release 2015-01-14 10:33:25 -05:00
Brad King 9c9bc71256 QNX: Fix detection of QCC compiler id (#15349)
In commit v3.1.0-rc1~113^2 (Use a more reliable regex for extracting
binary INFO strings, 2014-09-03) the matching of INFO: strings was made
more strict and no longer matches just "INFO:qnxnto".  Use
"INFO:qnxnto[]" instead to conform to the new pattern.
2015-01-14 10:28:59 -05:00
Brad King a3513ceea9 Help: Add notes for topic 'find-msmpi' 2015-01-14 10:21:11 -05:00
Ben Boeckel 68857ccd82 FindMPI: handle trailing slash from $MSMPI_BIN
When installing, MSMPI puts a trailing backslash in the MSMPI_BIN
environment variable. This causes trouble when concatenating in CMake
since the list separator is now escaped and no longer a list separator
due to the trailing backslash. Instead, use file(TO_CMAKE_PATH) to make
the path CMake-friendly.
2015-01-14 10:19:06 -05:00
Brad King 74b8f78622 zlib: Disable warnings to avoid changing 3rd party code 2015-01-14 09:20:27 -05:00
Brad King 37fd5b87f8 Merge topic 'backport-cpack_invalid_cmake_generator'
ea916230 CPack: Avoid crash on invalid CMake generator name (#15308)
2015-01-14 08:44:29 -05:00
Domen Vrankar ea916230ef CPack: Avoid crash on invalid CMake generator name (#15308)
Case where CPACK_CMAKE_GENERATOR value is non existent or
or contains multiple words that were not quoted was not
handled and produced a segmentation fault.
2015-01-14 08:38:23 -05:00
Kitware Robot 2ece34516a CMake Nightly Date Stamp 2015-01-14 00:01:16 -05:00
Stephen Kelly 65b81da458 cmVariableWatch: Use the cmDeleteAll algorithm with for_each. 2015-01-13 23:00:17 +01:00
Stephen Kelly 30d2de9aa8 cmGeneratorExpressionEvaluator: Replace own algorithm with cmDeleteAll. 2015-01-13 23:00:17 +01:00
Stephen Kelly 4a6e795b0c Use the cmDeleteAll algorithm instead of trivial raw loops. 2015-01-13 23:00:17 +01:00
Stephen Kelly abb4a6781f Add a generic algorithm for deleting items in a container.
Specialize for std::map types to delete the second element from
the iterator.  This is not quite general enough that it can
be used everywhere, because CMake inherits from std::map and
creates typedefs with custom comparison functors etc, which
can not use this algorithm.
2015-01-13 23:00:16 +01:00
Brad King e4fd66b192 Merge branch 'release' 2015-01-13 16:13:47 -05:00
Brad King a263d519ff Merge branch 'jsoncpp-upstream' into import-jsoncpp
Use a subtree merge to place the upstream content in the
Utilities/cmjsoncpp directory.
2015-01-13 14:42:00 -05:00
JsonCpp Upstream 53f6ccb0ee JsonCpp 1.0.0 (reduced)
Extract upstream JsonCpp using the following shell code.

url=https://github.com/open-source-parsers/jsoncpp &&
v=1.0.0 &&
r=7165f6ac &&
paths="
  LICENSE
  include/json
  src/lib_json
" &&
remove="
  include/json/autolink.h
  src/lib_json/CMakeLists.txt
  src/lib_json/sconscript
  src/lib_json/version.h.in
" &&
mkdir jsoncpp-$v-g$r-reduced &&
git clone $url jsoncpp-git &&
date=$(cd jsoncpp-git && git log -n 1 --format='%cd' $r) &&
(cd jsoncpp-git && git checkout $r &&
 git archive --format=tar $r -- $paths) |
(cd jsoncpp-$v-g$r-reduced && tar xv && rm -f $remove) &&
echo "g$r date: $date"
2015-01-13 14:41:08 -05:00
Brad King 32fd56b066 jsoncpp: Add .gitattributes to skip whitespace checks 2015-01-13 10:36:19 -05:00
Sergey Nikulov 4048f7cde0 FindBoost: Add latest Boost version 1.57.0 and next milestone 1.58.0 2015-01-13 08:59:13 -05:00
Frank Park 546906243d FindGit: Search in 'GitHub for Windows' user directory 2015-01-13 08:54:31 -05:00
Stephen Kelly 23f3798c7b cmTarget: Compute link language of TARGET_OBJECTS with CMP0026 OLD (#15338)
Commit v3.1.0-rc1~297^2~5 (cmTarget: Drop 'head' argument from
GetSourceFiles, 2014-07-10) exposed a dormant bug in source file computation,
causing the test case to regress.  After that commit, the source file
computation and caching finds an existing container of source files.  Prior to
that patch, the GetSourceFiles method was called with either a null pointer
for the head cmTarget, or it was called with the this pointer.  The
processSources method is eventually called, which normalizes the difference
between the null pointer and the this pointer for the head target.  However,
the cache key depends on the actual pre-normalized pointer.  The change in
that commit caused the entry to be found in the cache where it was not before,
which resulted in incorrect behavior.

Prior to that commit, the test case also fails if the GetSourceFiles overload
taking a vector<cmSourceFile*> is changed to normalize the head target at
the beginning of the method:

  cmTarget const* head = head_ ? head_ : this;

Such a construct was correctly used in other locations where similar caching
was in place, before being removed in commit v3.1.0-rc1~310^2~25 (cmTarget:
Remove 'head' argument from GetLinkInformation, 2014-06-12), but is not
neccessary anymore.

Commit v3.1.0-rc1~674^2~2 (cmTarget: Cache the cmSourceFiles in
GetSourceFiles., 2014-04-05) introduced the caching, but fails the test case
for an unrelated reason.  That unrelated error was introduced in
commit v3.1.0-rc1~688^2~5 (cmTarget: Allow any generator expression in
SOURCES property., 2014-03-18) and fixed in
commit v3.1.0-rc1~561^2~1 (cmTarget: Fix listing of source files at
configure-time., 2014-04-13).

All commits which fail the test case in the testable way do so when such a
cached version of the source files is found and returned at generate
time.  In the test case, the cached content is populated at configure-time
through the use of the deprecated LOCATION property with CMP0026 OLD.  The
cached content is an empty container for the bar target in the test case,
because its source file 'foo.cpp.o' is not known until generate-time.  That
means that no source files are available to compute the link language and
the reported error is issued.

The actual problem is that the SourceFilesMap should be cleared after
configure time by cmTarget::ClearLinkMaps.  Clear it there now.
2015-01-13 09:36:20 +01:00
Kitware Robot d61c6df2fa CMake Nightly Date Stamp 2015-01-13 00:01:09 -05:00
David Coppa dd5d2eb156 FindRuby: fix selection of version x.0 (#15345)
When "Ruby_FIND_VERSION_MINOR" is 0, the "if(Ruby_FIND_VERSION_MAJOR AND
Ruby_FIND_VERSION_MINOR)" check evaluated to false.
2015-01-12 19:28:02 +01:00
Brad King 3dec4a2bfb Merge topic 'linux-XL-fortran'
ac592231 XL: Fix link flags for executables on Linux with XL compilers
2015-01-12 13:08:58 -05:00
Brad King ac5922317f XL: Fix link flags for executables on Linux with XL compilers
Use "-Wl,-export-dynamic" with XL to match the "-rdynamic" flag used
with GNU-like compilers.
2015-01-12 12:59:52 -05:00
Stephen Kelly 45ec182d27 Features: Fix the COMPILE_FEATURES genex for unavailable features.
Previously, the genex tested only for CMake knowledge of the feature,
but not compiler knowledge of the feature.
2015-01-12 10:30:43 -05:00
Stephen Kelly 2bead0eb1b cmMakefile: Rename a method to what it really does.
The method does not test availability of compile features.
2015-01-12 10:30:43 -05:00
Brad King dd6c596c12 Merge topic 'join-algorithm'
55a73e6b Use the cmJoin algorithm where possible.
8dc8d756 cmStandardIncludes: Add a join algorithm for string containers.
b5813cee cmInstallCommand: Remove unused variable.
2015-01-12 09:41:02 -05:00
Brad King d9a6ea4599 Merge topic 'add-xz-support'
4035ef78 cmake -E tar: error out on multiple compression formats
d811d238 cmSystemTools: use an enumeration for compression formats
df16dcfb cmake -E tar: add support for .xz files with 'J'
b0a5d393 cmake -E tar: clean up flag documentation
2015-01-12 09:39:40 -05:00
Brad King 212bf1f82a Merge topic 'improve_cobertura'
ab74553d ctest_coverage: Fix parsing of absolute paths in Cobertura files
2015-01-12 09:39:38 -05:00
Ben Boeckel 4035ef786d cmake -E tar: error out on multiple compression formats 2015-01-12 09:36:25 -05:00
Ben Boeckel d811d238ab cmSystemTools: use an enumeration for compression formats
Juggling 3 booleans was unwieldy.
2015-01-12 09:36:25 -05:00
Zack Galbreath ab74553db4 ctest_coverage: Fix parsing of absolute paths in Cobertura files
This commit fixes a segmentation fault I encountered when my
Coverage.xml referenced a system file, eg /usr/lib/python/foo.py.

Similar to other CMake coverage parsers, this one now ignores any
files it finds that are not located within this project's source
or binary directories.
2015-01-12 09:34:50 -05:00
Brad King cdc688eab0 Merge topic 'backport-copyright-year'
3515b0a4 Copyright.txt: Update year range to end in 2015
2015-01-12 09:15:50 -05:00
Brad King ef1f4f4782 Merge branch 'backport-copyright-year' into release 2015-01-12 09:14:45 -05:00
Brad King 3515b0a40d Copyright.txt: Update year range to end in 2015 2015-01-12 09:14:16 -05:00