Commit Graph

28176 Commits

Author SHA1 Message Date
Brad King 93acb504c0 Merge topic 'clean-up-makefile-generators'
036372c4 Remove obsolete overrides of CreateLocalGenerator.
684e5cef cmGlobalGenerator: Host the MakeSilentFlag.
2047144f cmLocalGenerator: Remove unused IgnoreLibPrefix.
333c1fa8 cmGlobalUnixMakefileGenerator3: Host the UnixCD.
a97df5e1 cmGlobalUnixMakefileGenerator3: Host the PassMakeflags.
14f171c3 Remove method calls just repeating the default.
cf7f03e5 cmGlobalUnixMakefileGenerator3: Host the DefineWindowsNULL.
e9b134b9 cmGlobalUnixMakefileGenerator3: Host the include directive.
24613d8b cmLocalGenerator: Remove unused method.
b659d161 cmGlobalGenerator: Add NVI wrapper to create local generator.
2015-05-19 11:09:31 -04:00
Brad King 2d1d8af9b1 Merge topic 'clean-up-cmDefinitions'
f170985e cmDefinitions: Make the ClosureKeys method static.
98c5c903 cmDefinitions: Centralize knowledge of iterator type.
7872201b cmDefinitions: Remove internal MakeClosure method.
2015-05-19 11:09:28 -04:00
Brad King 43aa5c6ca1 Merge topic 'clean-up-cmExecutionStatus'
2a44acb9 cmExecutionStatus: Remove inheritance of cmObject.
c8c34169 cmExecutionStatus: De-virtualize API.
2015-05-19 11:09:24 -04:00
Brad King aa68f2e4c9 Merge topic 'fix-function-missing-endforeach'
3a656065 Fix assertion failure on unmatched foreach in function (#15572)
2015-05-19 11:09:21 -04:00
Brad King dee32a8d0b Merge topic 'hp-ux-suppress-pp-warning'
639620ee CTestCustom: Suppress HP-UX preprocessor concatenation warning
2015-05-19 11:09:18 -04:00
Stephen Kelly dad8b03fbe VS: Remove obsolete methods.
Base class implementations for these are identical.
2015-05-19 11:02:34 -04:00
Stephen Kelly e435f875ec VS: Move version information to global generator. 2015-05-19 11:02:33 -04:00
Stephen Kelly b5f093f096 VS: Simplify setting of flag table. 2015-05-19 11:02:33 -04:00
Brad King 41477d5c07 cmake-gui: Drop undocumented and unused --mac-install option
This option was once used by our OS X package installer to create
symlinks at install time.  Since switching to the DragNDrop installer
we no longer use this option.
2015-05-19 09:39:16 -04:00
Kitware Robot f3946ba547 CMake Nightly Date Stamp 2015-05-19 00:01:07 -04:00
Stephen Kelly d7923b82ad Use std::unordered_map instead of hash_map where available. 2015-05-19 00:07:02 +02:00
Stephen Kelly 61d52e6e77 cmListFileBacktrace: Hide the context-stack implementation detail.
The backtrace will soon not be implemented in terms of a stack of
cmListFileContext objects.  Keep the cmListFileContext in the API
for convenience for now.
2015-05-18 23:56:00 +02:00
Stephen Kelly a271f7f177 cmTarget: Simplify CMP0023 message loop.
This method is only called if there is a mismatch and something to
print.  Remove intermediate container.
2015-05-18 23:55:44 +02:00
Stephen Kelly f4300cd4dd cmTarget: Simplify output computation.
We always have line information for contexts resulting from
command execution.
2015-05-18 23:55:44 +02:00
Stephen Kelly 65a4284963 cmTarget: Store context in stack only if different.
The PushTLLCommandTrace method is called once per link item for a single
target_link_libraries command.  Avoid storing copies of identical
execution contexts and rely on the uniqueness while printing output.
2015-05-18 23:55:44 +02:00
Stephen Kelly 9645cba3bf cmListFileContext: Implement EqualityComparable. 2015-05-18 23:55:44 +02:00
Stephen Kelly 52a8d19c9b cmTarget: Store only cmListFileContext for CMP0023 handling.
Only the top level execution context is shown, as appropriate, so
store only that.
2015-05-18 23:55:43 +02:00
Stephen Kelly 59ba1215b9 cmTarget: Remove needless iteration.
This is not a loop.
2015-05-18 23:55:43 +02:00
Stephen Kelly 18f810a865 cmListFileContext: Sort by line before file.
This should be much faster.  In the context where it is used the
line comparison should be sufficient, removing the need to compare
files at all.
2015-05-18 23:55:43 +02:00
Stephen Kelly e96b5d14f9 cmListFileContext: Implement LessThanComparable.
Move wrapping existing code from cmMakefile, and simplify the
implementation there.
2015-05-18 23:55:43 +02:00
Stephen Kelly 7eb0dfa062 cmMakefile: Use std::set::insert API to simplify CMP0054 handling. 2015-05-18 23:55:43 +02:00
Stephen Kelly f9785e0cb6 cmMakefile: Simplify CMP0054 handling. 2015-05-18 23:55:43 +02:00
Stephen Kelly e17b5e4262 cmMakefile: Add access to the top-level execution context.
This is cheaper than getting the whole backtrace, and the cmListFileBacktrace
will not always be composed of cmListFileContext objects.
2015-05-18 23:55:41 +02:00
Stephen Kelly 1ec1bf9f07 if(): Test the effect of cmMakefileCall use in elseif() handling. 2015-05-18 21:28:09 +02:00
Stephen Kelly 9b4aefad41 cmMakefile: Replace deques with vectors. 2015-05-18 21:25:48 +02:00
Brad King a390de65e0 Ninja: Generate separate compile and link rules for each target
Our <LANG>_COMPILER and <LANG>_<TARGET_TYPE>_LINKER rule generation has
access to a specific cmTarget so the results may depend on it.  Instead
generate separate rules for each target using an encoded target name.
In particular, this makes CTEST_USE_LAUNCHERS report proper target
information.
2015-05-18 15:01:06 -04:00
Stephen Kelly 036372c4cd Remove obsolete overrides of CreateLocalGenerator.
The cmGlobalMakefileGenerator3 has an identical implementation.
2015-05-18 20:06:20 +02:00
Stephen Kelly 684e5cefb2 cmGlobalGenerator: Host the MakeSilentFlag. 2015-05-18 20:06:20 +02:00
Stephen Kelly 2047144f49 cmLocalGenerator: Remove unused IgnoreLibPrefix. 2015-05-18 20:06:20 +02:00
Stephen Kelly 333c1fa83b cmGlobalUnixMakefileGenerator3: Host the UnixCD. 2015-05-18 20:06:16 +02:00
Stephen Kelly a97df5e135 cmGlobalUnixMakefileGenerator3: Host the PassMakeflags. 2015-05-18 20:03:49 +02:00
Stephen Kelly 14f171c3ba Remove method calls just repeating the default. 2015-05-18 20:02:31 +02:00
Brad King 3a65606591 Fix assertion failure on unmatched foreach in function (#15572)
The lexical scope counting added by commit v3.2.0-rc1~332^2~1 (Track
nested loop levels in CMake language with a stack of counters,
2014-11-18) forgot to account for scopes popped by error messages about
unclosed scopes.  Teach the error handler to pop the lexical scope it
reports as unclosed.  Re-order the lexical scope RAII object to be
inside the variable scope RAII object scope so that the lexical scope
is fully closed before we check assertions about variable scopes.

Extend the RunCMake.Syntax test with a case covering this.
2015-05-18 11:13:05 -04:00
Brad King 00ccfff2bc Merge topic 'cpack-ifw-updates'
342d15cb Update packaging of CMake for QtIFW 2.0
9a0ba4d2 CPackIFW: Add QtIFW 2.0 support
2015-05-18 09:56:17 -04:00
Brad King af1ea52f0c Merge topic 'cpack-deb-reworked-docs'
efab8050 CPack/DEB: reworked documentation
2015-05-18 09:56:15 -04:00
Brad King 9b11b040c8 Merge topic 'doc-cmake_minimum_required-not-in-function'
e5f8ead5 Help: Document behavior of cmake_minimum_required in a function
2015-05-18 09:56:13 -04:00
Brad King 639620eec4 CTestCustom: Suppress HP-UX preprocessor concatenation warning
The HP compiler on HP-UX 11.11 warns:

 Warning (anachronism) 823: ".../test_INT_format.h", line 194 # Redundant
 preprocessing concatenation operation results in two valid preprocessing
 tokens. Depending on this implementation defined behavior will result in
 non-portable code.
       TEST_C(INT32_C, -0x55000000, i32, int32_t, uint32_t)
       ^^^^^^
 Warning (anachronism) 823: ".../test_INT_format.h", line 196 # Redundant
 preprocessing concatenation operation results in two valid preprocessing
 tokens. Depending on this implementation defined behavior will result in
 non-portable code.
       TEST_C(INT64_C, -0x5500000000000000, i64, int64_t, uint64_t)
       ^^^^^^

There is likely a subtle problem with the way one of the system-provided type
macros is defined but the test passes despite the warning.  Simply suppress it.
2015-05-18 09:25:51 -04:00
Kitware Robot 09a3d21d71 CMake Nightly Date Stamp 2015-05-18 00:01:06 -04:00
Stephen Kelly f170985e7a cmDefinitions: Make the ClosureKeys method static.
For consistency with all other closure-related methods.
2015-05-17 16:50:18 +02:00
Stephen Kelly 98c5c90361 cmDefinitions: Centralize knowledge of iterator type.
Currently we process a list of definitions, but that will change.
2015-05-17 16:50:18 +02:00
Stephen Kelly 7872201bf6 cmDefinitions: Remove internal MakeClosure method.
There is no need to have a separate method, or to pass an external
set to it.
2015-05-17 16:50:18 +02:00
Stephen Kelly 820777af03 Tests: Don't rely on ordering of targets in maps. 2015-05-17 11:19:20 +02:00
Kitware Robot fa85829712 CMake Nightly Date Stamp 2015-05-17 00:01:11 -04:00
Stephen Kelly fa9eb814b3 cmLocalGenerator: Remove redundant path access. 2015-05-16 08:12:02 +02:00
Stephen Kelly 1933f3d1a3 cmLocalGenerator: Remove redundant path conversions.
The methods just called store the paths in already-converted form.
2015-05-16 08:12:02 +02:00
Stephen Kelly 9e4b6cc2ce cmState: Store computed relative paths to to current directories. 2015-05-16 08:12:02 +02:00
Stephen Kelly 991f5e4968 cmState::Snapshot: Store components for current directories.
Remove this responsibility from cmLocalGenerator.
2015-05-16 08:12:01 +02:00
Stephen Kelly 57bdc1a2f7 cmState: Compute and store directory components.
There is no need to duplicate these in all cmLocalGenerators.

Rename the symbols according to current conventions.

Add explicit calls to Set{Source,Binary}Directory with empty strings
in order to trigger the population of the components containers with
the current working directory in cmLocalGenerator.  Having
directories set to empty is a special case in CMake, which is relied
on for the `if(CMAKE_BINARY_DIR)` condition at the end of
CMakeDetermineSystem.cmake.
2015-05-16 08:11:33 +02:00
Stephen Kelly 2a44acb937 cmExecutionStatus: Remove inheritance of cmObject.
It is not needed.
2015-05-16 07:06:59 +02:00
Stephen Kelly c8c341690f cmExecutionStatus: De-virtualize API.
It is clearly not required.
2015-05-16 07:06:39 +02:00