Commit Graph

18104 Commits

Author SHA1 Message Date
Kitware Robot 1f305902be CMake Nightly Date Stamp 2015-04-24 00:01:05 -04:00
Brad King ebb54e02c4 Merge topic 'cpack-deb-linitian-md5hash'
75b0e167 CPackDeb: Add basic package tests
fdfe4586 CPackDeb: Fix lintian md5sum file warning
2015-04-23 09:04:43 -04:00
Brad King ad247d82b1 Merge topic 'mingw-64'
c775072a cmGeneratorExpressionEvaluationFile: Add missing sys/types.h include
2015-04-23 09:04:37 -04:00
Brad King 195a724c57 Merge topic 'deterministic-CTest-tests'
b5b20d20 ctest: Treat ENV{CTEST_OUTPUT_ON_FAILURE} as a boolean
fcf9cf6c Tests: Make a CTest test deterministic.
2015-04-23 09:04:33 -04:00
Raffi Enficiaud fdfe4586a0 CPackDeb: Fix lintian md5sum file warning
Lintian warned about invalid md5sum file permissions.
2015-04-23 09:02:49 -04:00
Kitware Robot b229f40f07 CMake Nightly Date Stamp 2015-04-23 00:01:05 -04:00
Brad King df302bcc55 Merge topic 'autogen-no-rcc-stderr'
258ba828 QtAutogen: Process 'rcc --list' stdout and stderr separately (#15523)
acd4f01f cmQtAutoGenerators: Split CR stripping out to helper function
2015-04-22 11:16:33 -04:00
Brad King c775072ad5 cmGeneratorExpressionEvaluationFile: Add missing sys/types.h include
This is needed for 'mode_t', and on mingw-w64 in particular.  We added
use of 'mode_t' in commit v3.2.0-rc1~421^2 (file(GENERATE): Use
permissions of input file if present, 2014-07-22).
2015-04-22 09:59:51 -04:00
Brad King b5b20d2050 ctest: Treat ENV{CTEST_OUTPUT_ON_FAILURE} as a boolean
Having this variable in the environment should not be enough to activate
the behavior.  It must also not be set to a false value (or empty value).
2015-04-22 08:27:19 -04:00
Kitware Robot 6b229b4802 CMake Nightly Date Stamp 2015-04-22 00:01:05 -04:00
Brad King faede40b46 cmComputeLinkInformation: Reduce 'if' nesting in AddItem
Also add a comment explaining why interface libraries still get a link
item.
2015-04-21 14:03:02 -04:00
Brad King 5a5ef00106 Merge topic 'clean-up-cmMakefile'
8dc3a67c cmMakefile: Out-of-line the directory methods.
0f3c8cfa cmMakefile: Use method abstraction to access directories.
b288a997 cmMakefile: Rename SetStart* directory API to SetCurrent*.
932d53bc cmMakefile: Remove redundant method duplication.
32b8f03a cmMakefile: Port users of GetStart* methods to new names.
54d6a918 cmMakefile: Rename GetCurrent{Output,Binary}Directory.
55d80d0a cmMakefile: Rename GetCurrent{,Source}Directory.
b23cf06f cmake: Remove redundant start directories.
fcf246ac cmMakefile: Populate Home directories on initialize.
8878bea7 cmake: Initialize Home directories on cmake for find-package mode.
044dc815 Use the Home directories from the cmake class where intended.
d67e8f24 cmake: Fix directory used to find the cache
1ea085d1 cmMakefile: Initialize dir definitions early.
f034bb2f Remove redundant calls to MakeStartDirectoriesCurrent.
3a68c323 cmMakefile: Fix wrong parameter names.
2015-04-21 09:42:07 -04:00
Stephen Kelly 8dc3a67c9c cmMakefile: Out-of-line the directory methods. 2015-04-21 09:41:27 -04:00
Stephen Kelly 0f3c8cfa96 cmMakefile: Use method abstraction to access directories. 2015-04-21 09:41:27 -04:00
Brad King 81c01d4a34 Merge topic 'disable-cmMakefile-copy'
80909041 cmMakefile: Disable copy constructor.
f3af9517 CPack: Don't copy cmMakefile. Just push a scope instead.
2015-04-21 09:39:53 -04:00
Brad King 258ba82882 QtAutogen: Process 'rcc --list' stdout and stderr separately (#15523)
The stderr may have warning messages.  We should not treat these lines
as resource files.  However, we must still recognize error message lines
for missing resource files that may be generated.

Extend the QtAutogen test to cover a generated resource as the only one
listed in a .qrc file.  This causes 'rcc --list' to print a warning to
stderr that we now intend to ignore.
2015-04-21 09:33:19 -04:00
Brad King acd4f01fd8 cmQtAutoGenerators: Split CR stripping out to helper function 2015-04-21 09:05:12 -04:00
Domen Vrankar c8375e15eb CPackDeb: Refactor package variable lookup by generator
Preparation for per component variables.
Patch makes sure we know which variables
will be set for per component generator
and also prevents accidental overflows
of variable values between components.
2015-04-21 08:47:18 -04:00
Brad King b2289ff654 Merge topic 'cmSystemTools-RunSingleCommand-stderr'
356c26eb cmSystemTools: Teach RunSingleCommand to separate stdout and stderr
2015-04-21 08:45:01 -04:00
Kitware Robot 17b0526ee7 CMake Nightly Date Stamp 2015-04-21 00:01:06 -04:00
Stephen Kelly 8090904198 cmMakefile: Disable copy constructor.
It is no longer necessary to be able to copy it.  Additionally, this
gives us one less reason to copy cmTarget.
2015-04-21 00:26:37 +02:00
Stephen Kelly f3af9517ff CPack: Don't copy cmMakefile. Just push a scope instead. 2015-04-21 00:21:53 +02:00
Stephen Kelly b288a997e9 cmMakefile: Rename SetStart* directory API to SetCurrent*. 2015-04-21 00:15:20 +02:00
Stephen Kelly 932d53bc02 cmMakefile: Remove redundant method duplication. 2015-04-21 00:15:20 +02:00
Stephen Kelly 32b8f03acc cmMakefile: Port users of GetStart* methods to new names. 2015-04-21 00:15:20 +02:00
Stephen Kelly 54d6a9187f cmMakefile: Rename GetCurrent{Output,Binary}Directory.
Match names used in CMake code.
2015-04-21 00:12:52 +02:00
Stephen Kelly 55d80d0a85 cmMakefile: Rename GetCurrent{,Source}Directory.
Match the names used in cmake code.
2015-04-21 00:12:52 +02:00
Stephen Kelly b23cf06f86 cmake: Remove redundant start directories.
They are maintained as containing the same content as the 'home'
directories, but they are never read from.

Fix some comments and help strings which confused the two by
name. They actually mean what is called CMAKE_SOURCE_DIR in
cmake code.
2015-04-21 00:12:51 +02:00
Stephen Kelly fcf246acd1 cmMakefile: Populate Home directories on initialize. 2015-04-21 00:12:51 +02:00
Stephen Kelly 8878bea7b6 cmake: Initialize Home directories on cmake for find-package mode.
The Home directories can be used to initialize cmMakefile directories
internally.
2015-04-21 00:12:51 +02:00
Stephen Kelly 044dc81504 Use the Home directories from the cmake class where intended. 2015-04-21 00:12:51 +02:00
Stephen Kelly d67e8f24b8 cmake: Fix directory used to find the cache
The start and home directories are the same, but the intent of the
code here is to use what is currently called the HomeOutput directory.
2015-04-21 00:12:51 +02:00
Stephen Kelly 1ea085d1b6 cmMakefile: Initialize dir definitions early. 2015-04-21 00:12:51 +02:00
Stephen Kelly f034bb2f54 Remove redundant calls to MakeStartDirectoriesCurrent.
The SetStart{,Output}Directory methods do what it does.
2015-04-21 00:12:51 +02:00
Stephen Kelly 3a68c323ba cmMakefile: Fix wrong parameter names. 2015-04-21 00:12:51 +02:00
Brad King 356c26ebdf cmSystemTools: Teach RunSingleCommand to separate stdout and stderr
Extend the RunSingleCommand signature to capture stdout and stderr
separately.  Allow both to be captured to the same std::string
to preserve existing behavior.  Update all call sites to do this
so that this refactoring does not introduce functional changes.
2015-04-20 15:47:50 -04:00
Brad King f438cd3731 Merge topic 'clean-up-ReadListFile'
05245b42 cmMakefile: Move some preamble out of the Internal method.
6e23a4bd cmMakefile: Remove always-null first parameter to ReadListFile.
d21ebcb2 cmMakefile: Swap parameters of calls to ReadListFile.
95a27267 cmMakefile: Extract conditional code to caller.
7d248547 cmMakefile: Remove intermediate variable.
9db15954 cmMakefile: Move condition to the only calling context where it is true.
5d4480a8 cmMakefile: Populate CMAKE_PARENT_LIST_FILE in callers.
3a8ac242 cmMakefile: Collapse nested conditional.
5947d9b0 cmMakefile: Convert filenametoread into a std::string.
e2d0e0fb cmMakefile: Remove intermediate variable.
3a1ad171 cmMakefile: Combine duplicate condition.
f0dae032 cmMakefile: Re-order independent statements.
08da8742 cmMakefile: Split a conditional.
3dc4fe02 cmMakefile: Re-order independent variable setting.
e4f8f1f1 cmMakefile: Remove intermediate variable.
2d6121a9 cmMakefile: Remove use of intermediate variable.
...
2015-04-20 14:37:05 -04:00
Brad King 5e0e65c189 Merge topic 'add-GreenHills-MULTI-generator'
66b641f4 Help: Add notes for topic 'add-GreenHills-MULTI-generator'
48004d9d Add a 'Green Hills MULTI' generator on Windows
051d8be1 cmLocalGenerator: Constify some cmTarget and cmGeneratorTarget arguments
2015-04-20 14:02:52 -04:00
Brad King da65528c36 Merge topic 'stable-xcode-projects'
6693590f Xcode: Refine quoting rules for Strings
a6331eb8 Xcode: Let PrintComment decide if the comment is non-empty
6e8952c1 Xcode: PrintComment will prepend a whitespace itself before the comment
4bd2544b Xcode: Do not add whitespace after attribute group opening brace
5cb4c838 Xcode: Properly indent PBXFileReference and PBXBuildFile
a723427b Xcode: Remove extra space in PBXProject comment
2fe8bca5 Xcode: Add comment after root object
2e0e205e Xcode: Indent using tabs
7b68c8df Xcode: Sort Xcode objects by Id
2015-04-20 14:02:48 -04:00
Geoff Viola 48004d9dbe Add a 'Green Hills MULTI' generator on Windows
Green Hills MULTI is an IDE for embedded real-time systems.  The IDE's
product page can be found here:

 http://www.ghs.com/products/MULTI_IDE.html

It supports cross compiling on ARM, Intel x86, and other architectures
with various operating systems.  The IDE exists on Linux and Windows
host systems, but CMake will currently only generate the project files
on Windows host systems.
2015-04-20 13:55:40 -04:00
Kitware Robot 73ff279d07 CMake Nightly Date Stamp 2015-04-20 00:01:04 -04:00
Kitware Robot 4c00a37289 CMake Nightly Date Stamp 2015-04-19 00:01:06 -04:00
Stephen Kelly 05245b4229 cmMakefile: Move some preamble out of the Internal method. 2015-04-18 15:31:18 +02:00
Stephen Kelly 6e23a4bddd cmMakefile: Remove always-null first parameter to ReadListFile. 2015-04-18 15:31:18 +02:00
Stephen Kelly d21ebcb244 cmMakefile: Swap parameters of calls to ReadListFile.
The version with a null first parameter is now equivalent.
2015-04-18 15:31:18 +02:00
Stephen Kelly 95a27267da cmMakefile: Extract conditional code to caller. 2015-04-18 15:31:17 +02:00
Stephen Kelly 7d24854736 cmMakefile: Remove intermediate variable. 2015-04-18 15:31:17 +02:00
Stephen Kelly 9db1595410 cmMakefile: Move condition to the only calling context where it is true.
Call the Internal method with equivalent parameters, passing a null first
argument.

A duplicate path computation exists inside the external_in condition now,
but that is harmless at this point.
2015-04-18 15:31:11 +02:00
Stephen Kelly 5d4480a8c7 cmMakefile: Populate CMAKE_PARENT_LIST_FILE in callers.
Because all external callers of this method pass a null first
parameter, this change has no effect for them.

This also makes it obvious that the CMAKE_PARENT_LIST_FILE is set to
the name of the file being read itself for CMakeLists.txt files,
which may not make any sense.
2015-04-18 15:29:20 +02:00
Stephen Kelly 3a8ac2423e cmMakefile: Collapse nested conditional. 2015-04-18 15:29:19 +02:00
Stephen Kelly 5947d9b031 cmMakefile: Convert filenametoread into a std::string.
Remove other intermediate variables.
2015-04-18 15:29:19 +02:00
Stephen Kelly e2d0e0fbeb cmMakefile: Remove intermediate variable. 2015-04-18 15:29:19 +02:00
Stephen Kelly 3a1ad1713f cmMakefile: Combine duplicate condition. 2015-04-18 15:29:19 +02:00
Stephen Kelly f0dae032ee cmMakefile: Re-order independent statements. 2015-04-18 15:29:19 +02:00
Stephen Kelly 08da874270 cmMakefile: Split a conditional. 2015-04-18 15:29:19 +02:00
Stephen Kelly 3dc4fe02e6 cmMakefile: Re-order independent variable setting. 2015-04-18 15:29:19 +02:00
Stephen Kelly e4f8f1f1b7 cmMakefile: Remove intermediate variable. 2015-04-18 15:29:18 +02:00
Stephen Kelly 2d6121a9a7 cmMakefile: Remove use of intermediate variable. 2015-04-18 15:29:18 +02:00
Stephen Kelly bdd4c5f5ba cmMakefile: Move variable definition above a condition. 2015-04-18 15:29:18 +02:00
Stephen Kelly 524ce89542 cmMakefile: Change condition to its equivalent.
This makes it easier to reason about follow-up commits.
2015-04-18 15:29:18 +02:00
Stephen Kelly 813cd719c4 cmMakefile: Determine the file to read before calling Internal. 2015-04-18 15:29:18 +02:00
Stephen Kelly 5c201f1ee6 cmMakefile: Remove duplication in ReadListFile. 2015-04-18 15:29:18 +02:00
Stephen Kelly 0d9555779d cmMakefile: Delegate ListFile reading to internal method. 2015-04-18 15:29:17 +02:00
Stephen Kelly 846608f267 cmMakefile: Remove useless condition. 2015-04-18 15:29:17 +02:00
Stephen Kelly a2f2aeee2f cmMakefile: Add wrapper for reading listfiles which have an origin.
Such files are delegates from other files, and so they set the
CMAKE_PARENT_LIST_FILE to the originator.  They also may set a
policy scope.
2015-04-18 15:29:17 +02:00
Stephen Kelly 68f791cd06 cmMakefile: Add a method for processing buildsystem files.
These are different from other ListFiles in that a project() command is
required if it is top-level.
2015-04-18 15:29:17 +02:00
Stephen Kelly 5bb4248a80 cmMakefile: Remove fullPath parameter from ReadListFile.
There is no reason for this to be a responsibility of
ReadListFile.  Additionally, the only user of it already computes
it itself.
2015-04-18 15:29:17 +02:00
Stephen Kelly fc7ab8874b CPack: Read the config listfile in the normal way.
This is a unique function call in CMake, and it was likely a
programming error when introduced.  All other similar calls to
ReadListFile use a null first paramter.

The effect of this patch is to no-longer define CMAKE_PARENT_LIST_FILE
to the config file itself while evaluating it.

The ReadListFile method also no longer hits a condition that it uses
CollapseFullPath on the input file.  However, as cpack does not
set the StartDirectory anyway, this has no effect. See bug 15522.
2015-04-18 15:26:12 +02:00
Kitware Robot a0bc4a999d CMake Nightly Date Stamp 2015-04-18 00:01:06 -04:00
Gregor Jasny 6693590f81 Xcode: Refine quoting rules for Strings
$ and . do not need to be quoted, but brackets and * must be to
not confuse the Xcode parser.
2015-04-17 21:50:05 +02:00
Gregor Jasny a6331eb851 Xcode: Let PrintComment decide if the comment is non-empty 2015-04-17 21:50:05 +02:00
Gregor Jasny 6e8952c193 Xcode: PrintComment will prepend a whitespace itself before the comment 2015-04-17 21:50:05 +02:00
Gregor Jasny 4bd2544b25 Xcode: Do not add whitespace after attribute group opening brace
This suppresses the extra space that would be generated if the
separator is a space. The conditional block is also used in this
form elsewhere.
2015-04-17 21:50:04 +02:00
Gregor Jasny 5cb4c8380d Xcode: Properly indent PBXFileReference and PBXBuildFile
Move indent factor change behind indention of start-of-line.
2015-04-17 21:50:04 +02:00
Gregor Jasny a723427b64 Xcode: Remove extra space in PBXProject comment 2015-04-17 21:50:04 +02:00
Gregor Jasny 2fe8bca580 Xcode: Add comment after root object 2015-04-17 21:50:04 +02:00
Gregor Jasny 2e0e205e28 Xcode: Indent using tabs 2015-04-17 21:50:04 +02:00
Gregor Jasny 7b68c8df6b Xcode: Sort Xcode objects by Id
this patch series aims to minimize deltas between the CMake Xcode
generator and Xcode itself. It was started by the observation that
if one makes any change to the project within Xcode (e.g. to see
how a variable is called internally) the user cannot diff the CMake
project and the one stored by Xcode afterwards.

Xcode keeps the objects ordered by the object id.
Because cmake stores them into an unordered container
at creation time they must be sorted before writing the
pbxproj file.

I tested this series with Xcode 6.3 and Xcode 3.2. Both show a
reduced diff after this series was applied.
2015-04-17 21:49:05 +02:00
Brad King 1f1b62b0e2 Merge topic 'cpack-one-component-only'
ed0b0630 CPack: Fix single component packaging
2015-04-17 10:50:15 -04:00
Brad King 9efee16a7a Merge topic 'ninja-autogen'
e8fdd5f1 QtAutogen: Workaround rcc CRCRLF newlines on Windows (#15459)
15f1a6b4 Tests/QtAutogen: Avoid touching files in the source tree
3f7c7c65 Tests/QtAutogen: Help Qt5Autogen test find Qt5 on Windows
26b5cc5e Tests/QtAutogen: Enable per-config source tests when possible
45566408 Tests/QtAutogen: Require CMake 3.1 to set policies everywhere
2015-04-17 10:50:13 -04:00
Kitware Robot a4d201a747 CMake Nightly Date Stamp 2015-04-17 00:01:05 -04:00
Raffi Enficiaud ed0b063085 CPack: Fix single component packaging
Refine logic added in commit 0ffd3534 (CPack single component packaging,
2015-04-02).  Component packaging should be enabled if either at least
one component or one group is set and should not require both.
2015-04-16 16:29:33 -04:00
Brad King e8fdd5f12a QtAutogen: Workaround rcc CRCRLF newlines on Windows (#15459)
The 'rcc --list' operation may print newlines of the form CRCRLF,
so strip any trailing CR characters found on each line.

Update the Tests/QtAutogen test to use a resource named in a
subdirectory.  This causes 'rcc --list' to display a blank line
and tests that it is correctly filtered out.
2015-04-16 15:10:40 -04:00
Brad King 2ee128d9c8 Merge topic 'vs10-no-macros'
885ab9ab VS: Drop reload macros for VS >= 10 (#11258,#14680)
2015-04-16 09:58:50 -04:00
Brad King ab033b0789 Merge topic 'vs70-deprecate'
7b8e7c4a Deprecate Visual Studio 7 generator (.NET 2002)
2015-04-16 09:58:48 -04:00
Brad King 5a45497fc1 Merge topic 'vs6-deprecate'
85c2626b Deprecate Visual Studio 6 generator
2015-04-16 09:58:45 -04:00
Kitware Robot 532644ea14 CMake Nightly Date Stamp 2015-04-16 00:01:04 -04:00
Brad King 8469b6f694 Merge topic 'port-global-properties-to-cmState'
5d056c0d Port Global property interaction to cmState.
de722d7d Move property initialization to cmState.
9b5f80a8 Move global properties to cmState.
0076b5d8 cmake: Remove the happy global property scope pattern.
24b7f31d cmake: Remove unused cmCommand methods.
0aec4913 Port cmCommand consumers to cmState.
96f8c5f9 cmState: Move cmCommand-related methods from cmake class.
97e53ebb cmake: Simplify command clean up loop.
1e738bcf cmake: Simplify RemoveUnscriptableCommands algorithm.
62854e99 cmState: Move try_compile state from cmake class.
db8425be cmake: Get enabled languages from cmState.
74de9a73 cmGlobalGenerator: Delegate storage of enabled languages to cmState.
b159bff7 Move property definition to cmState.
2015-04-15 11:46:17 -04:00
Brad King fc579b91e0 Merge topic 'doc-ninja-non-experimental'
9ac05683 Ninja: Drop 'experimental' label in documentation
2015-04-15 11:46:12 -04:00
Stephen Kelly 5d056c0dd8 Port Global property interaction to cmState. 2015-04-15 11:43:50 -04:00
Stephen Kelly de722d7d63 Move property initialization to cmState. 2015-04-15 11:43:50 -04:00
Stephen Kelly 9b5f80a83c Move global properties to cmState. 2015-04-15 11:43:50 -04:00
Stephen Kelly 0076b5d834 cmake: Remove the happy global property scope pattern.
Global properties are already global in scope, so remove the
overload for specifying it and port users of the API.

The call from cmMakefile::GetProperty can be simplified because
the scope is only used during chaining, and there is no further
chaining after processing global properties.
2015-04-15 11:43:50 -04:00
Stephen Kelly 24b7f31d3a cmake: Remove unused cmCommand methods. 2015-04-15 11:43:50 -04:00
Stephen Kelly 0aec491328 Port cmCommand consumers to cmState. 2015-04-15 11:43:49 -04:00
Brad King 885ab9ab37 VS: Drop reload macros for VS >= 10 (#11258,#14680)
We never implemented them for VS 11 (2012), 12 (2013), or 14 (2015).
For VS 10 (2010) the reload macro does not work correctly when run from
inside a build launched through the IDE because stopping the build kills
the CMake that is driving the reload.  Fortunately VS >= 10 know how to
reload the whole solution anyway.
2015-04-15 09:58:42 -04:00
Brad King 7b8e7c4ac3 Deprecate Visual Studio 7 generator (.NET 2002)
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2015-04-15 09:21:24 -04:00
Brad King 85c2626bab Deprecate Visual Studio 6 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2015-04-15 09:08:57 -04:00
Kitware Robot ff742f6823 CMake Nightly Date Stamp 2015-04-15 00:01:05 -04:00
Brad King 9ac0568390 Ninja: Drop 'experimental' label in documentation
This generator is no longer experimental and has been fairly
mature for several releases already.
2015-04-14 13:14:50 -04:00