Stephen Kelly
ce167b546d
cmMakefile: Handle CMP0014 before configuring the generator.
2015-05-14 21:26:13 +02:00
Stephen Kelly
7baef75649
cmLocalGenerator: Assert that there is a parent.
...
If the CMakeLists.txt file does not exist, there must be a parent.
The case for the top-level of the project is already handled in
cmake::DoPreConfigureChecks.
2015-05-14 21:04:17 +02:00
Stephen Kelly
c5059c9000
cmLocalGenerator: Add abstraction to check if top-level.
...
Move from the cmLocalNinjaGenerator. Fix the case of the name.
2015-05-14 20:44:55 +02:00
Stephen Kelly
b17686d2bb
cmGlobalGenerator: Move some flags from cmLocalGenerator.
...
These flags are global, and so they belong here instead of being
set on each local generator.
2015-05-14 20:36:28 +02:00
Stephen Kelly
ed41a8e7b4
cmLocalGenerator: Port loops to cmState::Snapshot.
...
Make this code less dependent on being part of cmLocalGenerator,
where it doesn't really belong.
2015-05-14 20:36:28 +02:00
Stephen Kelly
e7f7c2e208
cmLocalGenerator: Convert two recursive methods to loops.
2015-05-14 20:36:28 +02:00
Stephen Kelly
c5cb3a734d
cmLocalGenerator: Get project directories from the cmState.
...
Make this class and cmMakefile less interdependent.
2015-05-14 20:36:28 +02:00
Stephen Kelly
76b598319f
cmLocalGenerator: Initialize state before creating cmMakefile.
...
Access the state from the local generator in the cmMakefile.
2015-05-14 20:36:28 +02:00
Stephen Kelly
34c9ee2ed7
cmLocalGenerator: Require a global generator in the constructor.
...
Port generator factory methods to pass it.
2015-05-14 20:36:27 +02:00
Stephen Kelly
a3139d4b15
cmLocalGenerator: Remove EscapeForShellOldStyle to only caller.
2015-05-14 20:30:09 +02:00
Stephen Kelly
de21168612
Port to static cmPolicies API.
2015-05-04 22:32:20 +02:00
Stephen Kelly
86f3cd0f7e
cmMakefile: Require the localGenerator in the constructor.
...
Move the contents of cmMakeile::SetLocalGenerator to the Initialize
method.
2015-04-28 07:50:57 +02:00
Stephen Kelly
a48aebcb67
cmLocalGenerator: Require a parent in the constructor.
...
Pass the parent though cmGlobalGenerator::CreateLocalGenerator.
This will make it easy to initialize state scopes independent of
cmMakefile.
2015-04-28 07:50:52 +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
fcf246acd1
cmMakefile: Populate Home directories on initialize.
2015-04-21 00:12:51 +02: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
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
fca2b542b4
cmMakefile: Internalize setting of CMakeInstance on Properties.
2015-04-12 23:10:45 +02:00
Geoff Viola
051d8be17f
cmLocalGenerator: Constify some cmTarget and cmGeneratorTarget arguments
2015-04-09 10:38:31 -04:00
Stephen Kelly
7916d7bac6
Include cmAlgorithms where it is used.
2015-03-11 00:17:29 +01:00
Stephen Kelly
b734fa4471
Genex: Allow COMPILE_LANGUAGE when processing include directories.
...
Issue an error if this is encountered by an IDE generator.
2015-03-09 20:49:17 +01:00
Stephen Kelly
0b945ea9a6
Genex: Allow COMPILE_LANGUAGE when processing compile definitions.
...
Issue an error if this is encountered by an IDE generator.
2015-03-09 20:49:16 +01:00
Stephen Kelly
5c559f1113
Genex: Enable use of COMPILE_LANGUAGE for compile options.
...
Follow-ups will allow the use of the generator expression
for compile definitions and include directories for non-IDE
generators.
2015-03-09 20:48:57 +01:00
Brad King
17b4423c45
Merge topic 'fix-crash-on-bad-LANG_STANDARD'
...
00d66557
Diagnose invalid <LANG>_STANDARD value instead of crashing (#15426 )
2015-03-02 08:36:24 -05:00
Brad King
00d66557d4
Diagnose invalid <LANG>_STANDARD value instead of crashing ( #15426 )
2015-02-28 12:14:42 -05:00
Brad King
38f1f4e7f3
Merge topic 'install-manifest-optimize'
...
c4814174
install: Write the entire installation manifest at once
2015-02-27 10:34:35 -05:00
Robert Goulet
c48141744e
install: Write the entire installation manifest at once
...
Avoid a separate open/close for each file installed. Use a single
file(WRITE) instead of a loop with file(APPEND).
2015-02-26 15:04:07 -05:00
Stephen Kelly
b3a0c6e08f
cmLocalGenerator: Convert loop to algorithm.
2015-02-19 00:59:19 +01:00
Stephen Kelly
26602cf56c
cmLocalGenerator: Move variable population inside of condition.
...
It is only used in the condition, so no need to look for uses
elsewhere when reading the code.
2015-02-17 19:21:36 +01:00
Stephen Kelly
9380e85f86
Convert loops to cmJoin algorithm with cmRange.
2015-02-11 22:58:04 +01:00
Stephen Kelly
7b8725bf84
Convert loops populating maybe-empty content into the common pattern.
2015-02-11 22:57:53 +01:00
Stephen Kelly
11093a03e0
Replace temporary bool by inlining warning condition.
2015-02-06 19:04:10 +01:00
Stephen Kelly
6cd2ee9524
Replace loop with member algorithm.
2015-02-06 19:04:10 +01:00
Stephen Kelly
5fc53f1edb
cmLocalGenerator: Replace loop with find_first_not_of
2015-02-05 20:44:25 +01: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
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
f560fdddd1
Merge topic 'fix-default-install-config'
...
dea42d92
install: Fix regression in default configuration selection
2015-02-04 12:30:17 -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
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
Stephen Kelly
5f69314ea6
Replace foo.length() pattern with !foo.empty().
2015-01-18 14:25:25 +01:00
Stephen Kelly
fd7b371293
Replace foo.size() pattern with !foo.empty().
2015-01-18 14:25:24 +01:00
Stephen Kelly
930bd47816
Replace 'foo.size() == 0' pattern with foo.empty().
2015-01-18 14:25:24 +01:00
Stephen Kelly
d92887efab
Replace 'foo.size() > 0' pattern with !foo.empty().
2015-01-18 14:25:24 +01:00
Brad King
b5a467262b
Merge topic 'drop-ancient-workarounds'
...
0f7bdd61
Remove VS 6 special case.
5e92c826
Remove some obsolete stuff.
15e42bb2
cmStandardIncludes: Remove obsolete cmOStringStream.
931e055d
Port all cmOStringStream to std::ostringstream.
f194a009
Remove unused cmIStringStream class.
3ec1bb15
cmStandardIncludes: Remove std namespace hack.
bb3bce70
cmStandardIncludes: Remove ANSI_FOR_SCOPE hack.
28fa4923
cmStandardIncludes: Remove iostreams workaround for obsolete Compaq compiler.
837a8a63
cmStandardIncludes: Drop Comeau-related workaround.
4030ddfd
Remove Borland-related undef.
17d6a6fd
cmStandardIncludes: Remove comment about Borland.
26fb5011
Drop SGI as a CMake host compiler.
2015-01-12 08:57:39 -05:00
Stephen Kelly
931e055d8c
Port all cmOStringStream to std::ostringstream.
...
All compilers hosting CMake support the std class.
2015-01-11 17:06:03 +01:00
Stephen Kelly
238dd2fbab
Use insert instead of a loop in some cases.
...
Limit this change to inserting into a vector from a vector.
A follow up change can use insert for inserting into a set.
2015-01-11 17:00:55 +01:00