Commit Graph

17513 Commits

Author SHA1 Message Date
Kitware Robot 3f73531d4e CMake Nightly Date Stamp 2015-02-06 00:01:16 -05:00
Brad King 69ac6d2755 bootstrap: Enable color Makefile output
Build the needed infrastructure during bootstrap in order to allow
"cmake -E cmake_echo_color" to be used unconditionally during
generation.
2015-02-05 16:44:56 -05:00
Stephen Kelly 3f3db74413 cmMakefile: Remove ExpandSourceListArguments. 2015-02-05 20:44:25 +01:00
Stephen Kelly bd990c803b Remove use of ExpandSourceListArguments.
By now, it is only an expensive copy.
2015-02-05 20:44:25 +01:00
Stephen Kelly 5fc53f1edb cmLocalGenerator: Replace loop with find_first_not_of 2015-02-05 20:44:25 +01:00
Stephen Kelly 421eadb45b Remove use of cmsys_stl.
It is not needed.
2015-02-05 20:44:25 +01:00
Brad King 098160d5f2 Begin post-3.2 development 2015-02-05 09:59:04 -05:00
Brad King cb01f15170 CMake 3.2.0-rc1 version update 2015-02-05 09:55:27 -05:00
Brad King 9042c875dc Merge topic 'fix-C-standard-features'
fb3487a9 Features: Fix C90 feature detection.
6027798a Features: Allow setting standard dialect below the default.
9d767810 Features: Populate CMAKE_<LANG>_STANDARD_DEFAULT only for supported compilers.
72537e44 Features: Add dialect compile flags only if default is known.
82c9d686 AppleClang: Remove redundant UNIX condition.
2015-02-05 09:25:14 -05:00
Kitware Robot ebe1f4f896 CMake Nightly Date Stamp 2015-02-05 00:01:15 -05:00
Stephen Kelly 6027798a30 Features: Allow setting standard dialect below the default.
If the requested standard dialect is older than the default dialect
then we must use a flag because we cannot decay to a newer standard.
2015-02-04 18:36:36 -05:00
Stephen Kelly 72537e4436 Features: Add dialect compile flags only if default is known.
The CMAKE_<LANG>_STANDARD_DEFAULT variable indicates whether the
compiler has any notion of standard levels and that CMake knows
about them.  If no language standard levels are available, skip
all logic to attempt to add a flag for the level.

Also fail with an internal error if a bad default value is set.
2015-02-04 18:28:07 -05:00
Brad King 44100adc6c CMake 3.1.2 2015-02-04 13:58:33 -05:00
Brad King f560fdddd1 Merge topic 'fix-default-install-config'
dea42d92 install: Fix regression in default configuration selection
2015-02-04 12:30:17 -05:00
Brad King be072d3fe1 Merge topic 'Qt-AUTOUIC-file-origin'
2fed8e17 QtAutogen: Issue error message with origin file (#15342).
2015-02-04 12:30:12 -05:00
Kitware Robot 5f37785717 CMake Nightly Date Stamp 2015-02-04 00:01:09 -05:00
Stephen Kelly 2fed8e173c QtAutogen: Issue error message with origin file (#15342). 2015-02-03 22:52:17 +01:00
Brad King fdb0799d75 Merge branch 'fix-default-install-config' into release-3.1 2015-02-03 13:23:57 -05:00
Ben Boeckel dea42d9296 install: Fix regression in default configuration selection
The refactoring in commit v3.1.0-rc1~812^2~16 (stringapi: Pass
configuration names as strings, 2014-02-09) broke the code path in
cmLocalGenerator::GenerateInstallRules that intends to pick a default
install configuration for multi-config generators.  Fix the logic to
select an empty default configuration only when using a single-config
generator whose CMAKE_BUILD_TYPE is not set.

Inspired-by: Roman Wüger <roman.wueger@gmx.at>
Reported-by: NoRulez <norulez@me.com>
2015-02-03 13:05:47 -05:00
Brad King 99e3650e66 Merge topic 'make-NOTPARALLEL-not-PHONY'
3cec0c75 Makefile: Generate .NOTPARALLEL without .PHONY (#14312)
2015-02-03 09:46:20 -05:00
Kitware Robot 460f7bcb7d CMake Nightly Date Stamp 2015-02-03 00:01:08 -05:00
Kitware Robot cf38f68685 CMake Nightly Date Stamp 2015-02-02 00:01:07 -05:00
Kitware Robot 8d69764d06 CMake Nightly Date Stamp 2015-02-01 00:01:08 -05:00
Kitware Robot 83ae27dcd1 CMake Nightly Date Stamp 2015-01-31 00:01:16 -05:00
Brad King a01f81b906 Merge topic 'ctest_submmit-CDASH_UPLOAD-encode-url'
18e3771a ctest_submit: Escape URL components in CDASH_UPLOAD mode
2015-01-30 10:39:12 -05:00
Bill Hoffman 18e3771ac7 ctest_submit: Escape URL components in CDASH_UPLOAD mode
Call curl_easy_escape on arguments sent to CDash upload.
2015-01-30 10:36:38 -05:00
Brad King 37662ea4bf Merge branch 'backport-fix-cpack-symlink-create-dir' into release-3.1 2015-01-30 10:24:21 -05:00
Brad King edc9ff9422 Merge topic 'feature-record-msvc'
d3489bdb Features: Record for MSVC 2010-2015
3228fc50 Features: Define meaning for no language standard default
2015-01-30 10:23:10 -05:00
Brad King db4b9fe256 Merge topic 'fix-cpack-symlink-create-dir'
55e68bc9 Merge branch 'backport-fix-cpack-symlink-create-dir' into fix-cpack-symlink-create-dir
4dc5acee CPack: Fix packaging of source tarballs with symbolic links
81221b80 CPack: Fix packaging of source tarballs with symbolic links
2015-01-30 10:23:07 -05:00
Brad King 85fe9400cd Merge topic 'ninja-msvc-only-C-and-CXX'
8a93d3ea Ninja: Use "deps = msvc" only for C and CXX (#15253)
2015-01-30 10:23:05 -05:00
Brad King e62e04f3bb Merge topic 'vs-windows-store-default-language'
500794b0 VS: Set default language in generated Windows Phone and Store projects
4c5574a1 VS: Add missing newlines to .vcxproj generation
2015-01-30 10:23:03 -05:00
Bill Hoffman 4dc5acee63 CPack: Fix packaging of source tarballs with symbolic links
When staging the package installation, if the first file in a directory
happens to be a symbolic link, make sure we create the directory before
trying to create the link.
2015-01-30 10:08:12 -05:00
Bill Hoffman 81221b80e2 CPack: Fix packaging of source tarballs with symbolic links
When staging the package installation, if the first file in a directory
happens to be a symbolic link, make sure we create the directory before
trying to create the link.
2015-01-30 10:06:09 -05:00
Brad King 3cec0c75f7 Makefile: Generate .NOTPARALLEL without .PHONY (#14312)
In commit v3.0.0-rc1~222^2 (Makefile: Allow "gmake target1 target2 -j",
2013-12-18) we added generation of a .NOTPARALLEL rule and told the
generator it is "symbolic" because the file will never be created.
This causes ".PHONY" to be used.  However, "clearmake" does not support
parsing of .PHONY specifically for .NOTPARALLEL, so simply drop it.
This should not affect the role of the .NOTPARALLEL rule for GNU make.
2015-01-30 09:50:09 -05:00
Kitware Robot dea1631a8f CMake Nightly Date Stamp 2015-01-30 00:01:10 -05:00
Brad King 8a93d3ea18 Ninja: Use "deps = msvc" only for C and CXX (#15253)
The "/showIncludes" flag is only available with MS C and C++ compilers,
and on compilers that "simulate" them (like Intel for Windows).  Fix our
logic to choose this type only for MS tools with these languages.  All
other cases need to use "deps = gcc" and define DEP_FILE in the build
rule.
2015-01-29 15:34:24 -05:00
Brad King 3228fc5049 Features: Define meaning for no language standard default
Define an empty string in CMAKE_<LANG>_STANDARD_DEFAULT to mean that
the toolchain has no notion of lanuage standard levels.  In this case
the <LANG>_STANDARD[_REQUIRED] properties will have no effect.

Update the RunCMake.CompileFeatures test to exclude the
LinkImplementationFeatureCycle test when there is no standard default.
It can never fail because no use of specific features will adjust the
CXX_STANDARD level required for any target since the standard levels
have no meaning in this case.
2015-01-29 15:01:40 -05:00
Robert Goulet 500794b0db VS: Set default language in generated Windows Phone and Store projects
Otherwise building such projects gives:

 warning APPX1901: The DefaultLanguage property is either missing from
                   the project file or does not have a value
2015-01-29 14:30:29 -05:00
Robert Goulet 4c5574a15d VS: Add missing newlines to .vcxproj generation 2015-01-29 14:29:01 -05:00
Brad King 326cfe2b30 Merge topic 'xcode-revise-make-program'
ab9fa54d Xcode: Switch to internal CMAKE_MAKE_PROGRAM lookup by generator (#15324)
11e2e6ca Xcode: Select make program at build time
e4055a61 Xcode: Add internal API to find xcodebuild
2015-01-29 09:14:00 -05:00
Brad King 98659aecfd Merge topic 'vs-shader-flags'
4775c901 VS: Add source file property to set extra hlsl shader flags
2015-01-29 09:13:58 -05:00
Brad King 983a98e5b8 Merge topic 'ctest-update-gmake-error-match'
d52b5f88 ctest_build: Update GNU make error message matching (#15379)
2015-01-29 09:13:56 -05:00
Brad King abec4213d6 Merge topic 'fix-OBJECT_DEPENDS-after-path-normalization'
9259d778 Normalize OBJECT_DEPENDS paths to match custom commands (#15366)
2015-01-29 09:13:53 -05:00
Brad King ab9fa54d48 Xcode: Switch to internal CMAKE_MAKE_PROGRAM lookup by generator (#15324)
The "cmakexbuild" wrapper is not needed for Xcode 4 and above, and the
path to it may change when CMake moves.  Avoid storing a specific path
to a build program in CMakeCache.txt and instead compute the value for
CMAKE_MAKE_PROGRAM on demand.  However, if a user does set the value
explicitly then honor it.

This does for Xcode what commit v3.0.0-rc1~260^2~4 (VS: Switch to
internal CMAKE_MAKE_PROGRAM lookup by generators, 2013-11-15) did for
Visual Studio generators.
2015-01-29 09:11:11 -05:00
Kitware Robot 5968ad58fd CMake Nightly Date Stamp 2015-01-29 00:01:09 -05:00
Brad King 11e2e6cadf Xcode: Select make program at build time
Extend the change made in commit v3.0.0-rc1~260^2~16 (Teach
GenerateBuildCommand to find its own make program, 2013-11-13) to have
the Xcode generator pick between "xcodebuild" and CMake's own copy of
"cmakexbuild" at build time based on the version of Xcode.
2015-01-28 14:01:55 -05:00
Brad King e4055a6144 Xcode: Add internal API to find xcodebuild
Teach the Xcode generator to compute the location of this tool or the
cmakexbuild wrapper.  Add internal APIs to get the locations on demand.

Use the "cmakexbuild" wrapper for Xcode < 4, and "xcodebuild" for modern
Xcode.
2015-01-28 13:41:55 -05:00
Brad King 048fb8e3d0 Merge branch 'ctest-update-gmake-error-match' into release 2015-01-28 10:42:07 -05:00
Marco Nolden d52b5f8835 ctest_build: Update GNU make error message matching (#15379)
The "No rule to make target" error message of gmake is not correctly
recognized since GNU make changed the quoting style in commit 23c2b99e9d
(Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines,
2012-03-04).  Fix our regex to match both old and new quoting styles.
2015-01-28 10:32:06 -05:00
Robert Goulet 4775c90145 VS: Add source file property to set extra hlsl shader flags
Create a VS_SHADER_FLAGS source file property so that we can set all
other Visual Studio .hlsl shader file compilation flags.
2015-01-28 09:29:50 -05:00
Brad King e6214b9a52 Merge branch 'fix-OBJECT_DEPENDS-after-path-normalization' into release 2015-01-28 09:07:44 -05:00
Brad King 9259d77881 Normalize OBJECT_DEPENDS paths to match custom commands (#15366)
Custom command path normalization added in commit v3.1.0-rc1~471^2
(add_custom_command: Normalize OUTPUT and DEPENDS paths, 2014-05-28)
broke use of OBJECT_DEPENDS to bring in custom commands because the
latter paths were not normalized too.  Normalize them and add a test
case.

Reported-by: Daniel v. Gerpen
2015-01-28 09:06:21 -05:00
Kitware Robot 0d59fa3ca4 CMake Nightly Date Stamp 2015-01-28 00:01:09 -05:00
Brad King a47b904db2 Merge topic 'file-strings-utf-16'
1f77a700 file: Teach STRINGS to support UTF-16 and UTF-32 encodings
2015-01-27 11:36:45 -05:00
Justin Borodinsky 1f77a7001b file: Teach STRINGS to support UTF-16 and UTF-32 encodings 2015-01-27 11:30:26 -05:00
Brad King af9cf04647 Merge topic 'cmake-E-tar-files-from'
44fd71de cmake: Teach "-E tar" command a "--files-from=" option
2015-01-27 11:22:08 -05:00
Brad King d1b3370d52 Merge topic 'cmake-gui-osx'
8ced6375 cmake-gui: Shrink spacing between search field and checkbox.
b46a1519 cmake-gui: Change install buttons to activate on clicked instead of pressed.
c19539c5 cmake-gui: Fix install menu to be available for Qt5 builds on OS X.
2015-01-27 11:22:01 -05:00
Brad King ef6d030c95 Merge topic 'cmake-builtin-targets-use-ninja-terminal'
bbffaa0e Configure some CMake-provided targets with USES_TERMINAL (#14915)
2015-01-27 11:21:59 -05:00
Brad King 4ef0f7f62f Merge topic 'load-initial-cache-from-stderr-to-stdout'
6cc0f6b5 cmake: Display "loading initial cache" message on stdout
2015-01-27 11:21:57 -05:00
Sylvain Joubert bbffaa0e6c Configure some CMake-provided targets with USES_TERMINAL (#14915)
This will make them use the 'console' pool with the Ninja generator.
Impacted targets are:
- Built-in targets: install, install/local, install/strip, tests,
  package, package_source, rebuild_cache
- Targets provided by the CTestTargets module: Nightly, Continuous,
  Experimental,
  and all their variants (*Start, *Configure, ...)
2015-01-27 11:16:48 -05:00
Kitware Robot 82ba50390f CMake Nightly Date Stamp 2015-01-27 00:01:10 -05:00
Brad King 44fd71decb cmake: Teach "-E tar" command a "--files-from=" option
Read file names from the lines of a specified file.  Reject input lines
starting in '-' to leave room for option parsing to be added later.  Add
just '--add-file=' now to allow files starting in '-' to be specified.
2015-01-26 13:28:31 -05:00
Kevin Wojniak 8ced6375df cmake-gui: Shrink spacing between search field and checkbox.
This allows the search field to show on OS X Yosemite
2015-01-26 09:22:21 -07:00
Kevin Wojniak b46a15194b cmake-gui: Change install buttons to activate on clicked instead of pressed.
This matches the behavior of other buttons.
2015-01-26 09:21:36 -07:00
Kevin Wojniak c19539c594 cmake-gui: Fix install menu to be available for Qt5 builds on OS X. 2015-01-26 09:20:49 -07:00
Brad King 8def82585c Merge topic 'try-run-link-libraries'
d0adcccb try_run: Add tests for LINK_LIBRARIES with mock libraries.
223c5cb7 try_run: Add test for bad link libraries.
e2b1f058 try_run: Add support for LINK_LIBRARIES option.
2015-01-26 10:28:25 -05:00
Matt McCormick e2b1f0583f try_run: Add support for LINK_LIBRARIES option.
Most functionality is already implemented in Source/cmCoreTryCompile.{h,cxx}.
Document and improve argument parsing.

This functionality is already being used by a number of modules, like
CheckCSourceCompiles.cmake, but it is not documented.
2015-01-26 10:05:26 -05:00
Brad King cb243cce13 Merge topic 'update-kwsys'
391748d5 Merge branch 'upstream-kwsys' into update-kwsys
0b9aad75 KWSys 2015-01-23 (d4e7f08e)
2015-01-26 09:51:55 -05:00
Brad King dfdcc42c60 Merge topic 'ninja-rsp_file-calculation'
097e26f4 ninja: use the minimum of all command line length limits (#14892)
2015-01-26 09:51:53 -05:00
Brad King 1337576b24 Merge topic 'curl-default-cainfo'
0abd3e53 cmake: Use a default CA path when not using system curl
6ce346c5 curl: Add CURL_CA_PATH option to CMake build process
2015-01-26 09:51:50 -05:00
Jean-Christophe Fillion-Robin 6cc0f6b512 cmake: Display "loading initial cache" message on stdout
This message has been on stderr since the "-C" option was first added,
but it is informational and not an error.  Other informational messages
go to stdout, so send this one there too.
2015-01-26 09:44:44 -05:00
Kitware Robot e71c35ff26 CMake Nightly Date Stamp 2015-01-26 00:01:09 -05:00
Kitware Robot 5a9d54a67a CMake Nightly Date Stamp 2015-01-25 00:01:08 -05:00
Brad King 391748d57e Merge branch 'upstream-kwsys' into update-kwsys 2015-01-24 07:38:51 -05:00
Kitware Robot 97502ba77b CMake Nightly Date Stamp 2015-01-24 00:01:09 -05:00
Brad King 482c84759f KWSys Directory: Check opendir return value before using it (#15367)
In Directory::GetNumberOfFilesInDirectory add a missing check for NULL.
2015-01-23 13:19:07 -05:00
Ben Boeckel 097e26f490 ninja: use the minimum of all command line length limits (#14892)
When choosing whether to use a response file, consider several possible
command line length limits for the current operating system, and choose
the smallest.
2015-01-23 10:54:13 -05:00
Brad King 154bf8da99 Merge topic 'INTERFACE_SYSTEM_INCLUDE_DIRECTORIES-update'
85857e6d Help: Clarify INTERFACE_SYSTEM_INCLUDE_DIRECTORIES documentation.
ee38062b IncludeDirectories: Respect SYSTEM flag when using CONFIG genex.
2015-01-23 10:50:31 -05:00
Brad King 0abd3e538e cmake: Use a default CA path when not using system curl
When using system curl, we trust it to be configured with desired CA
certs.  When using our own build of curl, we use os-configured CA certs
on Windows and OS X.  On other systems, try to achieve this by searching
for common CA cert locations.  According to a brief investigation, the
curl packages on popular Linux distros are currently configured as:

* Arch: /etc/ssl/certs/ca-certificates.crt
* Debian with OpenSSL: /etc/ssl/certs
* Debian with GNU TLS: /etc/ssl/certs/ca-certificates.crt
* Debian with NSS: /etc/ssl/certs/ca-certificates.crt
* Fedora: /etc/pki/tls/certs/ca-bundle.crt
* Gentoo with OpenSSL: /etc/ssl/certs
* Gentoo without OpenSSL: /etc/ssl/certs/ca-certificates.crt

Teach CMake and CTest to look for these paths and use them as a CA path
or bundle when no other os-configured or user-specified CAs are
available.
2015-01-23 08:57:32 -05:00
Kitware Robot c99e19a4ac CMake Nightly Date Stamp 2015-01-23 00:01:16 -05:00
Stephen Kelly ee38062be8 IncludeDirectories: Respect SYSTEM flag when using CONFIG genex.
Update the Makefile and Ninja generators to use the config when
requesting the include flags.
2015-01-23 00:08:18 +01:00
Brad King c0298947ff Merge topic 'cdash_upload_file_mode'
f3e0b6f1 CTestCoverageCollectGCOV: Add module to run gcov
6dd980e0 ctest_submit: Make CDASH_UPLOAD mode arguments more strict
5dc33f89 ctest_submit: Add CDASH_UPLOAD mode to upload files to CDash
2015-01-22 11:16:45 -05:00
Brad King 3eda92df91 Merge topic 'update-kwsys'
7e468cd8 Merge branch 'upstream-kwsys' into update-kwsys
77444a7d KWSys 2015-01-20 (b33e7b96)
2015-01-22 09:50:40 -05:00
Kitware Robot afe99212d2 CMake Nightly Date Stamp 2015-01-22 00:01:09 -05:00
Brad King 40c11f0f62 Merge topic 'jsoncpp-third-party'
27c6da93 Add option to build CMake against a system jsoncpp
2015-01-21 16:36:22 -05:00
Brad King 7e468cd8f9 Merge branch 'upstream-kwsys' into update-kwsys 2015-01-21 09:15:44 -05:00
Kitware Robot f709776864 CMake Nightly Date Stamp 2015-01-21 00:01:10 -05:00
Brad King 57622bd19d CMake 3.1.1 2015-01-20 11:04:44 -05:00
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 6dd980e0ef ctest_submit: Make CDASH_UPLOAD mode arguments more strict
Disallow mixing of arguments from different command signatures.
Extend the RunCMake.CTestSubmit test to cover such error cases.
2015-01-20 09:33:21 -05:00
Bill Hoffman 5dc33f89b5 ctest_submit: Add CDASH_UPLOAD mode to upload files to CDash
This adds support for the new cdash API where arbitrary files can be
uploaded to the CDash server.  This CDash API communicates via json
files so the json parser jsoncpp was added to the Utilities directory.
2015-01-20 09:33:21 -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 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 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
Kitware Robot 70eb44b7dc CMake Nightly Date Stamp 2015-01-20 00:01:17 -05: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 5806f6c5e6 Merge branch 'xcode-target-sort' into release 2015-01-19 13:57:29 -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