Commit Graph

19165 Commits

Author SHA1 Message Date
Brad King db519cae57 Merge topic 'fix-xcode-quoting'
f7a9ed7e Xcode: Quote strings containing a tilde (#15672)
2015-08-03 09:11:28 -04:00
Brad King 5c02ae4ac9 Merge topic 'update-kwsys'
da98b896 Tests: In CTestTest2 skip the kwsys.testProcess-10 test that leaks
129640f2 CTestCustom: Ignore kwsys.testProcess-10 for MemCheck as KWSys does
d0915bc8 Merge branch 'upstream-kwsys' into update-kwsys
1feafc64 KWSys 2015-07-30 (f63febb7)
2015-08-03 09:11:25 -04:00
Kitware Robot ebacce3f0b CMake Nightly Date Stamp 2015-08-03 00:01:05 -04:00
Stephen Kelly 757a1f5408 cmState: Move PolicyState from cmMakefile.
Implement lexical scope checking in terms of the state stack instead
of barriers.
2015-08-02 08:56:57 +02:00
Stephen Kelly 52dbe654de cmState: Record the end position of each directory.
At generate time, variables and policies are determined from the end
state of the cmMakefile.
2015-08-02 08:56:57 +02:00
Stephen Kelly 65a5e0c671 cmLinkedTree: Add Clear API. 2015-08-02 08:56:57 +02:00
Stephen Kelly 348354333a cmState: Add Type for policy scope. 2015-08-02 08:56:57 +02:00
Kitware Robot 614786cc5c CMake Nightly Date Stamp 2015-08-02 00:01:07 -04:00
Stephen Kelly 12c3f24827 cmGeneratorExpressionEvaluationFile: Require generator context.
Avoid storing a cmMakefile as a member, and evaluate in the context of
a cmLocalGenerator instead.
2015-08-01 13:07:11 +02:00
Stephen Kelly 6c0e9ee276 cmMakefile: Store EvaluationFiles.
Relieve the cmGlobalGenerator of this responsibility.  Evaluate
the generator expressions in the context of the cmLocalGenerator.
2015-08-01 13:07:11 +02:00
Stephen Kelly af0de01c6b cmState: Remove call stack parent tracking.
This was added at a time when I thought the cmState would report errors,
but that is not the direction it is going.  The ordering of the stack of
scopes is canonical and clients are required to maintain it.
2015-08-01 07:31:08 +02:00
Stephen Kelly 6ae8b30bf4 cmMakefile: Move policy barriers inside cmState scopes. 2015-08-01 07:18:34 +02:00
Stephen Kelly a5fc17b509 cmMakefile: Re-order policy entries and barriers.
Make the barriers surround the entries.
2015-08-01 07:18:34 +02:00
Stephen Kelly 0a01e6c6e7 cmState: Add Snapshot Type accessor. 2015-08-01 07:18:34 +02:00
Kitware Robot 9432b14e91 CMake Nightly Date Stamp 2015-08-01 00:01:06 -04:00
Brad King d0915bc86f Merge branch 'upstream-kwsys' into update-kwsys 2015-07-31 09:26:35 -04:00
Brad King 609e8b181a Merge topic 'cmake-W-options'
c96fe0b4 cmake: Add -W options to control deprecation warnings and errors
2015-07-31 09:21:47 -04:00
Brad King 82e77d7430 Merge topic 'refactor-install'
a23fcc95 cmInstallTargetGenerator: Port to cmGeneratorTarget.
4e41913f cmInstallCommand: Store only a targetName, not a cmTarget.
e5e52970 cmInstallGenerator: Add a Compute() virtual hook.
3ef8aaaa cmInstallCommand: Move the SetHaveInstallRule invocation.
5f662b38 cmScriptGenerator: Remove unused method.
0368552d cmGlobalGenerator: Move QtAutogen handling to Compute().
5edb3354 cmGlobalGenerator: Virtualize the Compute step and override it.
ff1019bf cmGlobalGenerator: Move generation object creation to Compute().
aa2407d8 Xcode: Use allBuild target return value.
610572b7 cmMakefile: Simplify generate-time cmGeneratorTarget creation.
2e94cba3 cmGlobalGenerator: Move FinalizeTargetCompileInfo to Compute().
fb9355c5 cmGlobalGenerator: Return from Compute whether to generate.
29e8b7bf cmGlobalGenerator: Create a new Compute step before generation.
1ef9b2b6 cmGlobalGenerator: Remove the TargetManifest member.
5c14f780 cmGlobalGenerator: Remove unused manifest accessor.
a1209be5 VisualStudio: Skip global targets when processing.
...
2015-07-31 09:21:45 -04:00
Brad King d4736d53cd Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8.1 (#15674)
The GetVersionEx API is deprecated, so try RtlGetVersion first.

Co-Author: Christian Maaser
2015-07-31 09:12:41 -04:00
Gregor Jasny f7a9ed7e90 Xcode: Quote strings containing a tilde (#15672)
Since commit v3.3.0-rc1~183^2 (Xcode: Refine quoting rules for Strings,
2015-04-09) we no longer quote strings containing a period ('.').
However, file names like "icon29x29~ipad.png" still need quoting because
they contain a tilde ('~').  Add tilde to our explicit list of
characters that need quoting because such file names will no longer
happen to be quoted because they contain a period.
2015-07-31 08:44:27 -04:00
Kitware Robot 1687060b58 CMake Nightly Date Stamp 2015-07-31 00:01:06 -04:00
Brad King a8c3698526 Merge topic 'refactor-fortran-module-directory'
e90372a0 cmCommonTargetGenerator: Factor out Fortran module directory computation
70c21301 cmCommonTargetGenerator: Store working directory for relative paths
7371d8f3 cmCommonTargetGenerator: Return string from GetFortranModuleDirectory
613bc08a cmDependsFortran: Use string to store module directory
2015-07-30 09:56:16 -04:00
Brad King 7e27a42ebd Merge topic 'cmCommonTargetGenerator-GetLinkedTargetDirectories'
6d79eda7 cmCommonTargetGenerator: Adopt linked target directory computation
2015-07-30 09:56:14 -04:00
Stephen Kelly a23fcc9558 cmInstallTargetGenerator: Port to cmGeneratorTarget. 2015-07-30 08:28:32 +02:00
Stephen Kelly 4e41913f9a cmInstallCommand: Store only a targetName, not a cmTarget.
Compute the cmTarget at Compute() time.
2015-07-30 08:28:31 +02:00
Stephen Kelly e5e5297018 cmInstallGenerator: Add a Compute() virtual hook. 2015-07-30 08:28:31 +02:00
Stephen Kelly 3ef8aaaa71 cmInstallCommand: Move the SetHaveInstallRule invocation.
Remove the call from cmInstallTargetGenerator because that is
to be ported away from cmTarget.
2015-07-30 08:28:31 +02:00
Stephen Kelly 5f662b3887 cmScriptGenerator: Remove unused method. 2015-07-30 08:28:31 +02:00
Stephen Kelly 0368552d7f cmGlobalGenerator: Move QtAutogen handling to Compute(). 2015-07-30 08:28:31 +02:00
Stephen Kelly 5edb335485 cmGlobalGenerator: Virtualize the Compute step and override it. 2015-07-30 08:28:31 +02:00
Stephen Kelly ff1019bfac cmGlobalGenerator: Move generation object creation to Compute(). 2015-07-30 08:28:30 +02:00
Kitware Robot 3a755559d1 CMake Nightly Date Stamp 2015-07-30 00:01:06 -04:00
Brad King e90372a0db cmCommonTargetGenerator: Factor out Fortran module directory computation
Move computation from GetFortranModuleDirectory to a virtual method
so it can be customized for each type of generator.
2015-07-29 13:37:54 -04:00
Brad King 70c21301b2 cmCommonTargetGenerator: Store working directory for relative paths
The Makefile generators run tools with the current working directory set
to the subdirectory of the build tree for the each target.  The Ninja
generator runs tools with the current working directory set to the top
of the build tree.  Tell cmCommonTargetGenerator where the working
directory will be so it can compute proper relative paths.
2015-07-29 13:20:03 -04:00
Brad King 7371d8f3b4 cmCommonTargetGenerator: Return string from GetFortranModuleDirectory 2015-07-29 13:18:46 -04:00
Brad King 613bc08ac1 cmDependsFortran: Use string to store module directory 2015-07-29 11:48:58 -04:00
Stephen Kelly aa2407d84d Xcode: Use allBuild target return value. 2015-07-29 10:43:34 -04:00
Stephen Kelly 610572b7d2 cmMakefile: Simplify generate-time cmGeneratorTarget creation. 2015-07-29 10:43:33 -04:00
Stephen Kelly 2e94cba356 cmGlobalGenerator: Move FinalizeTargetCompileInfo to Compute(). 2015-07-29 10:43:33 -04:00
Stephen Kelly fb9355c50e cmGlobalGenerator: Return from Compute whether to generate. 2015-07-29 10:43:33 -04:00
Stephen Kelly 29e8b7bfcc cmGlobalGenerator: Create a new Compute step before generation.
Replace the DoGenerate method.
2015-07-29 10:43:33 -04:00
Stephen Kelly 1ef9b2b600 cmGlobalGenerator: Remove the TargetManifest member. 2015-07-29 10:43:32 -04:00
Stephen Kelly 5c14f78005 cmGlobalGenerator: Remove unused manifest accessor. 2015-07-29 10:43:32 -04:00
Stephen Kelly a1209be550 VisualStudio: Skip global targets when processing. 2015-07-29 10:43:32 -04:00
Stephen Kelly 32e4f6beca Xcode: Skip Global targets when processing. 2015-07-29 10:43:32 -04:00
Stephen Kelly 34b902a5a6 cmMakefile: Move method out of line. 2015-07-29 10:43:31 -04:00
Brad King aaa322a5cb cmMakefile: Return target from all AddUtilityCommand signatures 2015-07-29 10:43:31 -04:00
Brad King 22b8f23849 Merge topic 'minor-cleanups'
3942ec32 cmMakefileTargetGenerator: Remove unused variable.
a034dc0d cmGeneratorExpressionNode: Remove unused variable.
aeb74ae9 Fix include guard.
2015-07-29 10:29:32 -04:00
Brad King 8697dca7f1 Merge topic 'ninja-implib-byproduct'
35fb0bb8 Ninja: Make import libraries BYPRODUCTs instead of regular OUTPUTs
2015-07-29 10:29:30 -04:00
Michael Scott c96fe0b40d cmake: Add -W options to control deprecation warnings and errors
Refactor the -Wdev and -Wno-dev to use a generic -W parser that follows
the GCC pattern.  Include support for setting CMAKE_ERROR_DEPRECATED and
CMAKE_WARN_DEPRECATED via the deprecated warning.  Add -Werror=dev and
-Wno-error=dev options so that dev warning options are in line with
deprecated warning options.  Use a new CMAKE_SUPPRESS_DEVELOPER_ERRORS
internal cache entry to store the above new dev options persistently.
Add tests for new options and updated cmake documentation and release
notes to list new options.
2015-07-29 09:20:10 -04:00
Kitware Robot 700d537e60 CMake Nightly Date Stamp 2015-07-29 00:01:05 -04:00
Brad King 6d79eda769 cmCommonTargetGenerator: Adopt linked target directory computation
Factor a GetLinkedTargetDirectories method out of
cmMakefileTargetGenerator::WriteTargetDependRules to compute the list of
directories associated with targets to which the current target links.
2015-07-28 15:40:06 -04:00
Stephen Kelly 3942ec32dd cmMakefileTargetGenerator: Remove unused variable. 2015-07-28 20:08:11 +02:00
Stephen Kelly a034dc0df4 cmGeneratorExpressionNode: Remove unused variable. 2015-07-28 20:07:46 +02:00
Stephen Kelly aeb74ae9f9 Fix include guard. 2015-07-28 20:06:38 +02:00
Brad King 98d6e9ec2d Merge topic 'use-generator-target'
57f03e59 Port some of the cmExportFileGenerator API to cmGeneratorTarget.
57ab0f70 Port cmExportBuildFileGenerator to cmGeneratorTarget.
570938cb cmExportTryCompileFileGenerator: Create cmGeneratorTargets.
ec38e4c8 Move GetFullPath to cmGeneratorTarget
dfb025bf Move GetLocationForBuild to cmGeneratorTarget.
9f2dca80 Move GetLocation to cmGeneratorTarget.
c7a8e74b Always access target location from a cmGeneratorTarget instance.
5b60eaf6 cmTarget: Restore the ImportedGetLocation method.
50b17a61 cmIncludeCommand: Populate the cmGeneratorTargets in deprecated path.
ba266858 cmTarget: Create cmGeneratorTargets before reading deprecated LOCATION.
5ab3a946 cmTarget: Inline GetLocation into deprecated callers.
496f4cd0 cmGlobalGenerator: Create cmGeneratorTargets before QtAutomoc.
de80993a cmGlobalGenerator: Create cmGeneratorTargets earlier.
611220f7 cmTarget: Use reliable test for CMP0024 and CMP0026 OLD.
bbad6ba5 cmLocalGenerator: Remove unused AddCustomCommandToCreateObject method.
e4dc83ad cmLocalGenerator: Remove unused AddBuildTargetRule method.
...
2015-07-28 10:08:50 -04:00
Brad King 16dffb3136 Merge topic 'cmConditionEvaluator-minor-cleanup'
e7d5c142 cmConditionEvaluator: Remove superfluous spaces in expressions
2015-07-28 10:08:48 -04:00
Brad King eda29e6632 Merge topic 'ctest-add_subdirectory-crash'
64821e8a ctest: fix add_subdirectory() crash
2015-07-28 10:08:46 -04:00
Brad King eb2b23e0d9 Merge topic 'cmake-install-dependencies-option'
068e7962 CMake: Add CMake_INSTALL_DEPENDENCIES option
2015-07-28 10:08:44 -04:00
Brad King be938ab3f8 Merge topic 'cmake-gui-install-plugin'
42f0155b cmake-gui: Install Qt5 Windows platform plugin
2015-07-28 10:08:42 -04:00
Brad King 2a2a560125 Merge topic 'refactor-ninja-command-exporter'
cd530df8 cmNinjaTargetGenerator: Factor out compile command exporter
2015-07-28 10:08:40 -04:00
Brad King 24dd88d156 Merge topic 'fortran-parser-updates'
ecca8fd9 cmFortranParser: Port to bison 3
eebe732b cmFortranParser: Factor out of cmDependsFortran
fd194458 cmDependsFortran: Simplify storage of preprocessor definitions
295480b9 cmDependsFortran: Move FindIncludeFile method into parser class
98b9645b Rename Fortran parser infrastructure to drop "Depends" prefix
096dd3c9 cmDependsFortranLexer: Remove trailing blank line
2015-07-28 10:08:37 -04:00
Nils Gladitz 35fb0bb8c0 Ninja: Make import libraries BYPRODUCTs instead of regular OUTPUTs
The MSVC linker may update a binary without touching the associated
import library.

Making the import library a BYPRODUCT prevents the linker from
unnecessarily rerunning when the import library does not get regenerated
as previously expected.
2015-07-28 14:02:47 +02:00
Kitware Robot 9e29319447 CMake Nightly Date Stamp 2015-07-28 00:01:06 -04:00
Stephen Kelly 57f03e59ba Port some of the cmExportFileGenerator API to cmGeneratorTarget.
Enough to make it more possible to move GetLinkInterface
to cmGeneratorTarget.
2015-07-27 21:59:03 +02:00
Stephen Kelly 57ab0f70b5 Port cmExportBuildFileGenerator to cmGeneratorTarget. 2015-07-27 21:59:03 +02:00
Stephen Kelly 570938cbfd cmExportTryCompileFileGenerator: Create cmGeneratorTargets.
This is not a deprecated behavior, but only requires IMPORTED targets
be made.
2015-07-27 21:59:03 +02:00
Stephen Kelly ec38e4c84f Move GetFullPath to cmGeneratorTarget 2015-07-27 21:59:02 +02:00
Stephen Kelly dfb025bf12 Move GetLocationForBuild to cmGeneratorTarget. 2015-07-27 21:58:50 +02:00
Stephen Kelly 9f2dca805c Move GetLocation to cmGeneratorTarget. 2015-07-27 21:58:50 +02:00
Stephen Kelly c7a8e74b8c Always access target location from a cmGeneratorTarget instance. 2015-07-27 21:58:50 +02:00
Stephen Kelly 5b60eaf619 cmTarget: Restore the ImportedGetLocation method.
It was removed in commit f154475b (cmTarget: Refactor GetLocation
API, 2014-03-08), but it is more readable for targets we know are
imported.
2015-07-27 21:58:50 +02:00
Stephen Kelly 50b17a6112 cmIncludeCommand: Populate the cmGeneratorTargets in deprecated path. 2015-07-27 21:58:50 +02:00
Stephen Kelly ba26685882 cmTarget: Create cmGeneratorTargets before reading deprecated LOCATION.
The intention is to move generation-semantic cmTarget API to cmGeneratorTarget
and then use the latter for generator expressions.

This means that each time we read a deprecated LOCATION property, we have to
clear and re-populate the container.  That must be done each time because the
result can change through the configure process, which is why this is
deprecated in the first place.
2015-07-27 21:58:49 +02:00
Stephen Kelly 5ab3a94651 cmTarget: Inline GetLocation into deprecated callers. 2015-07-27 21:58:49 +02:00
Stephen Kelly 496f4cd07d cmGlobalGenerator: Create cmGeneratorTargets before QtAutomoc.
Add cmGeneratorTargets as needed in the QtAutomoc processing.
2015-07-27 21:58:49 +02:00
Stephen Kelly de80993a20 cmGlobalGenerator: Create cmGeneratorTargets earlier. 2015-07-27 21:58:49 +02:00
Stephen Kelly 611220f77a cmTarget: Use reliable test for CMP0024 and CMP0026 OLD.
Check whether the Makefile is fully configured instead of checking
whether generator targets exist.
2015-07-27 21:58:49 +02:00
Stephen Kelly bbad6ba537 cmLocalGenerator: Remove unused AddCustomCommandToCreateObject method. 2015-07-27 21:58:48 +02:00
Stephen Kelly e4dc83ade5 cmLocalGenerator: Remove unused AddBuildTargetRule method. 2015-07-27 21:58:47 +02:00
Stephen Kelly 72f43fa13d cmLocalGenerator: Remove CreateCustomTargetsAndCommands method.
It loops over cmGeneratorTargets, but at the point it is called, there are no
cmGeneratorTargets.  This must be dead code.
2015-07-27 21:57:29 +02:00
Stephen Kelly 58811998fb cmGlobalGenerator: Add global targets at the end of Configure.
Rather than at the start of Generate.
2015-07-27 21:57:28 +02:00
Stephen Kelly 57a69f9341 cmGlobalGenerator: Extract method to create generator objects. 2015-07-27 20:09:39 +02:00
Stephen Kelly 0e0258c8b9 cmGlobalGenerator: Split creation of generator object from initialization. 2015-07-27 20:09:38 +02:00
Stephen Kelly a8e5d838ed cmCPackPropertiesGenerator: Require cmLocalGenerator in API. 2015-07-27 20:09:38 +02:00
Stephen Kelly d568eefe10 cmCustomCommandGenerator: Require cmLocalGenerator in API. 2015-07-27 20:09:38 +02:00
Sebastian Schuberth e7d5c142c6 cmConditionEvaluator: Remove superfluous spaces in expressions 2015-07-27 17:24:59 +02:00
Ben Boeckel 64821e8a40 ctest: fix add_subdirectory() crash
The directory is at args[0], not args[1].  Introduced in commit
v2.6.0~489 (... 5889 ... tests are not found in some cases when using
add_subdirectory ..., 2008-01-18).
2015-07-27 11:14:51 -04:00
Konstantin Podsvirov 068e7962bb CMake: Add CMake_INSTALL_DEPENDENCIES option
By default this option is ON.  Turn OFF to disable installing runtime
3rd-party dependencies.
2015-07-27 10:30:41 -04:00
Konstantin Podsvirov 42f0155bb9 cmake-gui: Install Qt5 Windows platform plugin
Qt5 requires a platform-specific runtime-loaded plugin.  We already
install it for OS X.  Install it for Windows too.
2015-07-27 10:21:10 -04:00
Brad King cd530df88f cmNinjaTargetGenerator: Factor out compile command exporter 2015-07-27 09:54:07 -04:00
Brad King ecca8fd908 cmFortranParser: Port to bison 3
Use %-directives to specify the scanner/lexer arguments and update the
yyerror signature.  Reduce the list of post-bison modifications needed.
2015-07-27 09:45:36 -04:00
Brad King eebe732bb6 cmFortranParser: Factor out of cmDependsFortran
Move the main parser class and method implementations out of
cmDependsFortran.cxx and into separate source files.
2015-07-27 09:45:36 -04:00
Brad King fd19445802 cmDependsFortran: Simplify storage of preprocessor definitions
Collect the original preprocessor definitions in a std::set<> so that
it can be copied directly by cmFortranParser's constructor instead of
making a copy on the stack.
2015-07-27 09:45:35 -04:00
Brad King 295480b923 cmDependsFortran: Move FindIncludeFile method into parser class
This drops the only awareness of cmDependsFortran that cmFortranParser
needed.
2015-07-27 09:45:35 -04:00
Kitware Robot 98b9645bce Rename Fortran parser infrastructure to drop "Depends" prefix
The parser can be re-used outside cmDependsFortran or the cmDepends
class hierarchy so drop the "Depends" from its name:

 rename 's/DependsFortran([A-Za-z0-9_])/Fortran$1/' Source/*.*
 sed -i 's/DependsFortran\([A-Za-z0-9_]\)/Fortran\1/g' Source/*.*
 sed -i 's/FortranInternals/DependsFortranInternals/g' Source/*.*

Also manually fix Source/CMakeLists.txt source file ordering.
2015-07-27 09:45:35 -04:00
Brad King 096dd3c963 cmDependsFortranLexer: Remove trailing blank line 2015-07-27 09:45:35 -04:00
Brad King 280dde34dd Merge topic 'trace-expand'
594bafe5 cmake: add --trace-expand option
2015-07-27 09:31:22 -04:00
Brad King cb21c548db Merge topic 'policy-refactor'
8329fc01 cmPolicies: Replace unused include.
5447ca1a cmMakefile: Remove CMP0001 handling to callers.
d0dcce15 cmMakefile: Simplify computation of ancient policy status.
658bfc5c cmMakefile: Remove redundant condition from policy status computation.
f4a25874 cmMakefile: Inline internal policy status method.
3c45471c cmPolicies: Enable RVO for internal method.
71e69fc9 cmPolicies: Store only state that users can set.
84e18056 cmMakefile: Convert recursion to loop.
2015-07-27 09:31:18 -04:00
Brad King d74abbea89 Merge topic 'refactor-cmMakefile-properties'
bbb507ae cmMakefile: Move the InitializeFromParent method
6ed9c7e0 cmState: Host buildsystem properties for directories.
8f0a5d84 cmState: Fix compilation on IBM XL compiler
9644a2d1 cmAlgorithms: Add cmMakeReverseIterator.
1e77de74 cmMakefile: Don't clear buildsystem properties.
c1bf1a59 CompileDefinitions: Add unit test for setting empty content.
2015-07-27 09:31:16 -04:00
Brad King 91a159245f Merge topic 'cmRange-API'
8d336875 cmMakefile: Use Ranges for buildsystem property access.
514a1dff cmAlgorithms: Add some convenient typedefs.
c7b39d06 cmMakefile: Split accessors for include directories and origins.
b2de25ad cmMakefile: Split accessors for compile options and origins.
d6239507 cmMakefile: Split accessors for compile definitions and origins.
ef17bbef cmMakefile: Separate storage of buildsystem properties and their origins.
a89c02ce cmMakefile: Out of line some API.
b19587e7 cmMakefile: Remove some references from APIs.
1fe71e2e cmAlgorithms: Move Range type out of private namespace.
8ea0b81d cmAlgorithms: Rename cmRange to cmMakeRange.
2015-07-27 09:31:14 -04:00
Kitware Robot 317df61fc8 CMake Nightly Date Stamp 2015-07-27 00:01:06 -04:00
Kitware Robot 983d7b5c3a CMake Nightly Date Stamp 2015-07-26 00:01:05 -04:00
Stephen Kelly bbb507aebc cmMakefile: Move the InitializeFromParent method 2015-07-25 14:53:06 +02:00
Stephen Kelly 6ed9c7e024 cmState: Host buildsystem properties for directories. 2015-07-25 14:53:05 +02:00
Brad King 8f0a5d84e3 cmState: Fix compilation on IBM XL compiler
Delay use of the PositionType constructor until after SnapshotDataType
is fully defined.
2015-07-25 14:52:05 +02:00
Stephen Kelly 8329fc016f cmPolicies: Replace unused include. 2015-07-25 14:48:37 +02:00
Stephen Kelly 5447ca1a94 cmMakefile: Remove CMP0001 handling to callers. 2015-07-25 14:48:37 +02:00
Stephen Kelly d0dcce15f4 cmMakefile: Simplify computation of ancient policy status. 2015-07-25 14:48:37 +02:00
Stephen Kelly 658bfc5c52 cmMakefile: Remove redundant condition from policy status computation. 2015-07-25 14:48:36 +02:00
Stephen Kelly f4a25874a2 cmMakefile: Inline internal policy status method. 2015-07-25 14:48:36 +02:00
Stephen Kelly 3c45471c2d cmPolicies: Enable RVO for internal method. 2015-07-25 14:48:36 +02:00
Stephen Kelly 71e69fc93b cmPolicies: Store only state that users can set.
cmPolicies::PolicyMap does not need to store the REQUIRED_ALWAYS or
REQUIRED_IF_USED states as they are statically determined.
2015-07-25 14:48:36 +02:00
Stephen Kelly 84e1805666 cmMakefile: Convert recursion to loop. 2015-07-25 14:48:36 +02:00
Kitware Robot 26d1a9d356 CMake Nightly Date Stamp 2015-07-25 00:01:05 -04:00
Kitware Robot d546133d49 CMake Nightly Date Stamp 2015-07-24 00:01:07 -04:00
Ben Boeckel 594bafe527 cmake: add --trace-expand option
The --trace option is helpful, but sometimes, what you're looking for is
deep under many layers of function calls and figuring out what instance
of the function call you're looking at is tedious to determine (usually
involving patching and message()). Instead, add a --trace-expand option
to trace while expanding commands into what CMake actually sees.
2015-07-23 15:33:10 -04:00
Brad King 3a0db0223b CMake 3.3.0 2015-07-23 08:49:45 -04:00
Kitware Robot 900554b021 CMake Nightly Date Stamp 2015-07-23 00:01:06 -04:00
Stephen Kelly 9644a2d11c cmAlgorithms: Add cmMakeReverseIterator. 2015-07-22 21:23:50 +02:00
Stephen Kelly 1e77de7411 cmMakefile: Don't clear buildsystem properties.
Instead put a sentinal empty entry in the container when a property
is overwritten.  Use this sentinal when reading from the containers.

Use iterator::operator+(size_type) directly instead of std::advance,
because this only really makes sense if using RandomAccessIterators.
2015-07-22 21:23:49 +02:00
Stephen Kelly 8d336875b3 cmMakefile: Use Ranges for buildsystem property access.
Don't return vector copies.
2015-07-22 20:25:48 +02:00
Stephen Kelly 514a1dff5b cmAlgorithms: Add some convenient typedefs. 2015-07-22 20:25:47 +02:00
Stephen Kelly c7b39d06f9 cmMakefile: Split accessors for include directories and origins. 2015-07-22 20:25:47 +02:00
Stephen Kelly b2de25aded cmMakefile: Split accessors for compile options and origins. 2015-07-22 20:25:46 +02:00
Stephen Kelly d6239507b2 cmMakefile: Split accessors for compile definitions and origins. 2015-07-22 20:25:45 +02:00
Stephen Kelly ef17bbefd7 cmMakefile: Separate storage of buildsystem properties and their origins.
This simplifies some existing and upcoming algorithms.
2015-07-22 20:25:43 +02:00
Stephen Kelly a89c02ce3d cmMakefile: Out of line some API. 2015-07-22 20:06:23 +02:00
Stephen Kelly b19587e7d7 cmMakefile: Remove some references from APIs. 2015-07-22 20:06:22 +02:00
Brad King e00e8713de Merge topic 'export-no-custom-target'
7e9f908e export: Reject custom target exports earlier (#15657)
3b09398a Tests: Teach RunCMake.export to enable languages only when needed
2015-07-22 11:04:32 -04:00
Brad King 4c3d431210 Merge topic 'target-directory-properties'
45c5f8ca Add SOURCE_DIR and BINARY_DIR target properties
2015-07-22 11:04:30 -04:00
Stephen Kelly 1fe71e2ef0 cmAlgorithms: Move Range type out of private namespace. 2015-07-22 10:58:19 -04:00
Stephen Kelly 8ea0b81d20 cmAlgorithms: Rename cmRange to cmMakeRange. 2015-07-22 10:58:19 -04:00
Brad King a398acd02f Revert "CMake 3.3.0"
This reverts commit 0e3cfc134c.
Due to VS 2015 RTM being released, additional changes are needed
to CMake 3.3.
2015-07-22 08:35:21 -04:00
Kitware Robot 91d2497286 CMake Nightly Date Stamp 2015-07-22 00:01:06 -04:00
Brad King 7e9f908ef5 export: Reject custom target exports earlier (#15657)
Diagnose and reject custom targets given to the export() command
immediately.  Previously we would generate an internal error later.
2015-07-21 14:39:10 -04:00
Clifford Yapp 45c5f8cad2 Add SOURCE_DIR and BINARY_DIR target properties
This will allow project code to recover the directory information about
where a target was created.
2015-07-21 14:19:35 -04:00
Brad King 5b2754d41f Merge topic 'remove-special-MACROS-handling'
41bb831f cmMakefile: Remove special handling of MACROS property.
2015-07-21 09:22:23 -04:00
Brad King e13c189743 Merge topic 'remove-special-LINK_DIRECTORIES-handling'
881613c4 cmMakefile: Remove special handling of LINK_DIRECTORIES property.
35734260 cmMakefile: Inline only use of GetLinkDirectories.
2015-07-21 09:22:21 -04:00
Brad King ae64efa1ce Merge topic 'cmState-Directory'
9ebc7502 cmState: Extract a Directory class.
27ec21db cmState: Forward-declare a type earlier.
2015-07-21 09:22:19 -04:00
Brad King 93b393e74c Merge topic 'remove-Properties-accessor'
c6055d9d cmMakefile: Remove GetProperties method.
cbe3ee58 cmMakefile: Add a PropertyKeys accessor.
2015-07-21 09:22:17 -04:00
Brad King 64aa41b248 Merge topic 'clean-up-include_regular_expression'
4efda261 cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION.
2015-07-21 09:22:15 -04:00
Brad King ce597a022b Merge topic 'minor-cleanups'
cff2dc34 cmLocalUnixMakefileGenerator3: Port away from the Parent.
5505bff7 cmMakefile: Add include which we use.
2007d11c cmState: Remove unused variable.
a622b829 cmGetCMakePropertyCommand: Clean up VARIABLES handling.
52f22616 cmListFileBacktrace: Constify API.
fc1c7cf8 Genex: Store a backtrace, not a pointer to one.
4dc45707 cmMakefile: Fix indentation.
12c82fd8 cmMakefile: Remove dead code.
f19653eb CodeLite: Remove unused code.
2015-07-21 09:22:13 -04:00
Brad King b953d526d1 Merge topic 'remove-ListFileStack'
640fc5b5 cmMakefile: Remove unused ListFileStack.
54cc0c0e cmMakefile: Port some users of ListFileStack to cmState.
e77c4666 cmMakefile: Remove obsolete condition.
8e7d3030 cmMakefile: Simplify setting of current snapshot.
6083ec9a cmMakefile: Implement LISTFILE_STACK property in terms of cmState.
647b533b cmMakefile: Implement FormatListFileStack in terms of cmState.
2015-07-21 09:22:10 -04:00
Kitware Robot 533798275c CMake Nightly Date Stamp 2015-07-21 00:01:05 -04:00
Brad King 0e3cfc134c CMake 3.3.0 2015-07-20 11:05:01 -04:00
Kitware Robot 04b45acc3d CMake Nightly Date Stamp 2015-07-20 00:01:05 -04:00
Stephen Kelly 41bb831fc9 cmMakefile: Remove special handling of MACROS property. 2015-07-19 16:01:39 +02:00
Kitware Robot 0d48bb6273 CMake Nightly Date Stamp 2015-07-19 00:01:06 -04:00
Stephen Kelly 9ebc7502b2 cmState: Extract a Directory class.
Move Directory-scoped state accessors to it.  This will be expanded
with directory property state soon.
2015-07-18 19:37:58 +02:00
Stephen Kelly 27ec21dbb2 cmState: Forward-declare a type earlier. 2015-07-18 19:09:51 +02:00
Stephen Kelly c6055d9d4c cmMakefile: Remove GetProperties method.
The storage details of properties do not belong in the API.
2015-07-18 18:59:41 +02:00
Stephen Kelly cbe3ee58ca cmMakefile: Add a PropertyKeys accessor. 2015-07-18 18:59:18 +02:00
Stephen Kelly cff2dc34f9 cmLocalUnixMakefileGenerator3: Port away from the Parent. 2015-07-18 18:43:17 +02:00
Stephen Kelly 5505bff7ae cmMakefile: Add include which we use.
Don't rely on this through the cmLocalGenerator include.
2015-07-18 18:40:36 +02:00
Stephen Kelly 2007d11caf cmState: Remove unused variable. 2015-07-18 14:40:12 +02:00
Stephen Kelly a622b829bd cmGetCMakePropertyCommand: Clean up VARIABLES handling. 2015-07-18 14:39:51 +02:00
Stephen Kelly 4efda261fe cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION.
It costs an extra cmMakefile member and extra code to maintain in
directory property handling.  Remove documentation note that it
is read-only and specify high-level command to populate it.
2015-07-18 14:10:34 +02:00
Stephen Kelly 881613c4ab cmMakefile: Remove special handling of LINK_DIRECTORIES property.
There is no need to handle it in a special way.
2015-07-18 13:56:48 +02:00
Stephen Kelly 357342602d cmMakefile: Inline only use of GetLinkDirectories. 2015-07-18 13:45:43 +02:00
Stephen Kelly 640fc5b54a cmMakefile: Remove unused ListFileStack. 2015-07-18 13:27:19 +02:00
Stephen Kelly 54cc0c0e1f cmMakefile: Port some users of ListFileStack to cmState. 2015-07-18 13:26:06 +02:00
Stephen Kelly e77c46664c cmMakefile: Remove obsolete condition. 2015-07-18 13:22:51 +02:00
Stephen Kelly 8e7d303077 cmMakefile: Simplify setting of current snapshot. 2015-07-18 13:17:24 +02:00
Stephen Kelly 6083ec9a78 cmMakefile: Implement LISTFILE_STACK property in terms of cmState. 2015-07-18 13:12:07 +02:00
Stephen Kelly 647b533bce cmMakefile: Implement FormatListFileStack in terms of cmState. 2015-07-18 13:11:45 +02:00
Stephen Kelly 52f2261685 cmListFileBacktrace: Constify API. 2015-07-18 11:10:15 +02:00
Kitware Robot e7fbd489e0 CMake Nightly Date Stamp 2015-07-18 00:01:05 -04:00
Stephen Kelly fc1c7cf85d Genex: Store a backtrace, not a pointer to one.
The storage of a pointer means that the ownership and lifetime are
externally determined, which is harder to reason about. It also imposes
API constraints, requiring APIs to return references to backtraces.

This pointer storage was introduced in commit v3.1.0-rc1~425^2~3 (genex:
remove the need for backtraces, 2014-05-23).  As backtraces are now cheap
to copy around, just do that instead.
2015-07-17 22:14:37 +02:00
Stephen Kelly 4dc4570734 cmMakefile: Fix indentation. 2015-07-17 22:14:37 +02:00
Stephen Kelly 12c82fd8c0 cmMakefile: Remove dead code. 2015-07-17 22:14:36 +02:00
Stephen Kelly f19653eb94 CodeLite: Remove unused code. 2015-07-17 22:14:36 +02:00
Brad King a5412fbab4 Merge topic 'ctest-change-id'
601ff0ec CTest: Optionally add a ChangeId attribute on XML Site tags
2015-07-17 10:36:17 -04:00
Zack Galbreath 601ff0ec55 CTest: Optionally add a ChangeId attribute on XML Site tags
Add variable CTEST_CHANGE_ID to configure the setting.  This allows
CTest clients to give CDash information about what change is being
tested so that CDash can take actions to report the results (e.g. to a
pull request page).
2015-07-17 10:26:28 -04:00
Kitware Robot 386e1f796c CMake Nightly Date Stamp 2015-07-17 00:01:04 -04:00
Kitware Robot 651acac338 CMake Nightly Date Stamp 2015-07-16 00:01:05 -04:00
Brad King 47765a5767 Merge topic 'update-kwsys'
540f0253 Merge branch 'upstream-kwsys' into update-kwsys
dc822da8 KWSys 2015-07-10 (c9336bcf)
2015-07-15 09:08:22 -04:00
Brad King 540f02531b Merge branch 'upstream-kwsys' into update-kwsys 2015-07-15 09:07:04 -04:00
Brad King 77fa27a9f5 Merge topic 'makefile-target-messages'
f0cad193 Tests: Add test for TARGET_MESSAGES global property
1d398478 Makefile: Optionally disable target completion messages in build output
d560b46f CMakeGenericSystem: Recognize Watcom WMake generator as Makefile generator
2015-07-15 09:05:51 -04:00
Brad King 5bd01a4b69 Merge topic 'vs-nsight-tegra-attributes'
8c0afaf4 VS: Add more Nsight Tegra generator Android property settings
2015-07-15 09:05:49 -04:00
Kitware Robot 94755bd34d CMake Nightly Date Stamp 2015-07-15 00:01:07 -04:00
Mikhail Filimonov 8c0afaf450 VS: Add more Nsight Tegra generator Android property settings
Extend the Nsight Tegra project generator to add bunch of properties
with the backing variables to fine-tune the generated projects.

Add target properties that map to all "Configuration" PropertyGroups for
each configuration:

* ANDROID_ARCH
* ANDROID_STL_TYPE

Add target properties that map to the AntBuild section of vcxproj files:

* ANDROID_ANT_ADDITIONAL_OPTIONS
* ANDROID_ASSETS_DIRECTORIES
* ANDROID_JAR_DEPENDENCIES
* ANDROID_JAR_DIRECTORIES
* ANDROID_JAVA_SOURCE_DIR
* ANDROID_NATIVE_LIB_DEPENDENCIES
* ANDROID_NATIVE_LIB_DIRECTORIES
* ANDROID_PROCESS_MAX
* ANDROID_PROGUARD
* ANDROID_PROGUARD_CONFIG_PATH
* ANDROID_SECURE_PROPS_PATH
* ANDROID_SKIP_ANT_STEP

Reviewed-by: Dmitry Polyanitsa <dpolyanitsa@nvidia.com>
2015-07-14 14:24:05 -04:00
Michael Ensslin 1d3984780d Makefile: Optionally disable target completion messages in build output
Add a TARGET_MESSAGES property to control whether Makefile targets print
the "Built target " completion messages.  Default to ON to preserve
existing behavior.
2015-07-14 13:57:58 -04:00
Brad King 7a40998329 Merge topic 'coverage_no_tests'
e6cf1c48 ctest_coverage: Always do coverage for CTEST_EXTRA_COVERAGE_GLOB
2015-07-14 10:34:30 -04:00
Brad King ead29a4e3d Merge topic 'refactor-rule-var-includes'
c736de7b Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables
6f94b03c Place <DEFINES> before <FLAGS> consistently across compilers
2015-07-14 10:34:28 -04:00
Brad King e7251049a4 Merge topic 'factor-out-common-generator'
80d75246 cmNinjaTargetGenerator: Restore addition of Fortran format flags
2015-07-14 10:34:24 -04:00
Kitware Robot 860c2055e5 CMake Nightly Date Stamp 2015-07-14 00:01:05 -04:00
Zack Galbreath e6cf1c489c ctest_coverage: Always do coverage for CTEST_EXTRA_COVERAGE_GLOB
Do not ignore a coverage request if CTEST_EXTRA_COVERAGE_GLOB was
specified.  Prior to this change, if no lines of code were covered by
any tests then CTest would neglect to generate a Coverage.xml file.
This change allows us to report uncovered files for a project with no
tests.
2015-07-13 14:17:59 -04:00
Brad King c736de7b28 Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables
Teach the Makefile and Ninja generators to substitute for an <INCLUDES>
placeholder instead of putting -I in <FLAGS>.  Update our values for

  CMAKE_<LANG>_COMPILE_OBJECT,
  CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and
  CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE

to place <INCLUDES> just before <FLAGS>.
2015-07-13 10:49:46 -04:00
Brad King 80d75246d4 cmNinjaTargetGenerator: Restore addition of Fortran format flags
Restore call to AppendFortranFormatFlags accidentally dropped by
commit 0837538e (cmCommonTargetGenerator: Adopt GetFlags method,
2015-07-09).  It was added originally by commit 6a56740e
(cmNinjaTargetGenerator: Add Fortran flag generation, 2015-07-09).
2015-07-13 09:54:33 -04:00
Brad King 8c9c9aa07f CMake 3.3.0-rc4 2015-07-13 09:20:37 -04:00
Brad King e30fe3eba2 Merge topic 'fix-command-rename'
d4f032b5 cmState: Restore renamed commands on cleanup.
2015-07-13 09:17:46 -04:00
Brad King b3a405badd Merge branch 'fix-command-rename' into release 2015-07-13 08:51:06 -04:00
Kitware Robot c8f46af11b CMake Nightly Date Stamp 2015-07-13 00:01:05 -04:00
Stephen Kelly d4f032b546 cmState: Restore renamed commands on cleanup.
Commit v3.3.0-rc1~196^2~7 (cmake: Simplify command clean up
loop., 2015-04-12) introduced a bug that built-in commands which
were renamed no longer had their original name restored when
cleanup is performed between configure runs.  Check for that
and restore the commands with their original name.

Extend the complex test for this. That test is run by ctest with
the --build-two-config command line option.
2015-07-12 10:09:54 +02:00
Kitware Robot e3f5e5d5b4 CMake Nightly Date Stamp 2015-07-12 00:01:04 -04:00
Kitware Robot b1e43a5647 CMake Nightly Date Stamp 2015-07-11 00:01:05 -04:00
Brad King 92b3bd50fe Merge topic 'autorcc-qt-5.1'
9a271e13 cmQtAutoGenerators: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)
2015-07-10 08:51:24 -04:00
Brad King 1dd96df94d Merge topic 'OUTPUT_NAME-genex'
809159c9 Add generator expression support to OUTPUT_NAME target property
9a1ef0dc Help: Improve OUTPUT_NAME documentation formatting
2015-07-10 08:51:21 -04:00
Brad King 42d0420649 Merge topic 'factor-out-common-generator'
fed5eb5b cmNinjaTargetGenerator: Use GetDefines method
eacacacd cmCommonTargetGenerator: Adopt GetDefines method
0837538e cmCommonTargetGenerator: Adopt GetFlags method
f4875bbd cmNinjaTargetGenerator: Add OX X framework flags
7891f5d7 cmMakefileTargetGenerator: Fix comment typo
73bfad72 cmNinjaTargetGenerator: Factor out AddIncludeFlags helper
6a56740e cmNinjaTargetGenerator: Add Fortran flag generation
058074d4 cmCommonTargetGenerator: Adopt GetFrameworkFlags
ab824018 cmCommonTargetGenerator: Adopt AppendFortranFormatFlags
0b22c0b8 cmCommonTargetGenerator: Adopt AddFortranFlags and friends
b2f51aef cmCommonTargetGenerator: Adopt Convert method
cdb5b657 cmCommonTargetGenerator: Adopt ModuleDefinitionFile member
beee7937 cmCommonTargetGenerator: Adopt GetFeature and friends
abfa5f2d cmCommonTargetGenerator: Adopt ConfigName member
9d41f6d8 cmLocalCommonGenerator: Adopt ConfigName member
a4a2518d cmLocalUnixMakefileGenerator3: Provide GetConfigName() accessor
...
2015-07-10 08:51:19 -04:00
Brad King 4b486ccb1b Merge topic 'move-command-line-escape-code'
df97bea2 cmOutputConverter: Adopt command line escaping code
bb7eefe4 cmOutputConverter: Adopt EscapeWindowsShellArgument method
cedd6e65 cmLocalVisualStudio7Generator: Remove unused include
30faf20c cmLocalGenerator: Remove unused include
2015-07-10 08:51:14 -04:00
Kitware Robot 9f9d26465f CMake Nightly Date Stamp 2015-07-10 00:01:06 -04:00
Brad King 9a271e1323 cmQtAutoGenerators: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)
In commit v3.2.0-rc1~480^2 (QtAutogen: Regenerate qrc files if their
input changes, 2014-09-17) we added use of the rcc "--list" option.
Prior to Qt 5.2 this option was called just "-list", and the older name
is still supported by the newer tools.  Use the older name of the option
for compatibility with Qt 5.0 and 5.1.
2015-07-09 13:02:07 -04:00
Robert Goulet 809159c9b7 Add generator expression support to OUTPUT_NAME target property 2015-07-09 11:48:10 -04:00
Brad King fed5eb5b0e cmNinjaTargetGenerator: Use GetDefines method
Simplify the per-source ComputeDefines implementation by getting
target-wide defines from GetDefines.  Technically this changes behavior
by no-longer de-duplicating/sorting defines from both the target and the
source, but this makes it consistent with the Makefile generator.  It
may also later help move target-wide defines into per-target compilation
rules.
2015-07-09 10:15:08 -04:00
Brad King eacacacdce cmCommonTargetGenerator: Adopt GetDefines method
Move the member up from cmMakefileTargetGenerator so it can be re-used
later by cmNinjaTargetGenerator.
2015-07-09 10:10:25 -04:00
Brad King 0837538e46 cmCommonTargetGenerator: Adopt GetFlags method
De-duplicate per-target flag computation in Makefile and Ninja target
generators.
2015-07-09 10:06:24 -04:00
Brad King f4875bbdd6 cmNinjaTargetGenerator: Add OX X framework flags
Teach ComputeFlagsForObject to add -F flags just like the Makefile
generator does.
2015-07-09 10:04:10 -04:00
Brad King 7891f5d7e7 cmMakefileTargetGenerator: Fix comment typo 2015-07-09 10:04:00 -04:00
Brad King 73bfad72d3 cmNinjaTargetGenerator: Factor out AddIncludeFlags helper
Factor an AddIncludeFlags method out of ComputeFlagsForObject just like
cmMakefileTargetGenerator has already.
2015-07-09 09:59:25 -04:00
Brad King 6a56740e27 cmNinjaTargetGenerator: Add Fortran flag generation
Make ComputeFlagsForObject consistent with the Makefile generator
in regard to Fortran flags.
2015-07-09 09:54:56 -04:00
Brad King 058074d499 cmCommonTargetGenerator: Adopt GetFrameworkFlags
Move the member up from cmMakefileTargetGenerator.
2015-07-09 09:50:07 -04:00
Brad King ab8240189d cmCommonTargetGenerator: Adopt AppendFortranFormatFlags
Move up from cmMakefileTargetGenerator.
2015-07-09 09:50:07 -04:00
Brad King 0b22c0b815 cmCommonTargetGenerator: Adopt AddFortranFlags and friends
Move AddFortranFlags, GetFortranModuleDirectory, and supporting members
up from cmMakefileTargetGenerator.
2015-07-09 09:50:07 -04:00
Brad King b2f51aef0d cmCommonTargetGenerator: Adopt Convert method
Move it up from cmMakefileTargetGenerator.
2015-07-09 09:50:06 -04:00
Brad King cdb5b65752 cmCommonTargetGenerator: Adopt ModuleDefinitionFile member
De-duplicate the ModuleDefinitionFile and AddModuleDefinitionFlag
members from the Makefile and Ninja target generators.
2015-07-09 09:50:06 -04:00
Brad King beee793732 cmCommonTargetGenerator: Adopt GetFeature and friends
De-duplicate the GetFeature, GetFeatureAsBool, and AddFeatureFlags
members from the Makefile and Ninja target generators.
2015-07-09 09:50:06 -04:00
Brad King abfa5f2d1f cmCommonTargetGenerator: Adopt ConfigName member
De-duplicate the member from the Makefile and Ninja target generators.
2015-07-09 09:50:06 -04:00
Brad King 9d41f6d87b cmLocalCommonGenerator: Adopt ConfigName member
De-duplicate the member from the local Makefile and Ninja generators.
2015-07-09 09:50:06 -04:00
Brad King a4a2518dd4 cmLocalUnixMakefileGenerator3: Provide GetConfigName() accessor
Rename internal member from ConfigurationName to ConfigName to
match the ninja generator.
2015-07-09 09:50:05 -04:00
Brad King e7dcdd1011 cmCommonTargetGenerator: Adopt basic target generator members
De-duplicate the GeneratorTarget, Target, and Makefile members from the
local Makefile and Ninja generators.
2015-07-09 09:50:05 -04:00
Brad King 001f9b3617 Add common base classes to Makefile and Ninja generators
Provide a place to move functionality common to both.
2015-07-09 09:50:05 -04:00
Brad King ab4b662832 Merge topic 'cpack-ifw-framework-version'
ad5c76af CPackIFW: Load module to set CPACK_IFW_FRAMEWORK_VERSION
2015-07-09 09:17:23 -04:00
Brad King 5827d9a626 Merge topic 'eclipse-cygwin-paths'
a672b16a Eclipse: Fix paths in target links on cygwin
2015-07-09 09:17:22 -04:00
Brad King 6b4fccd1a6 Merge topic 'empty-LINK_LIBRARIES'
7aa9e80e set_property: Fix crash when setting LINK_LIBRARIES to nothing
2015-07-09 09:17:17 -04:00
Brad King 53f8ef66a5 Merge topic 'update-kwsys'
65de27b8 Merge branch 'upstream-kwsys' into update-kwsys
42272a82 KWSys 2015-07-07 (8504e845)
2015-07-09 09:17:14 -04:00
Kitware Robot aa550e04f3 CMake Nightly Date Stamp 2015-07-09 00:01:06 -04:00
Brad King 6c16bd5388 Merge branch 'cpack-ifw-framework-version' into release 2015-07-08 16:08:58 -04:00
Konstantin Podsvirov ad5c76af64 CPackIFW: Load module to set CPACK_IFW_FRAMEWORK_VERSION
This setting was added to support QtIFW 2.0 in commit v3.3.0-rc1~70^2~1
(CPackIFW: Add QtIFW 2.0 support, 2015-04-27).  We need to load the
CPackIFW module to initialize it if it is not set.
2015-07-08 16:02:03 -04:00
Markus Grech a672b16a3a Eclipse: Fix paths in target links on cygwin
Add a missing GetEclipsePath call to fix generation of incorrect paths
for target links in Eclipse CDT generator which caused Eclipse to be
unable to open files through such links.  Without this the generator
would generate invalid links for source files under "[Targets]", making
Eclipse unable to open them.  The old links looked like
"C:/cygdrive/c/...", while new links correctly are "C:/...".
2015-07-08 14:29:11 -04:00
Brad King d805767545 Merge branch 'empty-LINK_LIBRARIES' into release 2015-07-08 13:27:29 -04:00
Brad King 7aa9e80e35 set_property: Fix crash when setting LINK_LIBRARIES to nothing
We use a special dedicated structure to store the LINK_LIBRARIES target
property.  Do not try to construct a string from a NULL value.  Instead
leave the property structure empty when no value is given.

Reported-by: Ghyslain Leclerc <ghleclerc@gmail.com>
2015-07-08 13:23:16 -04:00
Brad King c66d232c9c Merge topic 'string-append'
2b18cdca string: add APPEND subcommand
2015-07-08 09:21:52 -04:00
Brad King 0d457c3199 Merge topic 'preserve-generator-on-failure'
3b60232e cmake: Preserve cached CMAKE_GENERATOR when an error occurs (#15640)
2015-07-08 09:19:14 -04:00
Brad King 66e0681ea0 Merge topic 'cmake-install-components'
9ce7a663 Utilities/Sphinx: Add CMake_OPTIONAL_COMPONENT macro
d7725a17 CMake: Add cmakexbuild component as REQUIRED to Tools group for IFW installer
ecca2685 CMake: optional show LGPLv2.1 license when install cmake-gui component
c14f20f7 CMake: Fix Web Site shortcut in IFW installer for Windows
c823f04e CMake: New option CMake_INSTALL_COMPONENTS
7383e4d7 CMake: Install COMPONENTs (sphinx-man)
2531b909 CMake: Install COMPONENTs (QtDialog)
938bbc43 CMake: Install COMPONENTs
2015-07-08 09:19:12 -04:00
Brad King 8c1460653e Merge topic 'add-apple-swift-language'
bf112531 Add rudimentary support for the Apple Swift language with Xcode
2015-07-08 09:19:10 -04:00
Brad King ad91d0edd5 Merge topic 'auto_export_dll_symbols'
8f86407c Windows: Optionally generate DLL module definition files automatically
069aa93b bindexplib: Add support for "/bigobj" format objects
61bbbdcf bindexplib: Fix treatment of some symbols
de70c922 bindexplib: Teach DumpFile to return errors
8ea69dfe bindexplib: Build source as part of CMakeLib
2963cb2a bindexplib: Wrap long lines
4ff09893 bindexplib: Drop code that CMake does not need
7de8276c bindexplib: Add copyright/license notice block
65086ad7 bindexplib: Import original implementation from CERN
2015-07-08 09:19:07 -04:00
Brad King df97bea242 cmOutputConverter: Adopt command line escaping code
Port code from the KWSys System_Shell APIs into cmOutputConverter.
Drop it from our copy of KWSys because upstream will drop it too,
and by doing it in this commit 'git blame' may have an easier time
connecting the history of the content.
2015-07-08 09:09:49 -04:00
Brad King bb7eefe4dd cmOutputConverter: Adopt EscapeWindowsShellArgument method
Move it out of cmSystemTools and into cmOutputConverter.
2015-07-08 09:00:00 -04:00
Brad King cedd6e65d2 cmLocalVisualStudio7Generator: Remove unused include 2015-07-08 09:00:00 -04:00
Brad King 30faf20caf cmLocalGenerator: Remove unused include 2015-07-08 09:00:00 -04:00
Brad King 65de27b856 Merge branch 'upstream-kwsys' into update-kwsys 2015-07-08 08:58:51 -04:00
Kitware Robot b98574dab2 CMake Nightly Date Stamp 2015-07-08 00:01:05 -04:00
Brad King 3b60232ebc cmake: Preserve cached CMAKE_GENERATOR when an error occurs (#15640)
Since commit v2.4.0~4158 (When the initially configured generator is
invalid, allow the user to change the generator without deleting the cache
by hand, 2003-05-13) we remove CMAKE_GENERATOR from the cache if an error
occurs and CMAKE_MAKE_PROGRAM is not cached.  This worked at the time
because all generators initialized the CMAKE_MAKE_PROGRAM cache entry.
Since commit v3.0.0-rc1~260^2~4 (VS: Switch to internal CMAKE_MAKE_PROGRAM
lookup by generators, 2013-11-15) and commit v3.2.0-rc1~39^2 (Xcode:
Switch to internal CMAKE_MAKE_PROGRAM lookup by generator, 2015-01-28) the
VS and Xcode generators no longer store CMAKE_MAKE_PROGRAM in the cache.
Therefore any error during generation would wipe out CMAKE_GENERATOR from
the cache and cause the next configuration to choose a default generator.

Simply drop the behavior introduced by the original commit and always
preserve CMAKE_GENERATOR.  Since the time that behavior was introduced a
lot more state is now saved in CMakeCache.txt and CMakeFiles/ during the
initial configuration so it is not safe to change generators without
starting fresh anyway.
2015-07-07 14:12:38 -04:00
Brad King 86bbcdfeb8 Merge topic 'tar-portability'
edae4023 cmArchiveWrite: do not store sparse files when using standard tar formats
2015-07-07 09:53:52 -04:00
Brad King b33b5cd317 Merge topic 'refactor-cmListFileBacktrace'
d2475bb5 cmListFileBacktrace: Implement in terms of cmState::Snapshot.
238aac23 cmListFile: Remove FilePath member from cmListFileContext.
329098a9 cmMakefile: Set the FilePath on the frame from the cmState.
91158a33 cmMakefile: Create intermediate variables for snapshot frames.
821f91d6 cmMakefile: Create a scoped context for parsing listfiles.
30d44efa cmMakefile: Access the execution list file from the cmState.
6361f680 cmState: Store execution context.
94704d75 cmState: Add GetCallStackParent method.
a8e54460 cmState: Store snapshots for more different types.
dbafb015 cmMakefile: Split CallStack into two pieces.
27ff19a9 cmLinkedTree: Add operator* to the iterator.
2015-07-07 09:53:46 -04:00
Brad King 18fdf13192 Merge topic 'ctest-progress-ticks'
140b1864 CTest: hide progress ticks in verbose output
2015-07-07 09:53:44 -04:00
Brad King 43fafabd99 Merge topic 'fortran-module-preprocessor-defs'
0a203db5 Fortran: Fix passing of preprocessor definitions to dependency scanner
2015-07-07 09:53:42 -04:00
Daniel Pfeifer 2b18cdcaba string: add APPEND subcommand 2015-07-07 09:23:21 -04:00
Konstantin Podsvirov c14f20f7dd CMake: Fix Web Site shortcut in IFW installer for Windows 2015-07-07 09:16:44 -04:00
Konstantin Podsvirov c823f04e0c CMake: New option CMake_INSTALL_COMPONENTS
By default is OFF.
Now it's used with CPack IFW himself installer.
2015-07-07 09:16:40 -04:00
Konstantin Podsvirov 2531b90954 CMake: Install COMPONENTs (QtDialog)
Added "COMPONENT cmake-gui" for all install commands in lists file
2015-07-07 08:11:09 +03:00
Konstantin Podsvirov 938bbc4352 CMake: Install COMPONENTs
Added components:
- cmake
- ctest
- cpack
- cmake-gui
- ccmake
- data
- sphinx-html
- sphinx-singlehtml
- sphinx-qthelp

Other now Unspecified.
2015-07-07 08:11:09 +03:00
Kitware Robot fd23fc5711 CMake Nightly Date Stamp 2015-07-07 00:01:05 -04:00
Brad King bf11253163 Add rudimentary support for the Apple Swift language with Xcode
Allow the `Swift` language to be enabled with the Xcode generator for
Xcode >= 6.1.  Reject it on other generators and with older Xcode
versions.  Since Apple is the only vendor implementing the language
right now, the compiler id can be just `Apple`.
2015-07-06 16:15:49 -04:00
Roman Donchenko edae40239e cmArchiveWrite: do not store sparse files when using standard tar formats
Sparse files in tars are a GNU extension that libarchive will use if it
detects holes in the input file, even when using the standard pax/paxr
formats. Not all tar implementations can handle sparse files; in particular,
the internal implementation dpkg uses to extract packages can't. To
maximize archive portability, turn this feature off by clearing the
sparseness information from archive entries.
2015-07-06 15:01:08 -04:00
Daniel Pfeifer 140b186480 CTest: hide progress ticks in verbose output
The progress ticks and information about the length of the output are
useful when the actual output is not visible.  When the output is
printed, the progress ticks

* add no useful information,
* do not look pretty, and
* make the output hard to parse for tools.
2015-07-06 14:04:35 -04:00
Stephen Kelly d2475bb5c4 cmListFileBacktrace: Implement in terms of cmState::Snapshot.
Avoid copying many strings into each backtrace object.
2015-07-06 11:22:42 -04:00
Stephen Kelly 238aac2351 cmListFile: Remove FilePath member from cmListFileContext.
There is no need to store the FilePath for every function, as it is
known by other means.
2015-07-06 11:22:41 -04:00
Stephen Kelly 329098a9a0 cmMakefile: Set the FilePath on the frame from the cmState.
To verify unit tests pass and for future bisecting.
2015-07-06 11:22:41 -04:00
Stephen Kelly 91158a3369 cmMakefile: Create intermediate variables for snapshot frames. 2015-07-06 11:22:41 -04:00
Stephen Kelly 821f91d6ab cmMakefile: Create a scoped context for parsing listfiles.
Update the Syntax tests to check for updated/improved backtraces.
2015-07-06 11:22:41 -04:00
Bill Hoffman 8f86407cfd Windows: Optionally generate DLL module definition files automatically
Create target property WINDOWS_EXPORT_ALL_SYMBOLS to automatically
generate a module definition file from MS-compatible .obj files and give
it to the linker in order to export all symbols from the .dll part of a
SHARED library.
2015-07-06 11:11:02 -04:00
Bill Hoffman 069aa93b55 bindexplib: Add support for "/bigobj" format objects 2015-07-06 11:11:01 -04:00
Bill Hoffman 61bbbdcf9c bindexplib: Fix treatment of some symbols 2015-07-06 11:11:01 -04:00
Bill Hoffman de70c922d9 bindexplib: Teach DumpFile to return errors
This will allow callers to know if it worked.
2015-07-06 11:11:01 -04:00
Bill Hoffman 8ea69dfef1 bindexplib: Build source as part of CMakeLib 2015-07-06 11:11:01 -04:00
Bill Hoffman 2963cb2a55 bindexplib: Wrap long lines 2015-07-06 11:11:01 -04:00
Bill Hoffman 4ff0989323 bindexplib: Drop code that CMake does not need 2015-07-06 11:11:00 -04:00
Bill Hoffman 7de8276ca9 bindexplib: Add copyright/license notice block 2015-07-06 11:11:00 -04:00
Bill Hoffman 65086ad778 bindexplib: Import original implementation from CERN
Download the original implementation provided by root.cern.ch with the
following session:

$ wget https://raw.githubusercontent.com/gordonwatts/root-vc-port/f0ee59af/build/win/bindexplib/bindexplib.cxx
$ sha1sum bindexplib.cxx
fa6efafb2c58a0644bd0f6a56fe02ee0d55c7fcd  bindexplib.cxx
$ sed -i 's/ *$//;s/'$'\t''/        /' bindexplib.cxx
2015-07-06 11:10:58 -04:00
Brad King b37fb49646 Merge branch 'fortran-module-preprocessor-defs' into release 2015-07-06 10:42:42 -04:00
Brad King 0a203db5dc Fortran: Fix passing of preprocessor definitions to dependency scanner
In commit v3.3.0-rc1~352^2~3 (Genex: Allow COMPILE_LANGUAGE when
processing compile definitions, 2015-03-04) the name of the variable
used to pass preprocessor definitions to the Fortran dependency scanner
was changed to be per-language, but the actual dependency scanning code
was not updated accordingly.  Update the code and add a test case.

Reported-by: Radovan Bast <radovan.bast@gmail.com>
2015-07-06 10:35:02 -04:00
Brad King 7e86f567ac Merge topic 'show-number-of-tests'
42747fcc CTest: Show the number of tests for each label in the summary
2015-07-06 10:08:00 -04:00
Betsy McPhail 42747fcc73 CTest: Show the number of tests for each label in the summary 2015-07-06 10:06:35 -04:00
Kitware Robot d1db123e1c CMake Nightly Date Stamp 2015-07-06 00:01:04 -04:00
Stephen Kelly 30d44efaf8 cmMakefile: Access the execution list file from the cmState. 2015-07-06 01:37:17 +02:00
Stephen Kelly 6361f68056 cmState: Store execution context.
Extend snapshot creation API to store the file being executed and the
entry point to get to that context.
2015-07-06 01:37:15 +02:00
Stephen Kelly 94704d759c cmState: Add GetCallStackParent method. 2015-07-05 16:56:36 +02:00
Kitware Robot 4127a638b0 CMake Nightly Date Stamp 2015-07-05 00:01:04 -04:00
Stephen Kelly a8e5446024 cmState: Store snapshots for more different types.
Adjust cmMakefile implementation to create the snapshots.
2015-07-04 11:51:27 +02:00
Stephen Kelly dbafb01580 cmMakefile: Split CallStack into two pieces. 2015-07-04 11:51:27 +02:00
Stephen Kelly 27ff19a96a cmLinkedTree: Add operator* to the iterator. 2015-07-04 11:51:27 +02:00
Kitware Robot 9b7904d528 CMake Nightly Date Stamp 2015-07-04 00:01:04 -04:00
Kitware Robot 58853582be CMake Nightly Date Stamp 2015-07-03 00:01:05 -04:00
Brad King d59ab78585 Merge topic 'ctest-test-load'
f62d301b ctest: Optionally avoid starting tests that may exceed a given CPU load
07c550ca cmCTestMultiProcessHandler: Refactor RUN_SERIAL implementation
8bf5a80b cmSystemTools: Add StringToULong helper
dffc307c Tests: Teach RunCMake infrastructure to optionally timeout
2015-07-02 10:00:51 -04:00
Brad King 3ae8e84ef5 Merge topic 'update-kwsys'
701226de Merge branch 'upstream-kwsys' into update-kwsys
799c1575 KWSys 2015-07-02 (1f19c187)
2015-07-02 09:06:19 -04:00
Brad King ef97d4429f Merge topic 'use-generator-target'
d4a8a554 cmGlobalGenerator: Map local generators to generator targets.
faec4e61 cmComputeTargetDepends: Change API to use cmGeneratorTarget.
2015-07-02 09:06:17 -04:00
Brad King 5647b243be Merge topic 'clean-up-cmMakefile'
48c6a92b cmMakefile: Merge two Scope types and instances.
e28e110d cmMakefile: Rename a variable.
3f5200ec cmMakefile: Expand the scope of scoped buildsystem file state.
0a34ea59 cmMakefile: Compute the filename processed in a scope.
be5997ef cmMakefile: Inline ProcessBuildsystemFile into only caller.
5bf9bfda cmMakefile: Don't use string comparison to check directory level.
f346d88d cmMakefile: Avoid invoking EnforceDirectoryLevelRules.
b6614031 cmMakefile: Add filename to ReadListFile auto scopes.
6708d216 cmMakefile: Remove IncludeScope Quiet call.
0818737c cmMakefile: Make listfile scopes responsible for logical checks.
dd7e4275 cmMakefile: Move the lexical scope.
92cecd93 cmMakefile: Add automatic scopes to listfile readers.
276c6225 cmMakefile: Move the IncludeScope to where it is used.
2015-07-02 09:06:13 -04:00
Brad King 701226de27 Merge branch 'upstream-kwsys' into update-kwsys 2015-07-02 08:54:12 -04:00
Kitware Robot c6976b0b78 CMake Nightly Date Stamp 2015-07-02 00:01:04 -04:00
Stephen Kelly d4a8a554ea cmGlobalGenerator: Map local generators to generator targets. 2015-07-01 19:46:19 +02:00
Stephen Kelly faec4e611d cmComputeTargetDepends: Change API to use cmGeneratorTarget. 2015-07-01 19:46:19 +02:00
Kitware Robot 09993d888a CMake Nightly Date Stamp 2015-07-01 00:01:05 -04:00
Stephen Kelly 48c6a92b28 cmMakefile: Merge two Scope types and instances. 2015-06-30 23:14:22 +02:00
Stephen Kelly e28e110d22 cmMakefile: Rename a variable. 2015-06-30 23:14:22 +02:00
Stephen Kelly 3f5200ec5f cmMakefile: Expand the scope of scoped buildsystem file state. 2015-06-30 23:14:21 +02:00
Stephen Kelly 0a34ea597a cmMakefile: Compute the filename processed in a scope. 2015-06-30 23:14:21 +02:00
Stephen Kelly be5997ef77 cmMakefile: Inline ProcessBuildsystemFile into only caller. 2015-06-30 23:14:21 +02:00
Stephen Kelly 5bf9bfda3f cmMakefile: Don't use string comparison to check directory level. 2015-06-30 23:14:20 +02:00