27627 Commits

Author SHA1 Message Date
Stephen Kelly
7bb4e3db06 cmMakefile: Out-of-line Home directory accessors. 2015-04-12 23:10:44 +02:00
Stephen Kelly
6241253a4b cmake: Out-of-line Home and Start directory methods. 2015-04-12 23:10:44 +02:00
Stephen Kelly
0ee3ccb3b0 cmake: Fix variable name bugs. 2015-04-12 23:10:44 +02:00
Stephen Kelly
57dd094ede Use vector, not list for cmCommand storage. 2015-04-12 20:09:47 +02:00
Stephen Kelly
6deb43e6c8 Remove some files which do not need to be in BootstrapCommands. 2015-04-12 20:09:31 +02:00
Stephen Kelly
ecdb1b3bba Add some missing includes. 2015-04-12 20:09:25 +02:00
Stephen Kelly
04b307b961 cmake: Simplify CommandExists method. 2015-04-12 20:08:49 +02:00
Stephen Kelly
0f1f324b0d cmake: Rename oddly named variables. 2015-04-12 20:08:49 +02:00
Stephen Kelly
275185ac2b cmake: Constify GetCommand method. 2015-04-12 20:08:49 +02:00
Stephen Kelly
c57f086a81 cmake: Don't lower-case a string needlessly. 2015-04-12 20:08:48 +02:00
Stephen Kelly
23368c9b83 cmake: Use make_pair instead of Foo::value_type.
It works with all supported compilers.
2015-04-12 20:08:48 +02:00
Stephen Kelly
14c70b8c58 cmake: out-of-line try compile state methods. 2015-04-12 20:08:48 +02:00
Stephen Kelly
6ed19e615b cmake: Remove duplicate condition. 2015-04-12 20:08:47 +02:00
Stephen Kelly
ade20b433b cmake: Remove DebugConfigs member.
It adds needless complexity to global property handling.
2015-04-12 20:08:47 +02:00
Stephen Kelly
6fb306ea3b Test expected value of DEBUG_CONFIGURATIONS global property. 2015-04-12 20:08:46 +02:00
Stephen Kelly
7450a2c6ed cmake: Remove method with no external users.
Port internal users to access the member.
2015-04-12 20:08:46 +02:00
Stephen Kelly
8c13d7709b cmake: Don't set the CMakeInstance on the Properties member.
There is no need, as global properties have nowhere to chain up
to.
2015-04-12 20:08:45 +02:00
Stephen Kelly
55ecd818f6 cmGlobalGenerator: Store languages as vector, not map.
The second component of the map is never used.
2015-04-12 20:08:42 +02:00
Kitware Robot
18b58b618c CMake Nightly Date Stamp 2015-04-11 00:01:13 -04:00
Brad King
10859b97eb Merge topic 'tar-write-format'
6c4781ba Tests: Consolidate, refactor and extend -E tar tests
fd04d873 CTestCoverageCollectGCOV: Write tar files intended for CDash in gnutar format
d2cc5807 cmake: Teach "-E tar" command a "--format=" option
2015-04-10 08:33:00 -04:00
Nils Gladitz
6c4781baa9 Tests: Consolidate, refactor and extend -E tar tests 2015-04-10 08:32:32 -04:00
Nils Gladitz
fd04d87323 CTestCoverageCollectGCOV: Write tar files intended for CDash in gnutar format
PHP's PharData can not currently (PHP 5.6.4) extract paxr tar archives
with long filenames.
2015-04-10 08:32:31 -04:00
Nils Gladitz
d2cc580704 cmake: Teach "-E tar" command a "--format=" option
Allows specifying a libarchive defined archive format currently restricted to
7zip, gnutar, pax, paxr and zip.

The default is "paxr" (pax restricted).
2015-04-10 08:32:31 -04:00
Brad King
1264c5b2c4 Merge topic 'FindCUDA.cmake/CUDA_SOURCE_FILE'
1b0c77a3 FindCUDA: Add specific cuda_language_flag instead of using nvcc.
8313de2d FindCUDA: Allow setting CUDA_SOURCE_PROPERTY_FORMAT for non-.cu files.
2015-04-10 08:31:03 -04:00
Brad King
8b4c40155a Merge topic 'fix-libarchive-mktemp'
1f33b45d libarchive: Fix string concatentation in Windows mktemp implementation
2015-04-10 08:31:01 -04:00
Brad King
4411d1d779 Merge topic 'simplify-osx-install-prefix'
73dcba51 Simplify logic to compute install prefix in OS X CMake.app
2015-04-10 08:30:59 -04:00
Kitware Robot
a74d558d10 CMake Nightly Date Stamp 2015-04-10 00:01:05 -04:00
Brad King
bb891710cf Merge topic 'fix-libarchive-gnutar-large-ids'
ad194ae0 libarchive: Use base-256 encoding for UID/GID like GNU tar does
2015-04-09 14:28:23 -04:00
Nils Gladitz
ad194ae0b1 libarchive: Use base-256 encoding for UID/GID like GNU tar does 2015-04-09 14:27:16 -04:00
Brad King
f941ed7a8f Merge topic 'fix-liblzma-optimize'
e5d336be liblzma: Disable GNU 3.3 compiler optimizations
a2df4a3f liblzma: Disable XL compiler optimizations altogether
2015-04-09 14:19:29 -04:00
Tim Kientzle
1f33b45d5d libarchive: Fix string concatentation in Windows mktemp implementation
Port upstream LibArchive commit "compute string pointers after
concatenation" (2014-09-25) and commit "Move variables to top of
function for non-C99 compilers" (2014-11-15) to our CMake copy.
Otherwise we may compute a pointer to memory that is about to be freed
and then compute a bad size to give to CryptGenRandom.

Inspired-by: Tim Kientzle <kientzle@gmail.com>
2015-04-09 14:08:43 -04:00
James Bigler
1b0c77a33d FindCUDA: Add specific cuda_language_flag instead of using nvcc.
I was previously appending to nvcc_flags inside the file loop.  This
caused the flag to be appended multiple times which freaks out nvcc.
Now the flag is specifically handled per file.
2015-04-09 11:41:36 -04:00
James Bigler
8313de2d5a FindCUDA: Allow setting CUDA_SOURCE_PROPERTY_FORMAT for non-.cu files.
A previously undocumented feature allowed overriding the format
specified to CUDA_WRAP_SRCS with a source file property called
CUDA_SOURCE_PROPERTY_FORMAT.  I added documentation for this feature as
well as added the ability to let nvcc compile any file regardless of
type if this property was found.

In addition, I also fixed a couple of bugs with the calls to
_cuda_get_important_host_flags that weren't garding the arguments with
"" to prevent empty values from causing errors.
2015-04-09 11:41:36 -04:00
Brad King
48040c19d5 Merge topic 'FindCUDA.cmake/C++11Flags'
99abebde FindCUDA: Handle c++11 host flag
2015-04-09 11:32:39 -04:00
Brad King
26d6c095d6 Merge topic 'refactor-cache-api'
ba404938 cmCacheManager: Port consumers to non-iterator API.
f3922a9a Port QtDialog to non-iterator cache API.
3e6a76e4 Port CursesDialog to non-iterator cache API.
9e641567 cmMakefile: Port away from CacheEntry.Initialized.
1e2dbfce cmCacheManager: Add non-iterator-based API.
60a62a91 cmCacheManager: Return a C string from GetValue.
77f2807c cmCacheManager: Rename GetCacheValue to GetInitializedCacheValue.
14973054 Add API for cache loading, deleting and saving to the cmake class.
1f2c12eb cmMakefile: Remove cache version accessors.
97c50a8d cmMakefile: Simplify GetDefinitions implementation.
2015-04-09 11:32:36 -04:00
Brad King
81f627d53b Merge topic 'cmake-command-line-help-vs-arch'
1e384337 cmake: Show in --help how to select VS target platform (#15422)
2015-04-09 11:32:34 -04:00
Brad King
1a1bdbfd87 Merge topic 'link-implicit-libs-full-path'
882f48e5 Link libraries by full path even in implicit directories
318cd370 Help: Add link target for Find Modules section of cmake-developer.7
1535dcd8 Tests: Teach RunCMake to optionally merge command output to stdout
2015-04-09 11:32:31 -04:00
Brad King
882f48e5ba Link libraries by full path even in implicit directories
When CMP0003 was first introduced we wanted to link all libraries by
full path.  However, some projects had problems on platforms where
find_library would find /usr/lib/libfoo.so when the project really
wanted to link to /usr/lib/<arch>/libfoo.so and had been working by
accident because pre-CMP0003 behavior used -lfoo to link.

We first tried to address that in commit v2.6.0~440 (Teach find_library
to avoid returning library paths in system directories, 2008-01-23) by
returning just "foo" for libraries in implicit link directories.  This
caused problems for projects expecting find_library to always return a
full path.  We ended up using the solution in commit v2.6.0~366 (...
switch library paths found in implicit link directories to use -l,
2008-01-31).  However, the special case for libraries in implicit link
directories has also proven problematic and confusing.

Introduce policy CMP0060 to switch to linking all libraries by full path
even if they are in implicit link directories.  Explain in the policy
documentation the factors that led to the original approach and now to
this approach.
2015-04-09 11:29:18 -04:00
Brad King
73dcba5181 Simplify logic to compute install prefix in OS X CMake.app
Also avoid explicitly dereferencing a variable in an if() condition.
2015-04-09 08:02:40 -04:00
Kitware Robot
3049951b62 CMake Nightly Date Stamp 2015-04-09 00:01:05 -04:00
James Bigler
99abebdea0 FindCUDA: Handle c++11 host flag
If the host flags contain a c++11 flag (at least for gcc), then we can't
automatically propagate to nvcc it using -Xcompiler.  This is because
nvcc can't use any C++ only flags.  Instead we find this flag and add it
to nvcc's flags (it has a special flag for dealing with c++11 code) and
remove it from the host flags.

Co-Author: Guillermo Marcus <gmarcus@nvidia.com>
2015-04-08 16:25:47 -04:00
Brad King
e5d336beb2 liblzma: Disable GNU 3.3 compiler optimizations
The GNU 3.3 optimizer causes bad behavior in liblzma, so disable it.
2015-04-08 13:52:02 -04:00
Brad King
a2df4a3f76 liblzma: Disable XL compiler optimizations altogether
Revert commit 82c51a8a (liblzma: Disable XL compiler optimizations in
one source to avoid crash, 2015-04-02) and instead add a compiler flag
to disable optimizations in every source of liblzma.  Somehow the XL
compiler optimizations create incorrect behavior in liblzma and lead
to crashes or truncated output during compression.
2015-04-08 13:08:53 -04:00
Stephen Kelly
ba404938a2 cmCacheManager: Port consumers to non-iterator API.
This simplifies reasoning about the follow-up commit which ports
away from cmCacheManager to a class with the same method names.
2015-04-08 18:47:00 +02:00
Stephen Kelly
f3922a9a5b Port QtDialog to non-iterator cache API. 2015-04-08 18:47:00 +02:00
Stephen Kelly
3e6a76e48b Port CursesDialog to non-iterator cache API. 2015-04-08 18:47:00 +02:00
Stephen Kelly
9e64156725 cmMakefile: Port away from CacheEntry.Initialized.
The API has no other external users.
2015-04-08 18:47:00 +02:00
Stephen Kelly
1e2dbfce37 cmCacheManager: Add non-iterator-based API.
The iterator pattern is an unusual one for CMake, and it hinders
refactoring all configuration-time data manipulation into a
single class.
2015-04-08 18:47:00 +02:00
Stephen Kelly
60a62a91c4 cmCacheManager: Return a C string from GetValue.
This is for consistency with other CMake access interfaces such as
definitions and properties which use a null value as a 'not present'
value.  It is source compatible with existing callers, and it returns
a pointer into actual real cache entry storage.
2015-04-08 18:45:51 +02:00
Brad King
f3be6c1b9b Merge topic 'FindMatlab_add_recent_versions'
7e311773 FindMatlab: Look for R2014b and R2015a
2015-04-08 09:42:17 -04:00