Commit Graph

13537 Commits

Author SHA1 Message Date
Brad King dfa0ebd646 if: Compare up to 8 components in VERSION tests
Extend the number of components tested by

  if(... VERSION_LESS ...)
  if(... VERSION_EQUAL ...)
  if(... VERSION_GREATER ...)

from 4 to 8.  The latter is a more extreme maximum.
2012-09-11 15:59:16 -04:00
Bill Hoffman e1c89f08bb file(DOWNLOAD): Add options for SSL
Add the ability to request that downloads disable or enable Certificate
Authority checking with https ssl downloads.  When the option to verify
the servers CA is disabled, one may verify download contents with SHA
hashes.
2012-09-11 15:34:54 -04:00
Brad King d07c5f76f2 Merge topic 'docbook-validate'
d0c863f docbook: Fix Sun CC warning on ptr_fun(isalnum)
4e62784 docbook: Fix formatter naming convention to avoid shadow
9ad85dbb docbook: Remove redundant docs that cause invalid DocBook
9468b41 docbook: Add CMake.DocBook test to validate xml (#13508)
3a9e373 docbook: Add support for <abstract> at section level 1
67e7d49 docbook: Cleanup formatter and generated DocBook
55146ed docbook: Fix the DocBook section output
dbfe335 docbook: Factor out code to write valid DocBook IDs
cffa899 docbook: Remove table of contents
ac25bc0 Utilities/xml: Add docbook-4.5 DTD (#13508)
2b2e86f Utilities/xml: Add .gitattributes to disable whitespace checks
2012-09-11 15:01:48 -04:00
Brad King 9211df0f3e Merge topic 'IsSourceFileTryCompile'
7b2bf28 Ninja: suppress cmcldeps only for source file signature try_compiles
2012-09-11 15:01:13 -04:00
Brad King 028b7636b8 Merge topic 'ninja-cmcldeps-first-line'
11a6dac Ninja: don't suppress warning about compiler options
2012-09-11 15:00:52 -04:00
Brad King a2e547cec7 Merge topic 'cmake-gui-interrupt-error'
52ec845 cmake-gui: Fix error status when interrupted.
2012-09-11 15:00:48 -04:00
Brad King 7009b35ba5 Merge topic 'ctest-svn-update'
57234dd cmCTestSVN: Load and process information from externals
3776690 cmCTestSVN: Add a LoadExternal() function and an ExternalParser class
41f0f83 cmCTestSVN: Use the SVNInfo structure
fb6d513 cmCTestSVN: Create the SVNInfo for the root repository
8d1e102 cmCTestSVN: Add the Repositories list and the RootInfo pointer
2f204bc cmCTestSVN: Extend Revision struct with SVN repo information
aa1076f cmCTestSVN: Add the new SVNInfo structure
2012-09-11 15:00:45 -04:00
Bill Hoffman 34567dfc0d file(DOWNLOAD): Generalize EXPECTED_MD5 to EXPECTED_HASH
Add support for SHA algorithms.
2012-09-11 08:58:29 -04:00
Kitware Robot 1db6dfeb23 CMake Nightly Date Stamp 2012-09-11 00:01:02 -04:00
Brad King d0c863f60f docbook: Fix Sun CC warning on ptr_fun(isalnum)
The Sun compiler complains:

 cmDocumentationFormatterDocbook.cxx", line 230: Warning (Anachronism),
 badargtype2w: Formal argument x of type int(*)(int) in call to
 std::ptr_fun<int, int>(int(*)(int)) is being passed
 extern "C" int(*)(int).

Add an intermediate C++ function to forward to the C function.
2012-09-10 09:41:37 -04:00
Kitware Robot 4e20ca7726 CMake Nightly Date Stamp 2012-09-10 00:01:05 -04:00
Brad King 4e62784bf6 docbook: Fix formatter naming convention to avoid shadow
Some compilers complain:

 cmDocumentationFormatterDocbook.cxx: In member function virtual void cmDocumentationFormatterDocbook::PrintHeader(const char*, const char*, std::ostream&):
 cmDocumentationFormatterDocbook.cxx:197:73: warning: declaration of docname shadows a member of 'this' [-Wshadow]

Fix the name of the member variable.
2012-09-09 10:55:49 -04:00
Kitware Robot c19daefcec CMake Nightly Date Stamp 2012-09-09 00:01:04 -04:00
Daniel Pfeifer 9ad85dbb25 docbook: Remove redundant docs that cause invalid DocBook
If a subsection with a title is added, all subsequent subsections need a
title too.  The "helpful links" just repeat preceding subsections
anyway.
2012-09-08 07:42:10 -04:00
Daniel Pfeifer 3a9e373a69 docbook: Add support for <abstract> at section level 1
If a section has subsections (ie. subelemens with a title), all elements
before the first title are written inside an <abstract>.  Also wrap
<programlisting> in <para>, to allow preformatted output in abstracts.
2012-09-08 07:42:06 -04:00
Kitware Robot d35f552614 CMake Nightly Date Stamp 2012-09-08 00:01:01 -04:00
Daniel Pfeifer 67e7d49cb8 docbook: Cleanup formatter and generated DocBook
Comment and whitespace changes, changed docbook version to 4.5, changed
<literallayout> to <programlisting> (the latter implies a fixed-size font).
2012-09-07 10:11:27 -04:00
Daniel Pfeifer 55146ed0f0 docbook: Fix the DocBook section output
The DocBook formatter used to generate something like:

  <para id="section"><sect2><title>Title</title></sect2>Some Text</para>

Which was completely wrong. In DocBook, a section should look like this:

  <sect2 id="section"><title>Title</title><para>Some Text</para></sect2>
2012-09-07 10:10:49 -04:00
Daniel Pfeifer dbfe335099 docbook: Factor out code to write valid DocBook IDs
Attributes in XML may contain alphanumeric characters, underscores,
colons and dots.  When DocBook is chunked, the dot is often used as a
path separator.  To generate a valid ID, we take the title of the
section, transform all non-alphanumeric characters to underscores and
then add a prefix separated with dots.  We also add the document name as
a prefix, in order to 'xinclude' eg. cmake.docbook and ctest.docbook in
the same document.  IDs are written in multiple places, so the code is
factored to a function.
2012-09-07 10:09:55 -04:00
Daniel Pfeifer cffa899a47 docbook: Remove table of contents
When DocBook is transformed (eg. to PDF, HTML, ...), a TOC is generated
from the document's layout.  The TOC-like list that the docbook
formatter used to generate was both redundant and invalid.
2012-09-07 10:09:33 -04:00
Kitware Robot 308564e35c CMake Nightly Date Stamp 2012-09-07 00:01:03 -04:00
Alex Neundorf ea12871241 Automoc: also the makefile-COMPILE_DEFINITIONS
Alex
2012-09-06 22:22:16 +02:00
Kitware Robot 8797df41b2 CMake Nightly Date Stamp 2012-09-06 00:01:02 -04:00
Alex Neundorf 894e91a945 Automoc: do not use DEFINITIONS, but only COMPILE_DEFINITIONS
The docs say that this is for cmake 2.4 backwards compatibility only,
so we probably don't need to support it.

Alex
2012-09-05 22:13:30 +02:00
Alex Neundorf 825d1abf14 Automoc: fix #13493, use target properties for include dirs
Alex
2012-09-05 21:49:44 +02:00
Peter Kümmel 7b2bf28e18 Ninja: suppress cmcldeps only for source file signature try_compiles 2012-09-05 14:38:49 +02:00
Kitware Robot 2da17ef797 CMake Nightly Date Stamp 2012-09-05 00:01:04 -04:00
David Cole a1b3c85030 Merge topic 'doc-add_library-PIC'
4eaea3c add_library: Document POSITION_INDEPENDENT_CODE default (#13479)
2012-09-04 15:47:59 -04:00
Peter Kümmel 11a6dac1e3 Ninja: don't suppress warning about compiler options
Warnings about invalid compiler options are printed first
by cl.exe, this line was suppressed when the source file
name didn't contain back slashes.
2012-09-04 20:23:53 +02:00
Clinton Stimpson 52ec845fce cmake-gui: Fix error status when interrupted.
Sometimes it wasn't returning an error and one could continue
with the generate generate as if no errors occurred, and even
with an incomplete configure step.
2012-09-04 08:52:06 -06:00
Xavier Besseron 57234dd10a cmCTestSVN: Load and process information from externals
Call LoadExternals() and perform operations on all elements of the
Repositories list.
2012-09-04 08:35:36 -04:00
Xavier Besseron 3776690e62 cmCTestSVN: Add a LoadExternal() function and an ExternalParser class
This call 'svn status' and parse the result to get the list of externals
repositories.  The external repositories found are added to the
Repositories list.
2012-09-04 08:35:36 -04:00
Xavier Besseron 41f0f83542 cmCTestSVN: Use the SVNInfo structure
- Suppress the URL, Root, Base fields from the cmCTestSVN class
- Update the code to use RootInfo instead
- LoadInfo(), GuessBase(), and a new LoadRevision() functions work on a given SVNInfo
- Use the implementation from the base class for LocalPath(), correct path is built by SVNInfo::BuildLocalPath() instead
2012-09-04 08:35:35 -04:00
Xavier Besseron fb6d513692 cmCTestSVN: Create the SVNInfo for the root repository 2012-09-04 08:35:35 -04:00
Xavier Besseron 8d1e10296a cmCTestSVN: Add the Repositories list and the RootInfo pointer
The Repository list will contain the SVNInfo of all the repositories
(root and external ones).  The RootInfo pointer will point to the
SVNInfo structure of the root repository.
2012-09-04 08:35:35 -04:00
Xavier Besseron 2f204bc176 cmCTestSVN: Extend Revision struct with SVN repo information
Also rename DoRevision to DoRevisionSVN since the signature changes.
2012-09-04 08:35:35 -04:00
Kitware Robot 508ed6940b CMake Nightly Date Stamp 2012-09-04 00:01:03 -04:00
Xavier Besseron aa1076f460 cmCTestSVN: Add the new SVNInfo structure
It represents information of an SVN repository. It can be the base
repository or an external one.
2012-09-03 10:38:51 -04:00
Kitware Robot 6ef858b501 CMake Nightly Date Stamp 2012-09-03 00:01:03 -04:00
Kitware Robot e3aac9b8d6 CMake Nightly Date Stamp 2012-09-02 00:01:03 -04:00
Kitware Robot 80a95e185e CMake Nightly Date Stamp 2012-09-01 00:01:01 -04:00
Brad King 4eaea3c358 add_library: Document POSITION_INDEPENDENT_CODE default (#13479)
The POSITION_INDEPENDENT_CODE property documentation states that its
default value depends on whether SHARED or MODULE is given to the
add_library call.  Since these are options to the add_library command we
should document on the command how they affect the property.

While at it, add a missing space to the POSITION_INDEPENDENT_CODE
property documentation.
2012-08-31 07:36:05 -04:00
Kitware Robot 4bc8879e84 CMake Nightly Date Stamp 2012-08-31 00:01:03 -04:00
Brad King 4f3436dd11 Merge topic 'fix-Qt-casing'
3252149 Fix casing of 'Qt' in docs, comments and user-visible strings.
2012-08-30 11:55:36 -04:00
Brad King a028fffaad Merge topic 'AutomocRerunFix'
b001b6e fix #13494: rerun automoc also if include dirs or moc options change
2012-08-30 11:55:18 -04:00
Brad King 907019b338 Merge topic 'ErrorIfCTEST_USE_LAUNCHERSSetButLauncherRuleNotSet'
95e502e error out if CTEST_USE_LAUNCHERS is TRUE but RULE_LAUNCH_* are not set
2012-08-30 11:54:13 -04:00
Brad King 0d094e3a77 Merge topic 'msvc-compiler-info'
32b7c72 Merge branch 'cmake-platform-info-version' into msvc-compiler-info
f3ddfef Modernize MSVC compiler information files
485a940 VS: Simplify MSVC version reporting
32db033 VS: Remove support for "free" version 2003 tools
2012-08-30 11:06:30 -04:00
Brad King a4c47fe0c7 Merge topic 'cmake-platform-info-version'
e5fee8a Store ABI detection results in compiler information files
3df81b4 Move CMAKE_<LANG>_COMPILER_WORKS to compiler information files
7195aca Make platform information files specific to the CMake version
2012-08-30 11:06:15 -04:00
Brad King 32b7c72623 Merge branch 'cmake-platform-info-version' into msvc-compiler-info
Conflicts:
	Modules/CMakeTestCCompiler.cmake
	Modules/CMakeTestCXXCompiler.cmake
	Modules/Platform/Windows-cl.cmake
2012-08-30 09:45:17 -04:00
Brad King 485a940e4c VS: Simplify MSVC version reporting
Teach Windows-cl.cmake to use CMAKE_(C|CXX)_COMPILER_VERSION to set the
"MSVC##" and MSVC_VERSION variables.  It no longer needs the IDE generator
to dictate the version or to detect the version by running the
command-line tool for NMake and Ninja generators.  Drop configuration of
CMakeCPlatform.cmake and CMakeCXXPlatform.cmake from Windows-cl.cmake.in
because all the results it saved are now cheap to compute every time.
2012-08-30 09:42:40 -04:00
Kitware Robot 3e72df1484 CMake Nightly Date Stamp 2012-08-30 00:01:03 -04:00
Kitware Robot d9db32e5bf CMake Nightly Date Stamp 2012-08-29 00:01:02 -04:00
Stephen Kelly 325214900b Fix casing of 'Qt' in docs, comments and user-visible strings.
QT (cue-tea) is Apple QuickTime.
Qt (cute) is the C++ framework.
2012-08-28 11:24:55 +02:00
Kitware Robot 9f7e46f77f CMake Nightly Date Stamp 2012-08-28 00:01:02 -04:00
Alex Neundorf b001b6e129 fix #13494: rerun automoc also if include dirs or moc options change
Until now it was only rerun if the compile definitions changed, but
of course it also has to rerun if the include dirs or moc options
change. Strange that I didn't notice this before...

Alex
2012-08-27 21:39:50 +02:00
Kitware Robot f32e7957b4 CMake Nightly Date Stamp 2012-08-27 00:01:02 -04:00
Kitware Robot 496d33a65d CMake Nightly Date Stamp 2012-08-26 00:01:03 -04:00
Kitware Robot 78b30939a8 CMake Nightly Date Stamp 2012-08-25 00:01:02 -04:00
David Cole 34a0284603 Merge topic 'ide-compiler-id'
403ead6 Document CMAKE_<LANG>_COMPILER_(ID|VERSION) values
8be51f6 Test variables CMAKE_(C|CXX|Fortran)_COMPILER(|_ID|_VERSION)
ec22a9b Cleanly enable a language in multiple subdirectories
66cb335 VS: Detect the compiler id and tool location
89595d6 VS10: Define CMAKE_VS_PLATFORM_TOOLSET variable
965a69d Xcode: Detect the compiler id and tool location
9a9e1ee CMakeDetermineCompilerId: Prepare to detect IDE compiler id
b8b5c83 Re-order C/C++/Fortran compiler determination logic
2012-08-24 14:25:40 -04:00
David Cole db78df744f Merge topic 'vs-AddPlatformDefinitions-cleanup'
2c7a451 VS: Cleanup AddPlatformDefinitions() of Visual Studio generators
2012-08-24 14:25:29 -04:00
David Cole 4ac85d0776 Merge topic 'vs11-flag-table'
9b2dda5 VS11: Generate flag tables from MSBuild V110 tool files
4cb99b1 cmparseMSBuildXML: Include DisplayName in the output
2012-08-24 14:25:12 -04:00
David Cole 38876a3903 Merge topic 'VS10-PrecompiledHeader-default'
f0ae381 VS: Disable precompiled headers unless enabled by project (#12930)
2012-08-24 14:24:58 -04:00
David Cole a9a3b3b897 Merge topic 'VS11-WinRT-project-issue-12930'
4c9ae47 VS11: Rename 'Immersive' to 'WindowsAppContainer' (#12930)
2012-08-24 14:24:46 -04:00
David Cole ed01420c23 Merge topic 'ninja-target-pdb-cleanup'
709fa59 Ninja: remove GetTargetPDB because it is used only once
4bb4787 Ninja:split out setting of msvc TARGET_PDB
59cbc28 Ninja: prepare msvc pdb cleanup
2012-08-24 14:24:35 -04:00
David Cole 05784dadc5 Merge topic 'compile-definitions-unique'
f0a1065 Rename files from main.cpp to more meaningful names.
ca7fb14 Fix the test setting COMPILE_DEFINITIONS target property
733deb6 Fix CompileDefinitions test on Visual Studio.
3dae652 Don't duplicate -D defines sent to the compiler.
2012-08-24 14:24:24 -04:00
David Cole 56591cb9b4 Merge topic 'pic-docs'
c82fbe0 Fix unfortunate documentation error for PIC feature.
2012-08-24 14:24:01 -04:00
David Cole 4f7731d814 Merge topic 'minor-docs-fixes'
ee949d8 Remove duplicate 'of' from docs.
ecc1acb Remove incorrect doc string for link type enum
805f5e5 Fix some typos in the docs.
389d423 Add missing whitespace to docs.
2012-08-24 14:23:52 -04:00
David Cole 6d4a3053e6 Merge topic 'DependencyScanning_13474'
8aed02a -fix Java dependency scanning, broken in previous commit
7ae4479 -fix line length
87fe428 fix #13474: also rescan dependencies if the depender does not exist
2012-08-24 14:23:42 -04:00
Brad King 7195aca54f Make platform information files specific to the CMake version
At the top of a build tree we configure inside the CMakeFiles directory
files such as "CMakeSystem.cmake" and "CMake<lang>Compiler.cmake" to
save information detected about the system and compilers in use.  The
method of detection and the exact results store varies across CMake
versions as things improve.  This leads to problems when loading files
configured by a different version of CMake.  Previously we ignored such
existing files only if the major.minor part of the CMake version
component changed, and depended on the CMakeCache.txt to tell us the
last version of CMake that wrote the files.  This led to problems if the
user deletes the CMakeCache.txt or we add required information to the
files in a patch-level release of CMake (still a "feature point" release
by modern CMake versioning convention).

Ensure that we always have version-consistent platform information files
by storing them in a subdirectory named with the CMake version.  Every
version of CMake will do its own system and compiler identification
checks even when a build tree has already been configured by another
version of CMake.  Stored results will not clobber those from other
versions of CMake which may be run again on the same tree in the future.
Loaded results will match what the system and language modules expect.

Rename the undocumented variable CMAKE_PLATFORM_ROOT_BIN to
CMAKE_PLATFORM_INFO_DIR to clarify its purpose.  The new variable points
at the version-specific directory while the old variable did not.
2012-08-24 10:52:23 -04:00
Kitware Robot 19d9f5908b CMake Nightly Date Stamp 2012-08-24 00:01:03 -04:00
Brad King 32db033b27 VS: Remove support for "free" version 2003 tools
Several more recent Visual Studio Express editions are now available and
they support debug builds.  Simplify our VS platform files by removing
support for these old tools.  If anyone still uses them we can restore
support with a more modern way to test for them.
2012-08-23 10:51:27 -04:00
Kitware Robot 8c64702c97 CMake Nightly Date Stamp 2012-08-23 00:01:03 -04:00
Brad King 403ead6594 Document CMAKE_<LANG>_COMPILER_(ID|VERSION) values
These values are now available almost everywhere and are tested.
Document them for general use and list possible ID values.
2012-08-22 16:35:54 -04:00
Brad King ec22a9b521 Cleanly enable a language in multiple subdirectories
When a language is not enabled at the top level of a project but is
enabled in multiple disjoint subdirectories we should re-use the
CMake<lang>Compiler.cmake file from the first directory.  Load the file
whenever it exists and is not left from a different version of CMake.
2012-08-22 16:35:54 -04:00
Brad King 89595d6bce VS10: Define CMAKE_VS_PLATFORM_TOOLSET variable
When the VS 10 generator selects a non-default PlatformToolset to
specify for MSBuild, report the selected name in this variable.
2012-08-22 16:35:46 -04:00
Patrick Gansterer 2c7a451de0 VS: Cleanup AddPlatformDefinitions() of Visual Studio generators
Move adding of definitions into cmGlobalVisualStudioGenerator to
share code and avoid duplicate architecture string literals.
2012-08-22 15:08:40 -04:00
Brad King 9b2dda5db5 VS11: Generate flag tables from MSBuild V110 tool files
Run cmparseMSBuildXML.py on cl.xml, lib.xml, and link.xml to generate
our flag tables:

 python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V110/1033/cl.xml" > cmVS11CLFlagTable.h
 python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V110/1033/lib.xml" > cmVS11LibFlagTable.h
 python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V110/1033/link.xml" > cmVS11LinkFlagTable.h

Fix up the declaration names at the top of each file.  Finally, teach
cmVisualStudio10TargetGenerator to select the version of the table
matching the version of VS.
2012-08-22 11:12:32 -04:00
Zack Galbreath 4cb99b1dbc cmparseMSBuildXML: Include DisplayName in the output 2012-08-22 10:45:10 -04:00
Brad King f0ae381c73 VS: Disable precompiled headers unless enabled by project (#12930)
In VS 11 the WindowsAppContainer element enabled by the
VS_WINRT_EXTENSIONS property activates precompiled header support
automatically if no PrecompiledHeader setting is specified.  For VS 10 and
11 set PrecompiledHeader to "NotUsing" explicitly by default unless
overridden by a project-specified flag.

Suggested-by: Eugene Golushkov <eugene_gff@ukr.net>
2012-08-22 08:57:10 -04:00
Peter Kümmel 709fa59562 Ninja: remove GetTargetPDB because it is used only once 2012-08-22 14:11:30 +02:00
Stephen Kelly 25a4f56754 Build with Qt5 if it is found. 2012-08-22 12:58:43 +02:00
Peter Kümmel 4bb4787780 Ninja:split out setting of msvc TARGET_PDB 2012-08-22 12:37:55 +02:00
Peter Kümmel 59cbc28b92 Ninja: prepare msvc pdb cleanup 2012-08-22 12:26:56 +02:00
Kitware Robot c478d55e31 CMake Nightly Date Stamp 2012-08-22 00:01:01 -04:00
Brad King 4c9ae472ec VS11: Rename 'Immersive' to 'WindowsAppContainer' (#12930)
Since commit 9e01aefd (VS: Add support for WinRT project properties,
2012-02-03) CMake generates for VS 11 projects the 'Immersive' element
for the VS_WINRT_EXTENSIONS target property.  That was based on the VS
11 preview version.  The final version renamed the element to
'WindowsAppContainer', so generate that instead.

Suggested-by: Eugene Golushkov <eugene_gff@ukr.net>
2012-08-21 13:02:39 -04:00
Stephen Kelly 717f31a877 Compile with both Qt4 and Qt5. 2012-08-21 13:36:51 +02:00
Stephen Kelly 066e85893f Replace two include_directories with a setting. 2012-08-21 13:36:26 +02:00
Stephen Kelly 430ba9faef Use add_subdirectory instead of the obsolete subdirs. 2012-08-21 13:36:26 +02:00
Stephen Kelly 32a572564a Remove an if which is always true.
CMake based CMake build requires version 2.8.2 as of version 2.8.9.
2012-08-21 13:36:26 +02:00
Stephen Kelly 0b6625c605 Move variable setting down to where it relates to. 2012-08-21 13:36:26 +02:00
Stephen Kelly 8ab312b693 Use CMake platform variables instead of Qt ones.
The Qt ones no longer exist in Qt 5.
2012-08-21 13:36:21 +02:00
Stephen Kelly bd728f6fee Add a return-after-error if an old Qt is found.
No need for an else after a return.
2012-08-21 11:08:04 +02:00
Kitware Robot 8f996a96f4 CMake Nightly Date Stamp 2012-08-21 00:01:02 -04:00
Alex Neundorf 95e502ee7c error out if CTEST_USE_LAUNCHERS is TRUE but RULE_LAUNCH_* are not set
Otherwise, CTEST_USE_LAUNCHERS can be set to true in a driving ctest
script, and everything looks like it would work and reports 0 build errors,
but actually there can be any amount of errors and they are just not reported.
By adding this check cmake now errors out if CTEST_USE_LAUNCHERS is enabled, but
the RULE properties are not set, which would lead to a not-working ctest run.

Alex
2012-08-20 23:19:44 +02:00
Stephen Kelly c82fbe0c1f Fix unfortunate documentation error for PIC feature.
The wrong variable is documented, and it is not referred to in
the target-specific property.
2012-08-20 22:33:27 +02:00
Stephen Kelly 3dae652b4e Don't duplicate -D defines sent to the compiler.
There is no need to do so. Be consistent with include directories and
ensure uniqueness.

This requires changing the API of the cmLocalGenerator::AppendDefines
method, and changing the generators to match.

The test unfortunately can't test for uniqueness, but it at least verifies
that nothing gets lost.
2012-08-20 22:30:11 +02:00
Stephen Kelly ee949d8871 Remove duplicate 'of' from docs. 2012-08-20 22:26:05 +02:00
David Cole 8d8268b307 Merge topic 'cmcldeps-needs-cl'
4a35bd0 Ninja: don't crash on returned 0 pointer
3632f24 Ninja: cmcldeps needs a compiler
2012-08-20 15:41:36 -04:00
David Cole e04245e2d5 Merge topic 'HandleMacFrameworkIncludeDirs_13465'
a3815e6 -fix line length
9110d0e Eclipse on OSX: improve handling of framework include dirs (#13367)
d97b385 Eclipse on OSX: fix handling of framework include dirs (#13464)
2012-08-20 15:41:14 -04:00
David Cole 135914f01e Merge topic 'EclipseRemoveLinkedOutputDirectoryResources'
5271ba5 Eclipse: fix #13358: don't create bad linked resources
2012-08-20 15:40:56 -04:00
David Cole 1b758bcf8e Merge topic 'clarify-if-is_newer_than-docs'
0eaaa86 CMake: Clarify the documentation for if(f1 IS_NEWER_THAN f2)
2012-08-20 15:39:45 -04:00
David Cole 9f555e805d Merge topic 'list-command-argument-fixes'
08c71ac CMake.List test: explicitely test with lists containing only an empty string
52d9c38 list command: error on too many arguments
2012-08-20 15:39:35 -04:00
David Cole b7f3cc22c3 Merge topic 'xcode-asm'
97140d3 Tests/Assembler: Do not use assembler in universal binaries
f3477ed Xcode: Set ASM source language in project file (#13472)
2012-08-20 15:39:09 -04:00
David Cole 3574bb4842 Merge topic 'generator-expression-conditions'
9d9f616 Add $<CONFIG:...> boolean query generator expression
ebf05ab Add boolean generator expressions
2012-08-20 15:38:42 -04:00
David Cole 686eb4e815 Merge topic 'DESTDIR-documentation-enhancement'
d593cef Enhance DESTDIR documentation. Fixes #0012374.
2012-08-20 15:38:25 -04:00
Alex Neundorf 8aed02ae0f -fix Java dependency scanning, broken in previous commit
Alex
2012-08-20 21:37:26 +02:00
Alex Neundorf 7ae4479d65 -fix line length
Alex
2012-08-20 21:23:20 +02:00
Kitware Robot 7f9a761e76 CMake Nightly Date Stamp 2012-08-20 00:01:03 -04:00
Stephen Kelly ecc1acb94c Remove incorrect doc string for link type enum
This is actually a duplicate doc string for a method a few lines above.
2012-08-20 00:05:03 +02:00
Stephen Kelly 805f5e5c1e Fix some typos in the docs.
s/static the static/the static/

Make Visual Studio capitalized.
2012-08-19 23:31:09 +02:00
Stephen Kelly 389d423177 Add missing whitespace to docs. 2012-08-19 23:31:09 +02:00
Kitware Robot d46f8afae9 CMake Nightly Date Stamp 2012-08-19 00:01:05 -04:00
Kitware Robot ea2fcabbaf CMake Nightly Date Stamp 2012-08-18 00:01:02 -04:00
Alex Neundorf 87fe4286bd fix #13474: also rescan dependencies if the depender does not exist
If the depender (e.g. foo.o) does not exist, also rescan dependencies if
one of the dependees (e.g. foo.cxx) is older than the already existing
depend.internal file, since this means it can be out of date.

Alex
2012-08-17 22:38:38 +02:00
Peter Kümmel 4a35bd0e69 Ninja: don't crash on returned 0 pointer 2012-08-17 16:33:59 +02:00
Peter Kümmel 3632f24f13 Ninja: cmcldeps needs a compiler 2012-08-17 11:05:47 +02:00
Kitware Robot 186e9bdc22 CMake Nightly Date Stamp 2012-08-17 00:01:02 -04:00
Alex Neundorf a3815e67cf -fix line length
Alex
2012-08-16 23:37:15 +02:00
Alex Neundorf 5271ba56be Eclipse: fix #13358: don't create bad linked resources
directory where the project file is located (${CMAKE_BINARY_DIR}), which can
happen e.g. for EXECUTABLE_OUTPUT_PATH and related variables.

Now, it seems this code never worked.
If EXECUTABLE_OUTPUT_PATH was set to point into a subdir of CMAKE_BINARY_DIR,
the code did nothing.
If it pointed directly at CMAKE_BINARY_DIR or some other location, it created
a linked resource. I tested this with Eclipse Europa (3.3) and Juno (4.2), and in this
case both versions of Eclipse complained that this is a bad location for a linked resource.

Alex
2012-08-16 23:15:21 +02:00
Alex Neundorf 9110d0eab4 Eclipse on OSX: improve handling of framework include dirs (#13367)
It seems that if cmake finds something like the following:
/System/Library/Frameworks/GLUT.framework/Headers
Eclipse doesn't like that and wants to have
/System/Library/Frameworks
instead

Alex
2012-08-16 23:02:10 +02:00
Kitware Robot c4306dc805 CMake Nightly Date Stamp 2012-08-16 00:01:02 -04:00
David Cole 0eaaa863ed CMake: Clarify the documentation for if(f1 IS_NEWER_THAN f2)
...comparison operator in the IF command. In the event of
a tie, we intentionally return "true" so that dependent
build operations are guaranteed to occur until one file
is definitively newer than the other file.

A tie means we're not sure, so return true to be on the
safe side.
2012-08-15 19:52:21 -04:00
Rolf Eike Beer 52d9c38e72 list command: error on too many arguments
SORT, REVERSE, and REMOVE_DUPLICATES can only operate on exactly one argument.
Until now all other arguments were silently ignored. Give an error instead.
2012-08-15 22:12:12 +02:00
Brad King 9d9f616792 Add $<CONFIG:...> boolean query generator expression
This expression evaluates to '1' or '0' to indicate whether the build
configuration for which the expression is evaluated matches tha named
configuration.  In combination with the "$<0:...>" and "$<1:...>"
expressions this allows per-configuration content to be generated.
2012-08-15 11:44:49 -04:00
Brad King ebf05abda1 Add boolean generator expressions
Add generator expressions that combine and use boolean test results:

 $<0:...>         = empty string (ignores "...")
 $<1:...>         = content of "..."
 $<AND:?[,?]...>  = '1' if all '?' are '1', else '0'
 $<OR:?[,?]...>   = '0' if all '?' are '0', else '1'
 $<NOT:?>         = '0' if '?' is '1', else '1'

These will be useful to evaluate (future) boolean query expressions and
condition content on the results.  Include tests and documentation.
2012-08-15 11:44:49 -04:00
Brad King f3477ed88c Xcode: Set ASM source language in project file (#13472)
Also teach the Assembler test to build under Xcode.

Suggested-by: Tobias Pape <tobiaspape@gmail.com>
2012-08-15 11:03:57 -04:00
Kitware Robot addefc2ae3 CMake Nightly Date Stamp 2012-08-15 00:01:03 -04:00
Eric NOULARD d593cef58f Enhance DESTDIR documentation. Fixes #0012374. 2012-08-14 20:15:22 +02:00
Brad King 68bc863d5b Merge branch 'master' into cleanup-style
Conflicts:
	Source/CMakeVersion.cmake
2012-08-14 08:27:23 -04:00
Brad King a05eba57b5 CMakeVersion.bash: Update sed expression for lower-case 'set'
Since commit 77543bde (Convert CMake-language commands to lower case,
2012-08-13) the CMakeVersion.cmake file contains lower-case 'set'
commands.  Teach CMakeVersion.bash to replace the lower-case name
instead of the old upper-case 'SET'.
2012-08-14 08:25:51 -04:00
Kitware Robot 9acb4f118c CMake Nightly Date Stamp 2012-08-14 00:01:08 -04:00
Kitware Robot 9db3116226 Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block.  This is no longer the preferred style.

Run the following shell code:

for c in else endif endforeach endfunction endmacro endwhile; do
    echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Kitware Robot 77543bde41 Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:

cmake --help-command-list |
grep -v "cmake version" |
while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Kitware Robot 7bbaa4283d Remove trailing whitespace from most CMake and C/C++ code
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace.  Wipe out all remnants of trailing whitespace
everywhere except third-party code.

Run the following shell code:

git ls-files -z -- \
 bootstrap doxygen.config '*.readme' \
 '*.c' '*.cmake' '*.cpp' '*.cxx' \
 '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
 '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00
David Cole f0295575d7 Merge topic 'xcode-select'
e88bae7 Xcode: Run xcode-select to find Xcode version file (#13463)
2012-08-13 13:28:49 -04:00
David Cole 396bc28477 Merge topic 'doc_fixes'
76d6c59 Clean up documentation formatting so that it is rendered properly in HTML.
2012-08-13 13:28:16 -04:00
David Cole c1163632de Merge topic 'xcode-object-dir'
b237dbd Xcode: Fix object library references in multi-project trees (#13452)
2012-08-13 13:28:07 -04:00
David Cole 4bdbdfbfef Merge topic 'directory-typo'
6c8722f Fix typo direcotry -> directory (and similar) [#13444]
2012-08-13 13:27:48 -04:00
David Cole 20f56a7eed Merge topic 'EclipseFixBadLinkedResources'
4ea5dc5 Eclipse: fix #13358: don't create bad linked resources
2012-08-13 13:27:17 -04:00
David Cole 85f843a7b4 Merge topic 'mixed-lib-to-lib64'
af80da3 remove lib64 Unix paths if the respective lib path is also given
733726e find_library: Fix mixed lib->lib64 (non-)conversion cases (#13419)
54add62 find_library: Simplify lib->lib<arch> expansion
6ca2f82 find_library: Refactor lib->lib64 conversion
1fe4b82 find_library: Add test covering lib->lib64 cases
2012-08-13 13:26:57 -04:00
David Cole e93d9c5c2b Merge topic 'use_normal_ouput_with_chdir'
4ddd3b9 Use OUTPUT_NORMAL instead of OUTPUT_MERGE for cmake -E chdir.
2012-08-13 13:26:48 -04:00
Kitware Robot 408c04e734 CMake Nightly Date Stamp 2012-08-13 00:01:02 -04:00
Kitware Robot ee1ee20905 CMake Nightly Date Stamp 2012-08-12 00:01:02 -04:00
Kitware Robot 95e8636711 CMake Nightly Date Stamp 2012-08-11 00:01:02 -04:00
Brad King e88bae77c3 Xcode: Run xcode-select to find Xcode version file (#13463)
Multiple versions of Xcode may be installed in different locations.
Run "xcode-select --print-path" to detect the active Xcode location
and parse its Contents/version.plist file.  Note that the Xcode.app
directory name may vary in developer versions.
2012-08-10 12:58:22 -04:00
Kitware Robot 539cc289ba CMake Nightly Date Stamp 2012-08-10 00:01:04 -04:00
David Cole b3b43a420d Begin post-2.8.9 development 2012-08-09 16:28:18 -04:00
David Cole c462aafcfa CMake 2.8.9 2012-08-09 13:57:02 -04:00
Kitware Robot 2c061d5cc9 CMake Nightly Date Stamp 2012-08-09 00:01:03 -04:00
Kitware Robot 121cc34d71 CMake Nightly Date Stamp 2012-08-08 00:01:05 -04:00
Kitware Robot 3bfabfa04a CMake Nightly Date Stamp 2012-08-07 00:01:04 -04:00
Kitware Robot e2a57173df CMake Nightly Date Stamp 2012-08-06 00:01:02 -04:00
Kitware Robot dc5b0b232b CMake Nightly Date Stamp 2012-08-05 00:01:07 -04:00
Kitware Robot 92bf48dd9e CMake Nightly Date Stamp 2012-08-04 00:01:10 -04:00
Zack Galbreath 76d6c59358 Clean up documentation formatting so that it is rendered properly in HTML. 2012-08-03 14:52:32 -04:00
Brad King b237dbd8c3 Xcode: Fix object library references in multi-project trees (#13452)
In cmGlobalXCodeGenerator::Generate we generate a .xcodeproj for each
directory in the tree containing a project() command.  First we
iteratively use SetGenerationRoot to add "ALL_BUILD" and other targets
to each project.  This leaves "CurrentProject" set to the last project
when we invoke cmGlobalGenerator::Generate, which is not the same as the
top-level project if any subdirectories invoke the project() command.

When cmGlobalGenerator::Generate reaches CreateGeneratorTargets it
constructs cmGeneratorTarget and calls ComputeTargetObjects exactly once
per target.  In this context the value of CurrentProject is undefined so
we cannot pass it to GetObjectsNormalDirectory.  Use "$(PROJECT_NAME)"
instead so it will adapt automatically to each project.

Also teach Tests/ObjectLibrary to cover this case.
2012-08-03 10:17:49 -04:00
Kitware Robot 896524e13f CMake Nightly Date Stamp 2012-08-03 00:01:05 -04:00
Kitware Robot 33b7f583a5 CMake Nightly Date Stamp 2012-08-02 00:01:04 -04:00
Kitware Robot 5adfe691a9 CMake Nightly Date Stamp 2012-08-01 00:01:05 -04:00
Kitware Robot aa3dbec57d CMake Nightly Date Stamp 2012-07-31 00:01:12 -04:00
Rolf Eike Beer 6c8722fab5 Fix typo direcotry -> directory (and similar) [#13444] 2012-07-30 08:08:33 +02:00
Kitware Robot 8baeeed109 CMake Nightly Date Stamp 2012-07-30 00:01:06 -04:00
Kitware Robot aedc2251fe CMake Nightly Date Stamp 2012-07-29 00:01:07 -04:00
Alex Neundorf 4ea5dc5ba5 Eclipse: fix #13358: don't create bad linked resources
Don't create linked resources which point to CMAKE_BINARY_DIR
itself or one of its parent dirs. Eclipse complained about that.

Alex
2012-07-28 18:42:47 +02:00
Kitware Robot f66c82c8ac CMake Nightly Date Stamp 2012-07-28 00:01:02 -04:00
Kitware Robot fb0bcc001c CMake Nightly Date Stamp 2012-07-27 00:01:07 -04:00
Kitware Robot cac490aa70 CMake Nightly Date Stamp 2012-07-26 00:01:05 -04:00
David Cole cda3626645 CMake 2.8.9-rc3 2012-07-25 11:25:40 -04:00
David Cole 78c83bc209 Merge branch 'release' 2012-07-25 11:24:39 -04:00
Kitware Robot e5126cf405 CMake Nightly Date Stamp 2012-07-25 00:01:11 -04:00
David Cole a51e1529e7 Merge topic 'ninja-fix-macosx'
1fc8df9 Add missing this->.
7a3ecf5 Fix memory leak in Makefile generator.
9f7dc83 Ninja: also bootstrap ninja files
5d365b2 Ninja: enable ninja support everywhere
d569f3e Ninja: void function can't return a value
52160bf Ninja: enable ninja on Mac so all Mac CDash-builds are tested, cleanup later
56aeac6 Ninja: fixes for bcc
7a6bc9e Ninja: remove 'this' from member initializer list
44ba4cf Ninja: remove warnings
7751966 Ninja: remove 'friend' in ninja code
c3988ee Re-factor OS X content generator start up.
f8e0a51 Re-factor framework directory computation.
f36c7b0 Re-factor Mac OS X content directory computation.
5d885db Re-factor bundle content copying rules generation.
3b2a01e Ninja: Use same echo message as makefiles.
7bb56c5 Re-factor CFBundle generation.
...
2012-07-24 17:03:46 -04:00
David Cole c1bbdbff57 Merge topic 'DoNotInvokeCPackAtCMakeTime-forCMakeTests'
b47cffa CPack: Use bin subdir when looking for dpkg and rpmbuild
a8c659c Find dpkg and rpmbuild in usual Fink and MacPort paths
848f220 Do not run cpack at CMake time it is not available.
2012-07-24 17:03:37 -04:00
David Cole 0f87f32fe3 Merge topic 'ninja-mingw-TARGET_PDB'
9e30289 Ninja: Cannot pass a reference to an anonymous object.
0a3d6a1 Ninja: make debug symbol suffix configurable by CMAKE_DEBUG_SYMBOL_SUFFIX
75bbffb Ninja: make TARGET_PDB a real .gdb file name
e5a27a4 Ninja: line length
ae8124a Ninja: also mingw needs TARGET_PDB
2012-07-24 17:03:13 -04:00
David Cole b5d9dba7b6 Merge topic 'ninja-cldeps-check-rc-result'
74d1c88 Ninja: cmcldeps needs absolute paths for RCs
1cdeef7 Ninja: readd quotes to src file path before patching it
84a18cb Ninja: also stop when .rc's .d file couldn't be generated
2012-07-24 17:02:31 -04:00
David Cole e5fce89ea8 Merge topic 'ninja-rspfile-link-libraries'
4259296 Ninja: fix sytle
3799848 Ninja: fix GCC 4.7 warning -Wconversion
2012-07-24 17:02:21 -04:00
David Cole 2b3a0dbeff Merge topic 'ninja-mingw-windres'
c864103 Ninja: path is already declared
6547f36 Ninja: more searching for windres
78588e0 Ninja: there could be null pointers
0c89c10 Ninja: search for windres with prefix
4654680 Ninja: windres is also used for cross-compiling
2012-07-24 17:01:57 -04:00
Kitware Robot 8a0a918fbb CMake Nightly Date Stamp 2012-07-24 00:01:02 -04:00
Kitware Robot 9c0d0f969f CMake Nightly Date Stamp 2012-07-23 00:01:14 -04:00
Nicolas Despres 1fc8df9ca2 Add missing this->. 2012-07-22 15:36:35 +02:00
Nicolas Despres 7a3ecf5ed5 Fix memory leak in Makefile generator.
This was introduced by 5d885db416.
2012-07-22 15:36:05 +02:00
Kitware Robot e743fc0e17 CMake Nightly Date Stamp 2012-07-22 00:01:05 -04:00
Kitware Robot d66512122b CMake Nightly Date Stamp 2012-07-21 00:01:08 -04:00
Brad King 733726edf6 find_library: Fix mixed lib->lib64 (non-)conversion cases (#13419)
When a search path contains multiple "lib/" instances we previously
converted all or none.  This fails for cases where only some of the
multiple instances must be converted.  Teach AddArchitecturePaths to
generate all combinations that exist.  Uncomment these cases in the
CMakeOnly.find_library test now that they work.
2012-07-20 14:19:11 -04:00
Brad King 54add62f1b find_library: Simplify lib->lib<arch> expansion
Simplify cmFindLibraryCommand::AddArchitecturePaths logic to avoid
recording a separate 'found' status and populating an entire
vector<string> just to throw it away.
2012-07-20 14:19:10 -04:00
Brad King 6ca2f82d0d find_library: Refactor lib->lib64 conversion
Previously methods AddArchitecturePaths and AddLib64Paths were almost
identical.  Replace the latter with a call to the former.  Fix the
AddArchitecturePaths implementation to add trailing slashes to all
tested paths.
2012-07-20 14:19:08 -04:00
David Cole b47cffa9b8 CPack: Use bin subdir when looking for dpkg and rpmbuild 2012-07-20 11:53:56 -04:00
Bill Hoffman 4ddd3b9fd1 Use OUTPUT_NORMAL instead of OUTPUT_MERGE for cmake -E chdir.
Using OUTPUT_MERGE can cause the output to be jumbled in some cases.
2012-07-20 11:09:52 -04:00
Peter Kümmel 5d365b26ec Ninja: enable ninja support everywhere 2012-07-20 10:53:34 +02:00
Kitware Robot caeca30936 CMake Nightly Date Stamp 2012-07-20 00:01:05 -04:00
Peter Kümmel d569f3ef15 Ninja: void function can't return a value 2012-07-19 07:32:03 +02:00
Kitware Robot b320008658 CMake Nightly Date Stamp 2012-07-19 00:01:07 -04:00
Peter Kümmel 52160bf68f Ninja: enable ninja on Mac so all Mac CDash-builds are tested, cleanup later 2012-07-18 21:37:24 +02:00
Peter Kümmel 56aeac6e64 Ninja: fixes for bcc 2012-07-18 13:39:14 +02:00
Peter Kümmel 7a6bc9e987 Ninja: remove 'this' from member initializer list 2012-07-18 13:11:27 +02:00
Nicolas Despres 9e30289176 Ninja: Cannot pass a reference to an anonymous object. 2012-07-18 12:35:10 +02:00
Peter Kümmel 44ba4cfdb6 Ninja: remove warnings 2012-07-18 12:17:39 +02:00
Peter Kümmel 7751966297 Ninja: remove 'friend' in ninja code 2012-07-18 11:27:49 +02:00
Kitware Robot 6b6c2e0b5c CMake Nightly Date Stamp 2012-07-18 00:01:04 -04:00
Peter Kümmel 74d1c88529 Ninja: cmcldeps needs absolute paths for RCs 2012-07-17 18:54:56 +02:00
Nicolas Despres c3988ee871 Re-factor OS X content generator start up. 2012-07-17 14:03:12 +02:00
Nicolas Despres f8e0a5109f Re-factor framework directory computation. 2012-07-17 14:03:11 +02:00
Nicolas Despres f36c7b0bbe Re-factor Mac OS X content directory computation. 2012-07-17 14:03:11 +02:00
Nicolas Despres 5d885db416 Re-factor bundle content copying rules generation. 2012-07-17 14:03:10 +02:00
Nicolas Despres 3b2a01e80e Ninja: Use same echo message as makefiles. 2012-07-17 14:03:10 +02:00
Nicolas Despres 7bb56c511e Re-factor CFBundle generation. 2012-07-17 14:03:09 +02:00
Nicolas Despres 54d9713adb Ninja: Add support for CFBundle.
This patch fixes test CFBundleTest on Darwin.
2012-07-17 14:03:08 +02:00
Nicolas Despres 10686a17f4 Ninja: Copy resource files in the bundle.
This patch fixes test BundleTest on Darwin.
2012-07-17 14:03:08 +02:00
Nicolas Despres a1b803349b Re-factor OS X bundle and framework generation. 2012-07-17 14:03:07 +02:00
Nicolas Despres 3ba74ad9d5 Remove trailing white-spaces. 2012-07-17 14:03:06 +02:00
Nicolas Despres aff0029ee3 Ensure 3rd party libraries are writable.
This patch fixes CMake.Install when Qt4 is installed read-only by packaging
system like Homebrew.
2012-07-17 14:03:05 +02:00
Nicolas Despres a7b4e3a57b Ninja: Add support for OX X library framework.
This patch fixes test ExportImport on Darwin.
2012-07-17 14:03:05 +02:00
Nicolas Despres 21f156c03b Ninja: Add support for OS X app bundles.
This patch fixes test Qt4Deploy on Darwin.

Thanks to Jamie Kirkpatrick <jkp@kirkconsulting.co.uk>
2012-07-17 14:03:04 +02:00
Peter Kümmel 0a3d6a19b7 Ninja: make debug symbol suffix configurable by CMAKE_DEBUG_SYMBOL_SUFFIX 2012-07-17 11:45:19 +02:00
Peter Kümmel 75bbffbe1b Ninja: make TARGET_PDB a real .gdb file name 2012-07-17 11:21:03 +02:00
Kitware Robot cdfa14a4f5 CMake Nightly Date Stamp 2012-07-17 00:01:05 -04:00
Peter Kümmel e5a27a44a7 Ninja: line length 2012-07-16 18:16:01 +02:00
Peter Kümmel c864103748 Ninja: path is already declared 2012-07-16 17:09:10 +02:00
Peter Kümmel 1cdeef795a Ninja: readd quotes to src file path before patching it 2012-07-16 16:48:32 +02:00
Peter Kümmel ae8124a04c Ninja: also mingw needs TARGET_PDB 2012-07-16 15:03:38 +02:00
Kitware Robot f478b52cd0 CMake Nightly Date Stamp 2012-07-16 00:01:04 -04:00
Peter Kümmel 6547f369e4 Ninja: more searching for windres
search for windres with and without prefix,
and also when only CXX compiler is set.
2012-07-15 19:59:37 +02:00
Peter Kümmel 78588e0343 Ninja: there could be null pointers 2012-07-15 18:48:31 +02:00
Peter Kümmel 84a18cb5d6 Ninja: also stop when .rc's .d file couldn't be generated
prevents silent disappearing of .d files for resource files.

cmcldeps changes directory for cl call, so relativ include paths do not work.
2012-07-15 18:23:04 +02:00
Peter Kümmel 0c89c10cfc Ninja: search for windres with prefix 2012-07-15 16:04:26 +02:00
Peter Kümmel 46546809f5 Ninja: windres is also used for cross-compiling
It makes no sense to set windres.exe as default,
especially when we are on Linux or Unix.
2012-07-15 15:19:15 +02:00
Kitware Robot 6c1609ea55 CMake Nightly Date Stamp 2012-07-15 00:01:07 -04:00
David Cole d1d34f88a7 CMake 2.8.9-rc2 2012-07-14 12:41:10 -04:00
David Cole ac97f8f352 Merge branch 'release' 2012-07-14 12:35:25 -04:00
Kitware Robot f26cd5ac36 CMake Nightly Date Stamp 2012-07-14 00:01:04 -04:00
Peter Kümmel 42592966c5 Ninja: fix sytle 2012-07-13 15:22:03 +02:00
Peter Kümmel 3799848836 Ninja: fix GCC 4.7 warning -Wconversion 2012-07-13 08:58:37 +02:00
Kitware Robot 21b45ce16f CMake Nightly Date Stamp 2012-07-13 00:01:05 -04:00
David Cole 0aafb8e230 Merge topic 'fix-install-COMPONENT-option'
8720aa0 install: Fix COMPONENT option
2012-07-12 16:01:01 -04:00
David Cole 3d1cea0b0d Merge topic 'doc-if-inside-macro'
674c56c if: Document that macro arguments are not variables (#13393)
2012-07-12 16:00:52 -04:00
David Cole 58f5e77d6a Merge topic 'ninja-rspfile-link-libraries'
4bb94c9 Ninja: sysconf() is declared in unistd.h
bb36759 Ninja: enable response file support on Mac (length 262144)
3a2c8e8 Ninja: disable work around when linking with mingw
3856e66 Ninja: error on missing rspfile_content
8c1e35c Ninja: remove some unused default arguments
7f647cf Ninja: also write link libraries to rsp file
2012-07-12 16:00:42 -04:00
David Cole 7a3a5eb458 Merge topic 'include-command-empty-filename'
2e99949 include: Ignore empty string as file name (#13388)
2012-07-12 16:00:18 -04:00
David Cole d9d34a56e6 Merge topic 'inject_code_via_variable'
280a333 Fix project command documentation typo (#13384)
2012-07-12 15:59:21 -04:00
Kitware Robot 31c2279f19 CMake Nightly Date Stamp 2012-07-12 00:01:05 -04:00
Brad King 8720aa0496 install: Fix COMPONENT option
Since commit 7ced0732 (make default install component name configurable,
2012-05-13) the COMPONENT option has not worked in all cases.  The
change restored use of the broken SetDefaultString previously removed by
commit 43cad3e4 (fix the default "Unspecified" component, 2008-03-26).

Remove SetDefaultString and use the default component name only when an
invocation does not specify a non-empty COMPONENT option value.

Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680825
2012-07-11 15:10:40 -04:00
Brad King 674c56c3fc if: Document that macro arguments are not variables (#13393)
A common mistake is to write

 macro(foo arg)
   if(arg)
   endif()
 endmacro()

and expect if() to treat "arg" as a variable.  The documentation of the
macro() command already states that arguments are not variables, but
users writing the if() command may not look at the macro() docs.
Add a note to the if() documentation.
2012-07-11 10:40:04 -04:00
Peter Kümmel 4bb94c9fbd Ninja: sysconf() is declared in unistd.h 2012-07-11 10:20:46 +02:00
Peter Kümmel bb3675999f Ninja: enable response file support on Mac (length 262144) 2012-07-11 10:11:01 +02:00
Peter Kümmel 3a2c8e8e66 Ninja: disable work around when linking with mingw
The work around is only needed by older GCCs (only testet 4.4/4.7)
Ninja is very new so chances are high that there is also a new mingw.

Use slashes in link rsp file, because ar.exe can't handle \.
2012-07-11 08:55:00 +02:00
Kitware Robot 0c7c912abc CMake Nightly Date Stamp 2012-07-11 00:01:06 -04:00
Brad King 2e99949ccb include: Ignore empty string as file name (#13388)
Previously CMake silently accepted the empty string and added a bogus
dependency on the current directory.  Instead warn about the empty file
name and ignore it.  We cannot make this an error because there may be
existing projects that accidentally depend on the old behavior.

Add a RunCMake.include test to cover this case.
2012-07-10 11:05:04 -04:00
Peter Kümmel 3856e6698e Ninja: error on missing rspfile_content 2012-07-10 10:53:25 +02:00
Peter Kümmel 8c1e35c195 Ninja: remove some unused default arguments 2012-07-10 10:53:24 +02:00
Peter Kümmel 7f647cf5eb Ninja: also write link libraries to rsp file
and enable rspfile support on Linux, needed for commands longer than e.g. 2096152 characters on Ubuntu.
2012-07-10 10:53:24 +02:00
Kitware Robot 6274ca6f91 CMake Nightly Date Stamp 2012-07-10 00:01:05 -04:00
David Cole f6fa381a4b Merge topic 'cmake-gui-locale'
ecfc53d cmake-gui: Fix code to respect current locale.
2012-07-09 14:24:09 -04:00
David Cole 2e43272187 Merge topic 'ninja-fixes'
6b31d39 Ninja: don't shadow 'outputs' variable
9b311fb Ninja: add soname test case
e3b1be2 Ninja: Clean all symlink created for libraries.
990f77e Ninja: remove int/size_t warning
2012-07-09 14:23:57 -04:00
David Cole ada7fe248a Merge topic 'ninja-cmdLineLimit'
6332ba5 Ninja: also consider rule command length for rsp file
0c42faf Ninja: also consider variables when checking command line length
2012-07-09 14:23:47 -04:00
David Cole b636728e39 Merge topic 'CPack-honorCPACK_XXX-valuesInScriptFile'
05a8630 Do not provide defaul value for CPACK_PACKAGE_DIRECTORY if found in config.
2012-07-09 14:23:28 -04:00
David Cole 098e8de461 Merge topic 'CPack-fixRegressionCPackWithNoArgs'
926d634 CPack fix regression between 2.8.7 and 2.8.8 when running cpack with no arg.
2012-07-09 14:23:18 -04:00
David Cole 45a687d307 Merge topic 'make_cldep_use_cmake_process_exec'
24a35ce Ninja: print error message when command failed
5f12424 Remove process execution code from cmcldeps and have it use cmake code.
2012-07-09 14:23:00 -04:00
David Cole 990db9ae2d Merge topic 'variable-doc-spaces'
ee158b3 fix 2 space bugs in variable documentation
2012-07-09 14:22:50 -04:00
David Cole b57dfb5f18 Merge topic 'fix-typo'
b163c45 Ninja: Fix typo: tagets -> targets
2012-07-09 14:22:30 -04:00
David Cole 8657c3cea6 Merge topic 'ctest-cmd-line-vars'
361696a CTest: Add test to verify -D variable definitions work
c77b57b CTest: Allow -Dvar=value with no space between the D and the var
93d084c CTest: Extend -D command line arg handling for variable definitions
af29848 CTest: Rename local variable for clarity
24ba0fd CTest: Refactor error output into ErrorMessageUnknownDashDValue
2012-07-09 14:22:02 -04:00
David Cole e6ce00a4ac Merge topic 'DetectManSection'
20e133e man documentation: detect man section from the given filename
38df155 documentation: preparation for making the man section configurable
e6a935f -remove trailing whitespace
2012-07-09 14:21:52 -04:00
David Cole 82a5dab47b Merge topic 'documentUndefinedCOMPONENT'
f7365f5 Enhance documentation of install command w.r.t. the "Undefined" component.
2012-07-09 14:21:42 -04:00
David Cole 8947f11d07 Merge topic 'Ninja-absolute-compile-commands'
ca403b8 Construct the full path before escaping it.
f9383a9 STYLE: Fix line length, remove extra blank line
e30d46e Use full paths in compile_commands.json for out of source builds.
2012-07-09 14:21:22 -04:00
Peter Kuemmel 6b31d39551 Ninja: don't shadow 'outputs' variable 2012-07-09 14:15:08 -04:00
Nicolas Despres e3b1be24a8 Ninja: Clean all symlink created for libraries.
'ninja -t clean' only cleans built output and dep files so all file
created as a side effect and not mentioned in the 'build' statement
would be omitted.
2012-07-09 14:15:08 -04:00
Peter Kuemmel 990f77eab3 Ninja: remove int/size_t warning 2012-07-09 14:15:07 -04:00
Brad King 280a333e1e Fix project command documentation typo (#13384)
Commit 9090572f (Add ability to include a file in a project via a cache
variable, 2012-02-17) taught the project() command to check variable
"CMAKE_PROJECT_<projectName>_INCLUDE" but the documentation included an
extra "_FILE" by accident.  Remove it.
2012-07-09 08:44:13 -04:00
Kitware Robot f70f55c064 CMake Nightly Date Stamp 2012-07-09 00:01:02 -04:00
Kitware Robot d7e6ca5543 CMake Nightly Date Stamp 2012-07-08 00:01:02 -04:00
Kitware Robot c848651699 CMake Nightly Date Stamp 2012-07-07 00:01:05 -04:00
Clinton Stimpson ecfc53da7e cmake-gui: Fix code to respect current locale.
This means non-ascii characters now work correctly on systems that
have a non-ascii 8 bit encoding as the current locale.
2012-07-06 13:26:39 -06:00
Kitware Robot 37e3d910ec CMake Nightly Date Stamp 2012-07-06 00:01:05 -04:00
Kitware Robot 1cb3b0fcd6 CMake Nightly Date Stamp 2012-07-05 00:01:02 -04:00
Eric NOULARD 05a8630ee6 Do not provide defaul value for CPACK_PACKAGE_DIRECTORY if found in config.
This fixes bug #0012906.
2012-07-04 23:08:32 +02:00
Kitware Robot c8bf86cf82 CMake Nightly Date Stamp 2012-07-04 00:01:04 -04:00
Eric NOULARD 926d634d3e CPack fix regression between 2.8.7 and 2.8.8 when running cpack with no arg.
In 2.8.7 running cpack with no arguments would run the packaging iff
a CPackConfig.cmake file is found whereas
In 2.8.8 it displays the help.
This commit restore the 2.8.7.
We should add a test for this but this is not included in this commit.
2012-07-03 15:28:07 +02:00
Kitware Robot b689f8e928 CMake Nightly Date Stamp 2012-07-03 00:01:04 -04:00
Eric NOULARD a8c659cd6e Find dpkg and rpmbuild in usual Fink and MacPort paths 2012-07-02 19:49:07 +02:00
Peter Kuemmel 6332ba5a58 Ninja: also consider rule command length for rsp file 2012-07-02 10:30:29 +02:00
Kitware Robot c27c82a4e9 CMake Nightly Date Stamp 2012-07-02 00:01:05 -04:00
Peter Kuemmel 0c42faf63a Ninja: also consider variables when checking command line length 2012-07-02 00:01:41 +02:00
Kitware Robot ba41a238f7 CMake Nightly Date Stamp 2012-07-01 00:01:02 -04:00
Kitware Robot 370c422def CMake Nightly Date Stamp 2012-06-30 00:01:02 -04:00
Kitware Robot 7ecbf9daac CMake Nightly Date Stamp 2012-06-29 00:01:05 -04:00
Peter Kuemmel 24a35cef25 Ninja: print error message when command failed 2012-06-28 13:48:10 +02:00
Kitware Robot 3cb7eefd55 CMake Nightly Date Stamp 2012-06-28 00:01:05 -04:00
Rolf Eike Beer ee158b367c fix 2 space bugs in variable documentation 2012-06-27 23:44:54 +02:00
Bill Hoffman 5f12424ebc Remove process execution code from cmcldeps and have it use cmake code.
This simplifies the code in cmcldeps and avoids having yet another
set of process execution code.
2012-06-27 12:28:12 -04:00
Kitware Robot 61dbddd8af CMake Nightly Date Stamp 2012-06-27 00:01:06 -04:00
David Cole b163c45445 Ninja: Fix typo: tagets -> targets
Thanks to Claus Klein for the report on the mailing list.
2012-06-26 10:35:39 -04:00
Kitware Robot bd67f75e41 CMake Nightly Date Stamp 2012-06-26 00:01:04 -04:00
Kitware Robot eb0922a90c CMake Nightly Date Stamp 2012-06-25 00:01:02 -04:00
David Cole c77b57ba7d CTest: Allow -Dvar=value with no space between the D and the var
Similar to CMake's handling of -D command line arguments, for
consistency and to avoid silent ignoring of "unknown command
line" args.
2012-06-24 08:14:11 -04:00
David Cole 93d084c180 CTest: Extend -D command line arg handling for variable definitions
If the argument following -D is not a valid dashboard type string,
then try to parse it as a "var:type=value" string just like cmake
already does.
2012-06-24 08:03:24 -04:00
David Cole af298480d0 CTest: Rename local variable for clarity 2012-06-24 05:51:08 -04:00
David Cole 24ba0fd078 CTest: Refactor error output into ErrorMessageUnknownDashDValue
No behavior change. Prep work for defining script variables by
extending -D command line handling to recognize var:type=value syntax.
2012-06-24 05:46:55 -04:00
Kitware Robot 2fdc5517b1 CMake Nightly Date Stamp 2012-06-24 00:01:03 -04:00
Kitware Robot 72ce588933 CMake Nightly Date Stamp 2012-06-23 00:01:04 -04:00
David Cole fa804f319c CMake 2.8.9-rc1 2012-06-22 06:25:48 -04:00
Kitware Robot 0302287739 CMake Nightly Date Stamp 2012-06-22 00:01:06 -04:00
Alex Neundorf 20e133e38a man documentation: detect man section from the given filename
E.g. if you say cmake --help-custom-modules mymodules.7
cmake will now put section 7 into the generated manpage.

Alex
2012-06-21 23:19:55 +02:00
Alex Neundorf 38df155dd3 documentation: preparation for making the man section configurable
This patch adds a man section number, which is then used by the
DocumentationFormatterMan. The section number is right now always 1,
detecting this from the file name will be the next step.

Alex
2012-06-21 23:06:08 +02:00
Alex Neundorf e6a935f39b -remove trailing whitespace
Alex
2012-06-21 23:02:55 +02:00
Eric NOULARD f7365f5775 Enhance documentation of install command w.r.t. the "Undefined" component.
Inspired-By: Bill Lorensen on the mailing list.
2012-06-21 20:49:16 +02:00
David Cole b0e5079ab5 Merge topic 'eliminate-warnings'
91d945a Remove unused ivars to eliminate compiler warnings
24c4f18 Remove unused ivars to eliminate compiler warnings
2012-06-21 11:55:44 -04:00
David Cole ae6f9b015f Merge topic 'module-no-soname'
56148fd Do not crash on SHARED library without language (#13324)
2012-06-21 11:55:15 -04:00
David Cole e5ebb77405 Merge topic 'no-source-language-crash'
2c2fbaf Do not crash on unknown source language (#13323)
2012-06-21 11:54:52 -04:00
Kitware Robot 9f80ad7ccb CMake Nightly Date Stamp 2012-06-21 00:01:06 -04:00
David Cole 91d945a4e9 Remove unused ivars to eliminate compiler warnings 2012-06-20 17:44:10 -04:00
Sean McBride 24c4f18c72 Remove unused ivars to eliminate compiler warnings 2012-06-20 17:43:37 -04:00
Stephen Kelly ca403b8c43 Construct the full path before escaping it.
Should fix some dashboard errors.
2012-06-20 22:47:41 +02:00
Brad King 56148fd2bc Do not crash on SHARED library without language (#13324)
Since commit e1409ac5 (Support building shared libraries or modules
without soname, 2012-04-22) CMake crashes on the code

 add_library(foo SHARED foo.nolang)

because the logic to lookup the language's soname flag was moved from
cmTarget::GetLibraryNames to cmMakefile::GetSONameFlag without its check
for a NULL language.  Restore the check for NULL.

Add RunCMake.Languages test to cover language error cases like this one.
2012-06-20 11:26:05 -04:00
Mariusz Plucinski 2c2fbaf0e5 Do not crash on unknown source language (#13323)
If a source file extension is not recognized as any language then
src.GetLanguage() may return NULL.  Check the result before
dereferencing in cmLocalGenerator::GetObjectFileNameWithoutTarget.
2012-06-20 08:59:54 -04:00
Kitware Robot 30305b989e CMake Nightly Date Stamp 2012-06-20 00:01:06 -04:00
David Cole f9383a9898 STYLE: Fix line length, remove extra blank line 2012-06-19 14:49:13 -04:00
David Cole 7ddbdde15f Merge topic 'doc-set-command'
f2c1f24 Improve documentation of set command (#13269)
2012-06-19 14:43:09 -04:00
David Cole 565744bd3d Merge topic 'ninja-cldeps'
eb410e8 Ninja: disable cldeps for bcc32, it's too old, and ninja would also not build
5ead31d Ninja: try work around for bcc32 bug
1333b57 Ninja: build server fixes
9081e3a remove warning about unused parameter
f430bea Ninja: maybe this fixes the bcc32 build
f2c1288 Ninja: msvc6 for-scoping
44b9bbc Ninja: build with old msvc versions
57156a5 Ninja: build server fixes
f1abdce Ninja: some bytes of the rc files couldn't be piped correctly
2de963d Ninja: don't remove space between command and parameters
50b6f33 Ninja: build cmcldeps with mingw
c05653e Ninja: try to make GetProcessId visible
ab245ff Ninja: but cl supports /nologo ...
bf58e9a Ninja: no /nologo option in old rc.exe
2fb07fc Ninja: Eclipse and KDevelop fixes for ninja
518c065 Ninja: don't pollute build dir with preprocessed rc files
...
2012-06-19 14:42:41 -04:00
David Cole 8d198a71fc Merge topic 'FailIfMocFails-13299'
e4a2d5f automoc: better error handling (#13299)
2012-06-19 14:42:32 -04:00
David Cole fbfddc70a4 Merge topic 'ninja-enable-on-windows'
2077e98 Ninja: Enable the ninja generator by default on Windows.
2012-06-19 14:42:23 -04:00
David Cole aa2c6d0493 Merge topic 'no-std-stringstream'
32313fd Merge branch 'ninja-rspfile' into no-std-stringstream
e3a1f72 Ninja: find mingw's resource compiler
c60557e Ninja: don't break because of empty commands
128fe5d Ninja: also create rspfile rules
0266c9b Ninja: check for valid pointer
5aab7f9 Ninja: 30000 is too long for windows cmd
ad4a768 Ninja: add response file support on Windows
2012-06-19 14:42:11 -04:00
Stephen Kelly e30d46e20e Use full paths in compile_commands.json for out of source builds.
Clang tooling requires that paths in the directory and file JSON
fields are relative to the directory field, but clang doesn't normalize
the paths already. The result is that clang doesn't find the relevant
entry for files which begin with ../.
2012-06-19 09:01:28 +02:00
Kitware Robot 4889188f67 CMake Nightly Date Stamp 2012-06-19 00:01:05 -04:00
Sebastian Leske f2c1f2402e Improve documentation of set command (#13269) 2012-06-18 10:02:13 -04:00
Peter Kuemmel eb410e8dd8 Ninja: disable cldeps for bcc32, it's too old, and ninja would also not build 2012-06-18 13:39:29 +02:00
Kitware Robot 1d8199ffec CMake Nightly Date Stamp 2012-06-18 00:01:05 -04:00
Peter Kuemmel 5ead31da63 Ninja: try work around for bcc32 bug 2012-06-17 10:17:19 +02:00
Peter Kuemmel 1333b576b5 Ninja: build server fixes
Why does the other compiler give no error?
Seems there is somewhere a "using".
2012-06-17 10:09:10 +02:00
Kitware Robot 7eaaea1a02 CMake Nightly Date Stamp 2012-06-17 00:01:05 -04:00
Peter Kuemmel 9081e3a135 remove warning about unused parameter 2012-06-16 12:58:06 +02:00
Peter Kuemmel f430bea11b Ninja: maybe this fixes the bcc32 build 2012-06-16 12:54:10 +02:00
Peter Kuemmel f2c12887ba Ninja: msvc6 for-scoping 2012-06-16 12:51:25 +02:00
Peter Kuemmel 44b9bbc89d Ninja: build with old msvc versions 2012-06-16 12:40:59 +02:00
Peter Kuemmel 57156a5d30 Ninja: build server fixes
- disable cldeps on cygwin
- don't "use" namespace std
2012-06-16 12:31:50 +02:00
Kitware Robot 486c093e45 CMake Nightly Date Stamp 2012-06-16 00:01:04 -04:00
Peter Kuemmel f1abdce1cc Ninja: some bytes of the rc files couldn't be piped correctly
Write to a file again but generate it in the object dir
2012-06-15 18:56:34 +02:00
Peter Kuemmel 2de963d996 Ninja: don't remove space between command and parameters 2012-06-15 17:52:17 +02:00
Peter Kuemmel 50b6f33dbc Ninja: build cmcldeps with mingw 2012-06-15 13:46:49 +02:00
Peter Kuemmel c05653e18c Ninja: try to make GetProcessId visible 2012-06-15 13:38:52 +02:00
Peter Kuemmel ab245ff3c8 Ninja: but cl supports /nologo ... 2012-06-15 13:07:05 +02:00
Peter Kuemmel bf58e9adec Ninja: no /nologo option in old rc.exe 2012-06-15 12:49:01 +02:00
Peter Kuemmel 2fb07fc44c Ninja: Eclipse and KDevelop fixes for ninja
Thx to Claus Klein
2012-06-15 12:14:13 +02:00
Peter Kuemmel 518c06585b Ninja: don't pollute build dir with preprocessed rc files 2012-06-15 10:40:04 +02:00
Kitware Robot 5984e49764 CMake Nightly Date Stamp 2012-06-15 00:01:06 -04:00
Peter Kuemmel 41c28dc35b Ninja: be more accurate when estimating the command line length 2012-06-15 02:00:15 +02:00
Peter Kuemmel f13a6a087e Ninja: undo all the NOSHELL patches 2012-06-15 01:43:08 +02:00
David Cole 88115fe9b1 Merge topic 'EclipseParallelMakeForBuildProject'
414bf67 Eclipse: parallel build also for "Build project" #13287
2012-06-14 16:29:08 -04:00
David Cole 2d1c25d179 Merge topic 'install-case-sensitive-mac'
a41557a install: Fix FILES_MATCHING on case-sensitive Mac filesystems (#13177)
2012-06-14 16:28:54 -04:00
Alex Neundorf e4a2d5f9ee automoc: better error handling (#13299)
automoc now fails immediately if moc fails, instead of continuing
and letting the build fail later on.

Alex
2012-06-14 22:27:22 +02:00
David Cole 555bda4e43 Ninja: Restructure code to work with the Borland compilers
Should fix the Borland dashboard errors.
2012-06-14 13:39:39 -04:00
Peter Kuemmel 69bc5131b2 Ninja: remove nop line 2012-06-14 18:16:19 +02:00
Peter Kuemmel f1aa026fb9 Ninja: build with old vc versions 2012-06-14 18:02:43 +02:00
Peter Kuemmel eda3075478 Ninja: sh needs something befor and after && 2012-06-14 17:26:01 +02:00