Commit Graph

29798 Commits

Author SHA1 Message Date
Stephen Kelly 3b880a0741 cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.
Refactor the local generator creation API to accept a
cmState::Snapshot.  Adjust MakeLocalGenerator to use the 'current'
snapshot in cases where there is no parent.  Create the snapshot
for subdirectories in cmMakefile::AddSubdirectory.

This means that snapshots are now created at the point of extending the tree,
as appropriate, and independently of the cmLocalGenerator and cmMakefile they
represent the state for.
2015-05-27 09:18:32 -04:00
Stephen Kelly e12afe766e cmState: Host some state from the cmGlobalGenerator. 2015-05-27 09:18:31 -04:00
Stephen Kelly c7b79aa16a cmGlobalGenerator: Require a cmake instance in ctor.
It is required anyway, so this makes it explicit.
2015-05-27 09:18:31 -04:00
Kitware Robot fcafd0cfc6 CMake Nightly Date Stamp 2015-05-27 00:01:07 -04:00
Brad King 89253992b8 Tests: Add case for rejecting $<TARGET_FILE:...> on an INTERFACE library
Add an explicit test for this existing error.  We already cover it for
an OBJECT library but INTERFACE libraries are not allowed either.
2015-05-26 11:53:36 -04:00
Daniel Pfeifer de2ef3053c cmCTest: Drop unused method overloads
The StartXML, EndXML, and AddSiteProperties overloads that take a stream
directly are no longer called anywhere.  All clients hvae been ported to
cmXMLWriter.  Drop the old overloads.
2015-05-26 11:09:22 -04:00
Daniel Pfeifer b04500a725 cmCTest{Test,MemCheck}Handler: Port to cmXMLWriter 2015-05-26 11:09:22 -04:00
Daniel Pfeifer 8fbc509a48 cmCTestCoverageHandler: Port to cmXMLWriter 2015-05-26 11:09:22 -04:00
Daniel Pfeifer 82455a9d3a cmCTestBuildHandler: Port to cmXMLWriter 2015-05-26 11:09:22 -04:00
Daniel Pfeifer 1dbd86fd6d cmCTestLaunch: Port to cmXMLWriter 2015-05-26 11:09:21 -04:00
Daniel Pfeifer a53bd63e0c cmCTest: Port GenerateNotesFile to cmXMLWriter 2015-05-26 11:09:21 -04:00
Daniel Pfeifer 9c0bb7d807 cmCTestConfigureHandler: Port to cmXMLWriter 2015-05-26 11:09:21 -04:00
Daniel Pfeifer 6cf5cc717f cmCTestUploadHandler: Port to cmXMLWriter 2015-05-26 11:09:21 -04:00
Daniel Pfeifer ed42c203ed cmCTestUpdateHandler: Port to cmXMLWriter 2015-05-26 11:09:21 -04:00
Daniel Pfeifer 18825bafd9 cmCTest: Port to cmXMLWriter
Re-implement StartXML, EndXML, and AddSiteProperties using cmXMLWriter.
Leave the old overloads behind for use by CTest/* until they are ported.
2015-05-26 11:09:20 -04:00
Daniel Pfeifer f6413400a0 Add cmXMLWriter class to consolidate XML generation
Explicitly track XML generation state (indentation, element closure,
etc.) so that clients can avoid manually/implicitly maintaining it.
2015-05-26 11:09:20 -04:00
Daniel Pfeifer b26e5b552a CTest: Generate NamedMeasurement elements directly into xml file
Re-order the logic to avoid use of a temporary std::ostringstream.
2015-05-26 10:40:00 -04:00
Daniel Pfeifer 965cf8e66e CTest: Drop stray content from Configure.xml
Remove content left accidentally since commit v2.4.0~2876 (some bug
fixes for my recent checkins and some more cleanup, 2004-09-07).
2015-05-26 10:39:45 -04:00
Brad King bd2ef44b55 Intel: Disable Fortran optimizations for Debug config on Windows (#15583)
The "/Od" flag is used for C and C++ languages in this configuration so
we should use it for Fortran too.

Suggested-by: Oleg V. Zhylin <ovz@yahoo.com>
2015-05-26 10:25:31 -04:00
Michael Scott 9217b678b3 jsoncpp: Provide 'isfinite' impl on more HP-UX versions (#15576)
Some versions of HP-UX do not define 'isfinite' or 'finite' in math.h
for Itanium when preprocessing with C++, so we have to add the
definition ourselves instead to map to the internal version.
2015-05-26 10:12:25 -04:00
Brad King 12b9005d7c Merge topic 'extend-visibility-properties'
700f1c3b Honor visibility properties for all target types (#15556)
50de5dbb Help: Format visibility property and variable documentation
771f1b00 Tests: Rename Visibility{InlinesHidden =>}
ab55b3b5 Tests: Refactor RunCMake.VisibilityPreset test setup
2015-05-26 09:24:00 -04:00
Brad King 129bf45dee Merge topic 'ExternalData-no-symlinks'
0de47b05 ExternalData: Add option to disable use of symlinks
2015-05-26 09:23:57 -04:00
Brad King 3638641396 Merge topic 'run-include-what-you-use'
b3475ba5 Makefile: Fix <LANG>_INCLUDE_WHAT_YOU_USE with CTEST_USE_LAUNCHERS
2015-05-26 09:23:54 -04:00
Brad King 9da84ab64a Ninja: Fix regression in .rsp file support
In commit a390de65 (Ninja: Generate separate compile and link rules for
each target, 2015-05-18) we removed the _RSP_FILE suffix from rule names
meant for targets that need to build with a .rsp file because we now use
per-target rules anyway.  Remove this suffix from references to the rule
too.

Reported-by: Herz Thomas <Thomas.Herz@kuka.com>
2015-05-26 09:15:10 -04:00
Brad King 700f1c3b2b Honor visibility properties for all target types (#15556)
The <LANG>_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN were first
merged in commit v2.8.12~322 (Merge topic 'VISIBILITY_PRESET-property',
2013-06-05) but worked only for shared libraries and executables with
exports.  Prior to commit v3.0.0-rc1~581^2 (GenerateExportHeader:
Deprecate add_compiler_export_flags function., 2013-09-02) the
add_compiler_export_flags function was used to add visibility flags to
all targets.

The visibility flags are useful for sources in all target types because
they may be later linked into shared libraries or executables with
exports.  Introduce policy CMP0063 to enable them for all target types
while preserving compatibility with existing projects that do not expect
this.
2015-05-26 09:03:16 -04:00
Kitware Robot 4f0125a45b CMake Nightly Date Stamp 2015-05-26 00:01:05 -04:00
Stephen Kelly f5b0a0fba4 cmMakefile: Don't pop the directory listfile off the stack.
Simplify the IssueMessage implementation.
2015-05-25 09:49:59 +02:00
Stephen Kelly e40fcb598d cmMakefile: Simplify convert condition.
The CallStack is checked above.
2015-05-25 09:21:56 +02:00
Kitware Robot cd8698167a CMake Nightly Date Stamp 2015-05-25 00:01:06 -04:00
Stephen Kelly 01e1cd5c1f cmState: Move snapshot creation to the cmake instance.
Don't create a snapshot in Initialize(), but leave the creation
responsibility to the cmake instance instead.  Previously, the
cmState would Initialize() in its constructor, and the cmake instance
would re-Initialize() during Configure().  The end result was the
same and there would be one snapshot present.  However, cmLocalGenerator
also created a snapshot on construction, and that one was used, leaving
the first snapshot unused, and potential for off-by-one errors.

Fix that by making the cmLocalGenerator use the existing snapshot
if it is top-level.  Add a CurrentSnapshot to the cmake instance and
populated it while configuring a directory.  This will eventually
replace the 'current local generator' concept.  Fix the GetParent
implementation to be able to return the first snapshot.
2015-05-24 13:30:24 +02:00
Stephen Kelly f69dcdfc38 GHS: Remove call to SetCurrentLocalGenerator.
It is not needed as cmLocalGenerator::Configure does this.
2015-05-24 13:29:48 +02:00
Stephen Kelly a4d230af7d GHS: Don't attempt to generate for IMPORTED or INTERFACE targets. 2015-05-24 13:29:48 +02:00
Stephen Kelly 550e08b012 GHS: Remove unnecessary condition. 2015-05-24 13:29:48 +02:00
Stephen Kelly d34467cd58 GHS: Remove unused CustomCommandUseLocal.
This was copied from the VS generator.  It is not an override of a base
class method.
2015-05-24 13:29:48 +02:00
Stephen Kelly 9afc9e8478 GHS: Remove BuildFileName.
It is never read or written.
2015-05-24 13:29:48 +02:00
Stephen Kelly 73245e5911 GHS: Remove unnecessary Configure override.
This only sets a member variable which is never read.  Presumably
this was copied from the makefile generator.
2015-05-24 13:29:48 +02:00
Stephen Kelly 4fdad392b6 cmake: Remove redundant forward declaration.
The appropriate include is already here.
2015-05-24 12:56:09 +02:00
Stephen Kelly df9635f386 cmake: Remove redundant condition. 2015-05-24 12:55:43 +02:00
Stephen Kelly ad16747927 foreach: Remove unused variables. 2015-05-24 11:09:59 +02:00
Stephen Kelly aaeec642ca cmGlobalGenerator: De-virtualize methods with no overrides. 2015-05-24 11:09:58 +02:00
Kitware Robot c2f5e5c632 CMake Nightly Date Stamp 2015-05-24 00:01:05 -04:00
Stephen Kelly 444bc34978 Ninja: Remove some bogus comments.
The virtual methods are overrides not overloads, the constructor
is no longer a default variant, the destructor and GetCMakeInstance
comments add no value, only a typo.
2015-05-23 14:56:33 +02:00
Kitware Robot 7e2984e279 CMake Nightly Date Stamp 2015-05-23 00:01:06 -04:00
Brad King 50de5dbbf5 Help: Format visibility property and variable documentation
Add reStructuredText markup appropriately.
2015-05-22 15:25:31 -04:00
Brad King 771f1b00dc Tests: Rename Visibility{InlinesHidden =>}
We will soon generalize it to cover other visibility properties.
2015-05-22 15:24:18 -04:00
Brad King ab55b3b5fa Tests: Refactor RunCMake.VisibilityPreset test setup
Enable languages only in the individual test case.  Enable the test
everywhere except Visual Studio generators (which do not implement the
properties) and just set fake flags as needed to activate relevant code
paths.  Drop unneeded CMAKE_SUPPRESS_REGENERATION which seems to have
been copied from an unrelated test when this test was created.
2015-05-22 14:56:00 -04:00
Brad King d0f59d3598 Merge topic 'clean-up-backtrace-handling'
8b4b9631 cmake: Add IssueMessage overload taking a single cmListFileContext.
46656aa1 cmake: Extract displayMessage method.
55fc5e7c cmake: Extract printMessageText method.
ca7cc2eb cmake: Extract PrintMessagePreamble method.
fa752bf3 cmake: Move isError determination to a more-natural place.
2015-05-22 09:39:54 -04:00
Brad King edf84ab3e9 Merge topic 'vs-cleanup-internal-configs'
2f4bb4e9 VS: Do not accumulate configurations globally (#15577)
2015-05-22 09:39:52 -04:00
Brad King cd679aa820 Merge topic 'revert-extra-qbs-generator'
deec97d8 Revert "Qbs: Add new 'extra' generator for qbs project files"
2015-05-22 09:39:50 -04:00
Brad King 0de47b05f7 ExternalData: Add option to disable use of symlinks
Add an ExternalData_NO_SYMLINKS to enable use of copies instead of
symlinks to populate the real data files behind a DATA{} reference.
This will be useful on UNIX-like systems when the underlying filesystem
does not actually support symbolic links.

Suggested-by: Matt McCormick <matt.mccormick@kitware.com>
2015-05-22 09:21:47 -04:00