Commit Graph

28533 Commits

Author SHA1 Message Date
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
Brad King b3475ba57b Makefile: Fix <LANG>_INCLUDE_WHAT_YOU_USE with CTEST_USE_LAUNCHERS
The 'ctest --launch' command must be placed before the IWYU launcher on
the compiler command line.  Extend the RunCMake.IncludeWhatYouUse test
to cover this case.  The Ninja generator already does it correctly.
2015-05-22 08:44:46 -04:00
Kitware Robot 57b5b07461 CMake Nightly Date Stamp 2015-05-22 00:01:07 -04:00
Stephen Kelly 8b4b9631f5 cmake: Add IssueMessage overload taking a single cmListFileContext.
Port appropriate clients to use it.
2015-05-22 01:21:35 +02:00
Stephen Kelly 46656aa1fa cmake: Extract displayMessage method. 2015-05-22 00:54:28 +02:00
Stephen Kelly 55fc5e7c9a cmake: Extract printMessageText method. 2015-05-22 00:54:27 +02:00
Stephen Kelly ca7cc2ebd0 cmake: Extract PrintMessagePreamble method. 2015-05-22 00:54:26 +02:00
Stephen Kelly fa752bf339 cmake: Move isError determination to a more-natural place. 2015-05-22 00:54:26 +02:00
Brad King 2f4bb4e9b0 VS: Do not accumulate configurations globally (#15577)
Drop the VS >= 7 generator's global Configurations member and instead
lookup configurations using cmMakefile::GetConfigurations where needed.
This avoids accumulating all CMAKE_CONFIGURATION_TYPES values ever
encountered by a project() or enable_language() command and allows
the final value to be used in each directory.  We don't officially
support per-directory CMAKE_CONFIGURATION_TYPES values but we certainly
should not generate configurations not in the final value in the top
level directory.
2015-05-21 09:06:49 -04:00
Brad King deec97d8ec Revert "Qbs: Add new 'extra' generator for qbs project files"
This reverts commit f85db2f323.

Discussion by the QtCreator community at

  https://bugreports.qt.io/browse/QTCREATORBUG-13695

raises concerns about this particular approach to working with CMake
projects using QtCreator.  Also, the functionality and design of the QBS
extra generator was never discussed on the CMake mailing list or with
QtCreator developers.  There may be better ways to make the two tools
work together.

In order to avoid committing to long-term support of this generator
prior to such discussion taking place, revert it from CMake for now.
We may restore this or use an alternative design based on results of
such discussion.
2015-05-21 09:05:58 -04:00
Brad King 3541fc73a1 Merge topic 'ExternalProject_FixLog'
a0d620de ExternalProject: Fix log when the first arg of commands is "COMMAND" (#15567)
2015-05-21 09:03:57 -04:00
Brad King 26a04a6844 Merge topic 'use-std-unordered_map'
b5906ed0 Check for std::unordered_map only if we are building CMake
2015-05-21 09:03:55 -04:00
Brad King db90e7c6bc Merge topic 'clean-up-cmLocalGenerator'
e54d2fdf Convert: Remove specification of default parameter.
20c2fe4d cmLocalGenerator: Get enabled languages from cmState.
7601a7b1 cmLocalGenerator: Implement IsRootMakefile in terms of cmState.
4080ca49 cmLocalGenerator: Inline ReadListFile method.
ad706819 cmLocalGenerator: Devirtualize method.
2015-05-21 09:03:54 -04:00
Brad King 3e3a09d1d3 Merge topic 'clean-up-CMAKE_COMMAND'
6fbd4cae Use cmSystemTools::GetCMakeCommand() to get path to cmake internally
2015-05-21 09:03:52 -04:00
Brad King 2c54622ff5 Merge topic 'cmake-gui-osx-install-command-line'
e462ef74 Help: Add notes for topic 'cmake-gui-osx-install-command-line'
8ea2db26 cmake-gui: Replace command-line install dialog with information box
438ce4a0 cmake-gui: Add --install option to add command-line tools on OS X
41477d5c cmake-gui: Drop undocumented and unused --mac-install option
2015-05-21 09:03:50 -04:00
Brad King f3e4e3ecde Merge topic 'doc-cache-option-space'
b0ea3673 Help: Spell '-D' option consistently across documentation (#15575)
2015-05-21 09:03:48 -04:00