Commit Graph

26651 Commits

Author SHA1 Message Date
Brad King 27c6da933e Add option to build CMake against a system jsoncpp
Create a CMAKE_USE_SYSTEM_JSONCPP option.
2015-01-20 10:37:35 -05:00
Brad King 17cfa09eb2 Merge topic 'cmake-labels-json'
0238d0c3 cmake: Generate an internal 'Labels.json' file next to 'Labels.txt'
bda4f0b6 jsoncpp: Add headers to help CMake include in-source jsoncpp headers
a02fbec5 jsoncpp: Drop doxygen comments that cause Clang warnings
2015-01-20 09:31:59 -05:00
Brad King 0238d0c397 cmake: Generate an internal 'Labels.json' file next to 'Labels.txt'
In each internal target directory we generate a "Labels.txt" file
containing labels for that target and its sources, but it uses an
internal format.  In order to make the list of labels easier to
publish, use a json format and call it "Labels.json".

Since we now use jsoncpp headers, link CMakeLib to the jsoncpp library.
2015-01-20 09:31:11 -05:00
Brad King bda4f0b661 jsoncpp: Add headers to help CMake include in-source jsoncpp headers
Add cm_jsoncpp_value.h and cm_jsoncpp_writer.h headers to include the
CMake-provided copy of the json/value.h and json/writer.h headers from
CMake sources.
2015-01-20 09:28:59 -05:00
Brad King a02fbec5f3 jsoncpp: Drop doxygen comments that cause Clang warnings
Even though we disable warnings when building jsoncpp itself, including
its headers from other CMake sources may still cause warnings.  Update
the code to remove these -Wdocumentation warnings.
2015-01-20 09:28:28 -05:00
Brad King 1ef4e3ab45 Merge topic 'cmake-E-tar-mtime'
3a60c899 cmake: Teach "-E tar" command a "--mtime=" option
90f9c427 cmake: Teach "-E tar" to report file name on failure to read from disk
2015-01-20 09:20:12 -05:00
Brad King 770131c973 Merge topic 'doc-unsupported-compilers'
a6a1adb5 Help: Document unsupported compilers in the release notes.
2015-01-20 09:20:09 -05:00
Brad King 86b6cbeaad Merge topic 'find-package-mode-fix-multiarch'
48984958 CMakeFindPackageMode: Fix Debian multiarch default guess (#15250)
2015-01-20 09:20:07 -05:00
Brad King 481c5fd31e Merge topic 'emacs-mode-fix-word-at-point'
3a147e1b cmake-mode.el: Re-add explicit call to require thingatpt
2015-01-20 09:20:04 -05:00
Brad King 4970ac3d5f Merge topic 'xcode-target-sort'
9e0176e2 Xcode: Sort targets deterministically and with ALL_BUILD first (#15346)
c0ff542c Xcode: Fix early termination on per-config source file error
2015-01-20 09:19:55 -05:00
Brad King cf17d41535 Merge topic 'doc-virtual-override-specifiers-links'
d8f93f6e Help: Link relevant documents for virtual override features (#15311)
2015-01-20 09:19:52 -05:00
Kitware Robot 70eb44b7dc CMake Nightly Date Stamp 2015-01-20 00:01:17 -05:00
Stephen Kelly d8f93f6e9a Help: Link relevant documents for virtual override features (#15311) 2015-01-19 16:38:06 -05:00
Stephen Kelly a6a1adb59f Help: Document unsupported compilers in the release notes. 2015-01-19 20:57:25 +01:00
Brad King 3a60c899fc cmake: Teach "-E tar" command a "--mtime=" option
Add an option to set the mtime of entries in a tarball so that one can
create a tarball with a consistent content hash (e.g. MD5) for a given
set of files regardless of their current timestamps on disk.  This will
be useful for submission of tarballs to CDash, which tracks content
hashes to avoid duplication.

Inspired-by: Bill Hoffman <bill.hoffman@kitware.com>
2015-01-19 14:16:19 -05:00
Brad King 90f9c42732 cmake: Teach "-E tar" to report file name on failure to read from disk
The libarchive-provided error message does not always include the file
name, so add it to the message ourselves to ensure users know which file
fails.
2015-01-19 14:15:58 -05:00
Brad King 813ace90e4 Merge topic 'GNU-4.4-compile-features'
004e1540 Features: Record for GNU 4.4.
2a5ca650 Features: Wrap failure-test in UNIX condition.
1ae2c6b2 Features: Blacklist cxx_constexpr test for GNU 4.5.
c66e3317 Features: Use a more-common feature in cycle-test.
c43a6dc5 Features: Update comment in test to match the code.
78259135 Features: Test presence of cxx_auto_type with genex.
7b9fc88b Features: Remove outdated comment.
2015-01-19 13:55:31 -05:00
Brad King 137a15bf1d Merge topic 'SolarisStudio-compile-features'
00194ea7 Help: Add notes for topic 'SolarisStudio-compile-features'
bcb04783 Features: Record for SolarisStudio 12.4.
536c535c Features: Adjust cxx_variadic_templates unit test for SolarisStudio.
5d57970d Features: Use variable in cxx_inheriting_constructors test.
69182ce4 Features: Ensure that the cxx_auto_type test is correct.
2015-01-19 13:55:29 -05:00
Brad King 0898de99cc Merge topic 'WriteCompilerDetectionHeader-multi-file-lang'
59e6e15c Help: Add notes for topic 'WriteCompilerDetectionHeader-multi-file-lang'
54156d72 WCDH: Generate per-language files in multi-file mode.
d84d6ed4 WCDH: Allow compilers to specify features for one language but not the other.
7dcdfec9 WCDH: Find a language-specific DetermineCompiler.cmake if present.
2015-01-19 13:55:27 -05:00
Peter Vasil 3a147e1b62 cmake-mode.el: Re-add explicit call to require thingatpt
Usually it is not needed to call '(require 'thingatpt')' explicitly
because the function 'symbol-at-point' is in autoloaded but to be sure
to have the function loaded in every case, require thingatpt.
2015-01-19 13:53:38 -05:00
Brad King 00194ea752 Help: Add notes for topic 'SolarisStudio-compile-features' 2015-01-19 13:51:38 -05:00
Felix Geyer 4898495819 CMakeFindPackageMode: Fix Debian multiarch default guess (#15250)
In commit v2.8.6~102^2~18 (Better support for lib64 and Debian
multiarch, 2011-07-14) variable names "..._LANGUAGE_ARCHITECTURE" were
set instead of the correct "..._LIBRARY_ARCHITECTURE".  Fix this typo
and also set the language-independent variable
CMAKE_LIBRARY_ARCHITECTURE.
2015-01-19 10:45:32 -05:00
Brad King 2e71d92ef2 Merge topic 'test-ctest_submit-fail-with-RunCMake'
352de1d7 Tests: Add RunCMake.CTestSubmit cases covering ctest_submit failures
2015-01-19 10:03:12 -05:00
Brad King fc9204efcb Merge branch 'release' 2015-01-19 10:01:08 -05:00
Brad King bc9cd21bd4 Merge branch 'emacs-mode-fix-word-at-point' into release 2015-01-19 09:59:14 -05:00
Brad King 352de1d749 Tests: Add RunCMake.CTestSubmit cases covering ctest_submit failures
Cover command invocation argument errors.  Prepare infrastructure
to cover failed 'drop' cases, but do not cover them yet because
we need to collect error messages from each platform.
2015-01-19 09:53:57 -05:00
Brad King 9de2ab7fce Merge topic 'consistent-empty-method'
5f69314e Replace foo.length() pattern with !foo.empty().
fd0c036c Replace 'foo.length() >= 1' pattern with !foo.empty()
f09fde2d Replace 'foo.length() > 0' pattern with !foo.empty().
86b5bdfa Replace 'foo.length() == 0' pattern with foo.empty().
fd7b3712 Replace foo.size() pattern with !foo.empty().
aa773035 Replace !foo.size() pattern with foo.empty().
64592633 cmListCommand: Use empty() and expand whitespace.
607e1938 Replace 'foo.size() != 0' pattern with !foo.empty().
930bd478 Replace 'foo.size() == 0' pattern with foo.empty().
d92887ef Replace 'foo.size() > 0' pattern with !foo.empty().
2015-01-19 09:43:28 -05:00
Brad King a6bbbd0f4a Merge topic 'use-member-insert'
fa889c4d cmakemain: Initialize vector content with iterators directly.
8211010c cmakemain: Use member insert in command line handling code.
b5422573 cmListCommand: Replace loop with member algorithm.
92a37f92 Convert raw loops to set member insert.
aac44e71 Convert raw loops to vector member insert.
2015-01-19 09:43:27 -05:00
Brad King 95d42840e8 Merge topic 'delete-algorithm'
681d965d Use the cmDeleteAll algorithm for types derived from std::map.
4dc0c488 cmDeleteAll: Generalize deletion specialization for map types.
2015-01-19 09:43:25 -05:00
Brad King a1fea841a9 Merge topic 'remove-AppleClang-51-release-notes'
e11f8d64 Remove AppleClang-5.1-features.rst release notes.
2015-01-19 09:43:22 -05:00
Brad King a5be8e3111 Merge topic 'FindQt-fixes'
b937f753 FindQt: explicitely mention that it cannot Qt5 or later
6af8cbf2 FindQt: fix variable name in error message
49d05a47 FindQt: fix setting DESIRED_QT_VERSION if "find_package(Qt VVV)" was called
2015-01-19 09:43:20 -05:00
Brad King 953272b725 Merge topic 'fix-cmake-org-links'
91fbcda2 Help: Update cmake.org links to avoid redirects
2015-01-19 09:43:18 -05:00
Brad King e320640bcf Merge topic 'emacs-mode-fix-word-at-point'
ca80598e cmake-mode.el: Fix extracting keyword at point in cmake-help
2015-01-19 09:43:15 -05:00
Brad King 5803ae3e88 Merge topic 'add-FindJsonCpp'
0aebeb9c FindJsonCpp: Add module to find JsonCpp package
2015-01-19 09:43:12 -05:00
Brad King 373199b1c9 Merge topic 'eclipse-fix-cxx-natures'
6e6e0c40 Eclipse: Add org.eclipse.cdt.core.cnature to CXX projects (#15068)
2015-01-19 09:43:09 -05:00
Brad King 0aebeb9c84 FindJsonCpp: Add module to find JsonCpp package 2015-01-19 09:34:03 -05:00
Peter Vasil ca80598eca cmake-mode.el: Fix extracting keyword at point in cmake-help
Since commit v3.1.0-rc2~1^2~1 (cmake-mode.el: syntax of '_' should be
treated as symbol, 2014-11-12) the 'word-at-point' function does not
extract the whole keyword anymore if it contains an '_', because
'forward-word' stops at '_'.  Use 'symbol-at-point' to extract a whole
keyword even if there is an '_'.
2015-01-19 09:14:10 -05:00
Ben Boeckel 9e0176e2b3 Xcode: Sort targets deterministically and with ALL_BUILD first (#15346)
The default target in XCode is the first one in the file.

In commit v3.1.0-rc1~286^2 (cmTarget: use a hash_map for cmTargets
typedef, 2014-06-10) the order of the targets stored in cmMakefile was
made non-deterministic instead of lexicographic.  Teach the Xcode
generator to do its own sorting to restore a predictable order.

While at it, place ALL_BUILD first (as is done in VS IDE generators)
explicitly in the comparison function so that it is the default target
even if other targets sort earlier lexicographically (e.g. "AAA").
2015-01-19 08:36:45 -05:00
Brad King c0ff542c58 Xcode: Fix early termination on per-config source file error
In commit v3.1.0-rc1~687^2~4 (cmTarget: Make the source files depend on
the config, 2014-02-13) an early termination case was added to the Xcode
generator.  Fix handling of this case to actually abort all the
generation steps.  Otherwise some of the later steps are attempted
without the preconditions normally established by earlier steps,
possibly leading to a crash.
2015-01-19 08:34:32 -05:00
Kitware Robot 6164f7cef6 CMake Nightly Date Stamp 2015-01-19 00:01:10 -05:00
Stephen Kelly fa889c4d2f cmakemain: Initialize vector content with iterators directly. 2015-01-18 18:24:04 +01:00
Stephen Kelly 8211010c3f cmakemain: Use member insert in command line handling code. 2015-01-18 18:18:43 +01:00
Stephen Kelly b54225732f cmListCommand: Replace loop with member algorithm. 2015-01-18 15:15:17 +01:00
Stephen Kelly 92a37f9279 Convert raw loops to set member insert. 2015-01-18 15:14:47 +01:00
Stephen Kelly aac44e71e6 Convert raw loops to vector member insert. 2015-01-18 15:14:36 +01:00
Stephen Kelly 004e1540e0 Features: Record for GNU 4.4. 2015-01-18 15:01:15 +01:00
Stephen Kelly 2a5ca650c9 Features: Wrap failure-test in UNIX condition.
The use of GNU on non-UNIX for 'compile features' is not
tested and is not well defined.
2015-01-18 15:01:14 +01:00
Stephen Kelly 1ae2c6b2c9 Features: Blacklist cxx_constexpr test for GNU 4.5. 2015-01-18 14:46:55 +01:00
Stephen Kelly c66e331749 Features: Use a more-common feature in cycle-test.
We require that the $<$<COMPILE_FEATURES:cxx_feature>:empty2> generates
a '1' when CXX11 is enabled.  GNU 4.4 does not support cxx_nullptr, but
does support cxx_auto_type.
2015-01-18 14:46:45 +01:00
Stephen Kelly c43a6dc5ec Features: Update comment in test to match the code.
After commit f13a2eb1 (Features: Adjust the RunCMake test to use
more-common features., 2015-01-15).
2015-01-18 14:46:45 +01:00