Commit Graph

14449 Commits

Author SHA1 Message Date
Patrick Gansterer 6920fed652 VS: Change variable type of Name from const char* to string 2012-11-26 09:33:27 -05:00
Patrick Gansterer 102521b6b3 VS: Change variable type of ArchitectureId from const char* to string 2012-11-26 09:33:26 -05:00
Patrick Gansterer 332dc09d0d VS: Add static method to get the base of the registry 2012-11-26 09:33:25 -05:00
Patrick Gansterer d41d4d3d61 VS: Add CMAKE_VS_PLATFORM_NAME definition to cmMakefile
When adding more platforms to the Visual Studio generators a simple
regular expressing can not handle all cases anymore. This new
define holds the name of the Visual Studio target platform.
2012-11-26 09:33:24 -05:00
Brad King 4d078ab460 Merge branch 'FixAutomocRegression3' into release 2012-11-26 09:02:25 -05:00
Kitware Robot e574852120 CMake Nightly Date Stamp 2012-11-26 00:01:06 -05:00
Kitware Robot 6aa02d24c7 CMake Nightly Date Stamp 2012-11-25 00:01:07 -05:00
Morné Chamberlain b3ae61f833 Merge branch 'master' into sublime-text-2-generator 2012-11-24 20:23:55 +02:00
Morné Chamberlain 089d9ccdce SublimeText 2 Gen: Set the sublimeclang_options_script property.
The sublimeclang_options_script property is now set in the project
file. It is set to execute a python script that reads the JSON options
file to get options per source file. Python must be installed and in the
path for this feature to work from Sublime Text.
2012-11-24 20:19:35 +02:00
Kitware Robot 79357448ce CMake Nightly Date Stamp 2012-11-24 00:01:04 -05:00
Clemens Heppner 00e96808aa CMake: source_group needs to check its own regex after its children (#13611)
Otherwise, regexes that descend into sub-folders do not get grouped correctly.
2012-11-23 10:57:13 -05:00
Kitware Robot 0499f93716 CMake Nightly Date Stamp 2012-11-23 00:01:05 -05:00
Kitware Robot 976cfddae8 CMake Nightly Date Stamp 2012-11-22 00:01:05 -05:00
David Cole 7ae7d66503 NMake: Fix problem with empty DEPENDS args (#13392)
add_custom_command can have empty DEPENDS arguments, which
was triggering invalid makefile generation for the NMake
Makefiles generator. We were mistakenly emitting the build
directory appended with "/" plus the empty string... which
was then translated to a string ending in \" in build.make...
which nmake choked on.

The solution is not to emit any dependency when the input
DEPENDS is the empty string. Return early from GetRealDependency
in this empty input case.
2012-11-21 11:29:38 -05:00
Stephen Kelly 0bbae6f95f Revert "Move GetLinkInformation to cmGeneratorTarget"
As we can't move all linking related code from cmTarget, it makes
sense to reverse the move in some cases.

This reverts commit 4f5384e75c.
2012-11-21 15:49:37 +01:00
Stephen Kelly d5cf644ac2 Split link information processing into two steps.
The first step can be ported to use the generator expression API,
while the second can not. This is for compatibility with CMP0003.
2012-11-21 15:49:36 +01:00
Kitware Robot b336d9a049 CMake Nightly Date Stamp 2012-11-21 00:01:04 -05:00
Stephen Kelly ddc052052b Always use the auto_ptr from cmsys.
This is for consistency throughout cmake. The cmsys version exists
becaues uses of auto_ptr types as return types does not work with
some implementations in ancient compilers.
2012-11-21 00:56:36 +01:00
Stephen Kelly d8a59ea4b3 Port cmGeneratorExpression to cmTarget from cmGeneratorTarget.
Following from the discussion here:

 http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/3615/focus=5170
 (Re: Generator expressisons in target properties, 26 Oct 12:10)

we can't split cmTarget API for linking into cmGeneratorTarget. In
the future we will probably also need to move the include and compile
definitions API back to cmTarget so that it can be used by export().
2012-11-21 00:11:54 +01:00
Peter Kümmel 12ab1354fc Ninja: encode LINK_FLAGS to handle bash variables
Bug 13560
2012-11-20 22:00:09 +01:00
Brad King 8faf4e9380 Merge topic 'FixAutomocRegression3'
d253657 Automoc: fix regression #13667, broken build in phonon
2012-11-20 11:48:09 -05:00
Brad King d82200df26 Merge topic 'generator-factory'
75ebebc VS: Remove platform specific generator files
8b62080 VS: Remove EnableLanguage from platform-specific generators
5bdf011 VS: Remove GetPlatformName from platform-specific generators
8d42ab4 VS: Fix ArchitectureId of Visual Studio 10 IA64 generator
6f439b3 VS: Remove AddPlatformDefinitions from platform-specific generators
5170a88 Make cmGlobalGenerator::GetDocumentation() a static function
04ff866 Allow a GeneratorFactory handling of more than one generator
984ebc3 Search generator in cmake::ExtraGenerators before in cmake::Generators
30a6950 Add cmGlobalGeneratorFactory::GetGenerators()
e8f8414 Introduce the abstract class cmGlobalGeneratorFactory
2012-11-20 11:48:05 -05:00
Brad King 9e73b3a095 Merge topic 'fix-IMPORTED-GLOBAL-reconfigure'
5ff7587 Initialize IMPORTED GLOBAL targets on reconfigure (#13702)
2012-11-20 11:47:57 -05:00
Brad King 5e0906629b Merge topic 'AutomocInheritFOLDERTargetProperty'
3efe1d3 Automoc: "inherit" FOLDER target property from target (#13688)
2012-11-20 11:47:51 -05:00
Brad King 53b7e71e88 Merge topic 'vs-global-sections'
45d4f81 Merge topic 'per-config-EXCLUDE_FROM_DEFAULT_BUILD' into vs-global-sections
694322e Define properties VS_GLOBAL_SECTION_*
2c91962 Implement properties VS_GLOBAL_SECTION_*
57cadc1 Add tests for VS_SOLUTION_GLOBAL_SECTIONS
2012-11-20 11:47:43 -05:00
Brad King 508504ab6f Merge topic 'per-config-EXCLUDE_FROM_DEFAULT_BUILD'
739f166 Serialize tests for EXCLUDE_FROM_DEFAULT_BUILD
e31d83b Define property EXCLUDE_FROM_DEFAULT_BUILD
d1f8828 Add property EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>
b777272 Add tests for EXCLUDE_FROM_DEFAULT_BUILD
2012-11-20 11:47:35 -05:00
Alex Neundorf d2536579d5 Automoc: fix regression #13667, broken build in phonon
On some systems, ${QT_INCLUDE_DIR} is reported by gcc as a builtin
include search dir. Some projects use this information to extend
CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES.
In cmake 2.8.10 now the targets are queried for the include directories
they use. When they return the result, the include dirs contained in
CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES have been removed.
In cmake 2.8.9 and below the INCLUDE_DIRECTORIES directory property
was queried, where this had not been stripped.
So, in those projects which modify the implicit include dirs variable,
on systems where ${QT_INCLUDE_DIR} is reported by gcc, this directory,
e.g. /usr/lib/include/qt/, was not given anymore to moc. This made moc
not find required headers, so the build broke.
Simply giving the full CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES to moc
is no solution either, since moc can't handle some of the headers it
finds then (https://bugreports.qt-project.org/browse/QTBUG-28045).
So now cmake checks CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES, and if this
contains ${QT_INCLUDE_DIR}, and the target reports that it uses
${QT_QTCORE_INCLUDE_DIR} but not ${QT_INCLUDE_DIR}, ${QT_INCLUDE_DIR}
is added to the include dirs given to moc.

Alex
2012-11-20 11:46:28 -05:00
Kitware Robot f673b38247 CMake Nightly Date Stamp 2012-11-20 00:01:06 -05:00
David Golub 6ff730a498 CPack/NSIS: Add support for 64-bit NSIS (#13203) 2012-11-19 20:08:31 -05:00
Patrick Gansterer 75ebebc39c VS: Remove platform specific generator files
Move the whole logic into the base class and the factory.
2012-11-19 14:56:29 -05:00
Patrick Gansterer 8b62080c9d VS: Remove EnableLanguage from platform-specific generators
Move the logic into the base class to remove duplicated code.
2012-11-19 14:10:30 -05:00
Patrick Gansterer 5bdf01184b VS: Remove GetPlatformName from platform-specific generators
Use the existing ArchitectureId to generate the PlatformName
to reduce duplicated information in the classes.
2012-11-19 14:10:25 -05:00
Patrick Gansterer 8d42ab4260 VS: Fix ArchitectureId of Visual Studio 10 IA64 generator
Replace "x64" with "Itanium" like at the VS 9 IA64 generator.
2012-11-19 14:09:16 -05:00
Patrick Gansterer 6f439b30cb VS: Remove AddPlatformDefinitions from platform-specific generators
Move the logic for handling platform specific defines from the
subclasses into the cmGlobalVisualStudioGenerator base class.
2012-11-19 12:54:57 -05:00
Patrick Gansterer 5170a8800f Make cmGlobalGenerator::GetDocumentation() a static function
Making the function static allows us to call it directly,
without creating and removing an instance of the generator.
2012-11-19 12:54:50 -05:00
Patrick Gansterer 04ff866ca8 Allow a GeneratorFactory handling of more than one generator
Pass the name of the requested generator to the generator factory,
which is now responsible to check if it can create a matching
generator for the name. This allows us to add more logic to the
factory in a next step, so that not every possible generator needs
to get registered explicit in cmake::AddDefaultGenerators().
2012-11-19 12:54:35 -05:00
Patrick Gansterer 984ebc3350 Search generator in cmake::ExtraGenerators before in cmake::Generators
Since ExtraGenerators does not contain items, which are in Generators
too, there is not change in behaviour. The benefit of this change is,
that the lookup in the Generators map is now only done once.
2012-11-19 12:54:34 -05:00
Patrick Gansterer 30a695021c Add cmGlobalGeneratorFactory::GetGenerators()
This allows cmGlobalGeneratorFactory to create more than
one type of cmGlobalGenerator in a next step.
2012-11-19 12:54:34 -05:00
Patrick Gansterer e8f841473b Introduce the abstract class cmGlobalGeneratorFactory
This new abstract class allows us move some logic from the
cmGlobalGenerator into its own layer in a next step.
2012-11-19 12:54:30 -05:00
Brad King 5ff75873a9 Initialize IMPORTED GLOBAL targets on reconfigure (#13702)
Since commit ca39c5cd (Optionally allow IMPORTED targets to be globally
visible, 2012-01-25) cmGlobalGenerator has a second member that tracks
targets with global scope.  We must initialize the new 'ImportedTargets'
member wherever the old 'TotalTargets' member is initialized.  Without
this initialization the ImportedTargets member is left with dangling
pointers during a same-process re-configuration.
2012-11-19 08:37:10 -05:00
Kitware Robot 7a8da5fce1 CMake Nightly Date Stamp 2012-11-19 00:01:03 -05:00
Kitware Robot 843c1617d6 CMake Nightly Date Stamp 2012-11-18 00:01:06 -05:00
Alex Neundorf 3efe1d35f4 Automoc: "inherit" FOLDER target property from target (#13688)
This patch sets the FOLDER target property for the automoc target
to the same value as of the actual target. This organizes the targets
in IDEs with folders better.

Inspired-by: Mike Gelfand

Alex
2012-11-17 18:32:54 +01:00
Kitware Robot 3359d95c00 CMake Nightly Date Stamp 2012-11-17 00:01:06 -05:00
Brad King 45d4f81fde Merge topic 'per-config-EXCLUDE_FROM_DEFAULT_BUILD' into vs-global-sections
Conflicts:
	Source/cmGlobalVisualStudio7Generator.h
2012-11-16 09:23:45 -05:00
Petr Kmoch 694322ecea Define properties VS_GLOBAL_SECTION_*
Add definition and documentation of properties
VS_GLOBAL_SECTION_PRE_<section> and VS_GLOBAL_SECTION_POST_<section>.
2012-11-16 08:17:14 -05:00
Petr Kmoch 2c9196207b Implement properties VS_GLOBAL_SECTION_*
Add properties VS_GLOBAL_SECTION_PRE_<name> and
VS_GLOBAL_SECTION_POST_<name>, which can be used to generate custom
GlobalSection-s in the .sln file.
2012-11-16 08:17:11 -05:00
Kitware Robot c152c65898 CMake Nightly Date Stamp 2012-11-16 00:01:03 -05:00
Kitware Robot a8fa4c0a65 CMake Nightly Date Stamp 2012-11-15 00:01:05 -05:00
Kitware Robot e670965093 CMake Nightly Date Stamp 2012-11-14 00:01:05 -05:00
Brad King 7cdc95ac36 Merge topic 'CPack-BugFixesSet'
b6f7881 Remove seemingly bogus duplicate CPACK_PACKAGE_FILE_NAME call.
2012-11-13 14:32:09 -05:00
Brad King a00132ced4 Merge topic 'CPack-fixTypoInErrorMsg'
572d9e1 Correct string literal typo (have "(NULL)" like all other cases).
2012-11-13 14:32:04 -05:00
Brad King 035c29fee4 Merge topic 'link-depends-no-shared'
306796e Teach BuildDepends test to cover LINK_DEPENDS_NO_SHARED
ed97631 Optionally skip link dependencies on shared library files
2012-11-13 14:31:54 -05:00
Brad King 87b8487d14 Merge topic 'update-KWSys'
1acc689 Merge branch 'upstream-kwsys' into update-KWSys
4cf44d3 KWSys 2012-11-08 (3b17de34)
2012-11-13 14:31:49 -05:00
Brad King 9d10ae5e52 Merge topic 'fix-compiler-warnings'
737534c Remove references to ancient and removed parts of the code.
21e8a08 Resolve ambiguity warning regarding use of && and ||.
5f6432f Resolve warnings about shadowing parameters and local variables.
9f16d42 Resolve warnings about used enum values in switch blocks.
bd8bdb6 Resolve warnings about unused variables.
2012-11-13 14:31:45 -05:00
Brad King 74563ba8fd Merge topic 'doc-fixups'
fa04673 Documentation: Clarify configure_file behavior
07d5e4b Documentation: Clarify some command descriptions
965de97 Documentation: Correct typos and grammar
2012-11-13 14:31:33 -05:00
Brad King 70b176e276 Merge topic 'deprecate-load_command'
d2d4398 load_command: Deprecate and document pending removal
2012-11-13 14:31:19 -05:00
Brad King 8f47c8bed1 Merge topic 'fix-13604-ccmake-del-key'
d424de4 ccmake: Allow DEL key in first column
2012-11-13 14:31:13 -05:00
Matthew Woehlke d424de48dc ccmake: Allow DEL key in first column
Change test if DEL key is allowed from 'curcol > 0' to 'curcol >= 0', as
deleting forward is reasonable in the first column (and probably
expected by users to work).

Support for DEL was first added in commit b3b43508 (BUG: fix for 6462,
delete key should delete the current char, 2008-08-19).  The commit
appears to have copied the original logic from the backspace code so the
old 'curcol > 0' logic was accidental rather than intentional.
2012-11-13 13:44:33 -05:00
Stephen Kelly 737534cdce Remove references to ancient and removed parts of the code.
This file came from ITK, and probably came from python before that.

This commit fixes a warning about the unused _PyPopenProcs variable.
2012-11-13 13:26:10 -05:00
Stephen Kelly 21e8a08bcf Resolve ambiguity warning regarding use of && and ||.
This is not ambiguous to the compiler, but it may seem ambiguous to
the reader.

From reading 3a53005f (Build object library targets in VS), 5484550a
(Detect and set Unicode character set in VS 10), and 9e01aefd (VS:
Add support for WinRT project properties (#12930)), this appears to
be the intentional semantic.
2012-11-13 13:26:10 -05:00
Stephen Kelly 5f6432f253 Resolve warnings about shadowing parameters and local variables. 2012-11-13 13:26:10 -05:00
Stephen Kelly 9f16d428a1 Resolve warnings about used enum values in switch blocks. 2012-11-13 13:26:10 -05:00
Petr Kmoch e31d83b3b8 Define property EXCLUDE_FROM_DEFAULT_BUILD
Add definition and documentation of properties EXLCUDE_FROM_DEFAULT_BUILD
and EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>.
2012-11-13 09:08:46 -05:00
Petr Kmoch d1f8828cc8 Add property EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>
Allow EXCLUDE_FROM_DEFAULT_BUILD to be specified per configuration.
2012-11-13 09:08:44 -05:00
Kitware Robot cf4bce5461 CMake Nightly Date Stamp 2012-11-13 00:01:04 -05:00
Kitware Robot 3b7abfddae CMake Nightly Date Stamp 2012-11-12 00:01:05 -05:00
Andreas Mohr b6f7881962 Remove seemingly bogus duplicate CPACK_PACKAGE_FILE_NAME call.
Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2012-11-11 21:54:35 +01:00
Morné Chamberlain 44c2eee896 Merge branch 'master' into sublime-text-2-generator 2012-11-11 22:10:21 +02:00
Morné Chamberlain 304b885d36 Sublime Text 2 Gen: Per-source Compile flags are now saved in a separate file.
We no longer write sublimeclang_options to the project file, but instead
write a separate .sublimeclang-options JSON file that contains a map
of source file paths to compile flags for that file.
2012-11-11 22:07:49 +02:00
Kitware Robot a23ac6bec6 CMake Nightly Date Stamp 2012-11-11 00:01:05 -05:00
Andreas Mohr 572d9e1e05 Correct string literal typo (have "(NULL)" like all other cases).
Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2012-11-10 15:49:05 +01:00
Kitware Robot 342934d4de CMake Nightly Date Stamp 2012-11-10 00:01:04 -05:00
Brad King 1acc689665 Merge branch 'upstream-kwsys' into update-KWSys 2012-11-09 08:24:08 -05:00
Kitware Robot ce761e123b CMake Nightly Date Stamp 2012-11-09 00:01:05 -05:00
Kitware Robot c31e119d24 CMake Nightly Date Stamp 2012-11-08 00:01:07 -05:00
Morné Chamberlain 5b2aa3dd9a SublimeText2 Gen: Fixed the issue where include directory flags used -D 2012-11-07 21:45:07 +02:00
Brad King fa046735ae Documentation: Clarify configure_file behavior 2012-11-07 14:30:46 -05:00
Andreas Mohr 07d5e4b871 Documentation: Clarify some command descriptions
- file(WRITE): add configure_file() decoupling hint
- function(): definitely mention PARENT_SCOPE
- include_directories(): mention possible results of SYSTEM setting
- macro(): mention scope specifics of function()
- message(): improve SEND_ERROR / FATAL_ERROR docs, since people said it's not obvious
2012-11-07 14:10:56 -05:00
Andreas Mohr 965de974b2 Documentation: Correct typos and grammar 2012-11-07 13:51:50 -05:00
Brad King d2d43986e7 load_command: Deprecate and document pending removal
This command works only when building projects using the same
architecture as the running CMake binary.  Since it was introduced
CMake has learned macro() and function() to add commands, and the
execute_process() command to launch advanced external computations.

Add a RunCMake.load_command test to verify the warning appears.
2012-11-07 09:24:05 -05:00
Brad King 56a687d173 Merge topic 'import-KWSys-subtree'
68579cd Merge branch 'upstream-kwsys' into import-KWSys-subtree
cd83da9 KWSys 2012-11-05 (df32fa6f)
3517106 CTestCustom: Suppress LNK4089 warning about PSAPI
5c63fa3 Merge branch 'ctest-SUBMIT_INDEX-cdash' into import-KWSys-subtree
17fb60b Merge branch 'upstream-kwsys' into import-KWSys-subtree
7ae44db KWSys 2012-10-16 (b7a97ac3)
97c9887 pre-commit: Update KWSys rejection message for new workflow
3db0b51 KWSys: Submit dashboard builds to PublicDashboard
4b8d363 Merge branch 'upstream-kwsys' into import-KWSys-subtree
a61f633 Merge branch 'master' into import-KWSys-subtree
8c55ea0 Merge branch 'upstream-kwsys' into import-KWSys-subtree
5d0de36 KWSys 2012-10-01 (bab53989)
7d3c295 KWSys 2012-05-02 (719638e2)
2012-11-07 09:07:15 -05:00
Stephen Kelly bd8bdb6fdd Resolve warnings about unused variables. 2012-11-07 13:45:30 +01:00
Kitware Robot cc54fe2178 CMake Nightly Date Stamp 2012-11-07 00:01:05 -05:00
Brad King da6b0ffe5d Merge topic 'ctest-SUBMIT_INDEX-cdash'
1cfaa2f CTest: Allow SUBMIT_INDEX with CDash
2012-11-06 14:14:13 -05:00
Brad King 3be0a7b4bf Merge topic 'FixImplicitDepends2'
05f162c AddCustomCommand: Handle multiple IMPLICIT_DEPENDS files (#10048)
c66f03a cmDepends: No dependency-vector erasure in CheckDependencies
e74ff7c cmDepends: allow multiple dependees per depender
ecc77d0 cmDependsC: fix indentation
3e7d97d cmDependsC: remove code duplication
b4e8f49 cmDependsC: remove unused member variable
2012-11-06 14:13:58 -05:00
Brad King 93a324975c Merge topic 'EclipseFixIndexerBySettingSourcePath'
077de8b Eclipse: set source path once to fix Eclipse indexer (#13596)
2012-11-06 14:13:55 -05:00
Brad King 9f1d379471 Merge topic 'start-contributing-irc-session'
828d4f5 Add several get_property() tests
82106e3 GetProperty test: move doc property tests into main process
56125a3 list: add tests for CMP0007 behavior
48ed48f Add test to secure the file(GLOB empty) behavior.
c2a6cb6 file: remove dead code
07251a8 Consolidate list() argument count testing
1b078c3 Add tests for list() invalid arguments
f560977 Add tests for list() argument count
d211e5d CMakeTests: allow to call the check_cmake_test macro with a given file
2012-11-06 14:13:50 -05:00
Brad King a0074b64fc Merge topic 'deb-rpm-all_components_in_one'
e7e2694 CPack: Fix RPM/Deb package names to not include "ALL_COMPONENTS_IN_ONE"
2012-11-06 14:13:44 -05:00
Brad King c79023ceff Merge topic 'fix-13571-avoid-empty-sln-folders'
d7de641 VS: Avoid empty, unreferenced solution folders... (#13571)
2012-11-06 14:13:32 -05:00
Brad King 11b8a44cfc Merge topic 'fix-genex-CONFIG'
9be64f3 GenEx: Use case insensitive comparison for $<CONFIG:...>
2012-11-06 14:13:10 -05:00
Brad King 43d3a6d49e Merge topic 'copyright-year'
a4ae88b Update programmatically-reported copyright year (#13638)
2012-11-06 14:13:05 -05:00
Brad King 11d0ad50ad Merge topic 'pdb-default-outdir'
f309366 Fix default PDB output directory (#13644)
2012-11-06 14:12:49 -05:00
Alex Neundorf 05f162ce95 AddCustomCommand: Handle multiple IMPLICIT_DEPENDS files (#10048)
The code handling IMPLICIT_DEPENDS was only able to track a single file,
the latest file replaced earlier files in the list.

The documentation now mentions that the language has to be prefixed to
every file and the test now uses two implicit dependencies, where only
the second is modified to trigger re-running of the custom command.

Alex

Inspired-by: Michael Wild <themiwi@users.sourceforge.net>
2012-11-06 11:54:58 -05:00
Michael Wild c66f03adf9 cmDepends: No dependency-vector erasure in CheckDependencies
Some dependency-generators (such as cmDependsFortran) generate multiple
entries per depender, so erasing the dependency vector for each depender
found loses earlier dependencies.

Signed-off-by: Michael Wild <themiwi@users.sourceforge.net>
2012-11-06 11:54:39 -05:00
Alex Neundorf e74ff7c29f cmDepends: allow multiple dependees per depender
This patch is heavily inspired by Michael Wild.

The interfaces cmDepends::Write and cmDepends::WriteDependencies where
extended to allow multiple dependees (sources) per depender (object).
cmDepends::Write first collect all dependencies into a std::set before
passing it to cmDepends::WriteDependencies.

cmDependsC::WriteDependencies also first collects all explicit and
implicit dependencies into a std::set and only then writes
depend.{internal,make}. The implementation of cmDependsFortran simply
loops over all sources and proceeds as before, whereas the cmDependsJava
implementation is as trivial as before.

This is for preventing exponential growth of depend.{internal,make} in
the next commit which fixes dependency-vector erasure in
cmDepends::CheckDependencies.

Inspired-by: Michael Wild <themiwi@users.sourceforge.net>
2012-11-06 11:54:39 -05:00
Alex Neundorf ecc77d09b8 cmDependsC: fix indentation
This is intentionally a separate commit, so the parent commit which
changes the logic is small and not mixed with formatting (indentation)
changes.  So, this patch here does not change any logic.

Alex
2012-11-06 11:54:00 -05:00
Alex Neundorf 077de8b271 Eclipse: set source path once to fix Eclipse indexer (#13596)
Since CMake 2.8.7 no src-path entry was generated anymore, in response to

 http://www.cmake.org/Bug/view.php?id=12213

Before that a src-path entry was added for each linked resource.
Now only one src-path entry is added, for the ${CMAKE_SOURCE_DIR}.
According to

 http://www.cmake.org/Bug/view.php?id=13596

this makes the indexer behave better.

Alex
2012-11-06 11:51:11 -05:00
Clinton Stimpson e7e2694823 CPack: Fix RPM/Deb package names to not include "ALL_COMPONENTS_IN_ONE" 2012-11-06 11:50:07 -05:00
Brad King 902ab6b565 CMake 2.8.10.1 2012-11-06 11:24:28 -05:00
Brad King 20c5104713 Merge branch 'fix-genex-CONFIG' into release 2012-11-06 11:21:39 -05:00
Brad King 731ca02ecb Merge branch 'copyright-year' into release 2012-11-06 11:21:33 -05:00
Brad King 719438fc27 Merge branch 'pdb-default-outdir' into release 2012-11-06 11:20:50 -05:00
Brad King 68579cd6d9 Merge branch 'upstream-kwsys' into import-KWSys-subtree 2012-11-06 09:28:58 -05:00
Kitware Robot b750bf86c4 CMake Nightly Date Stamp 2012-11-06 00:01:04 -05:00
Stephen Kelly 9be64f34c2 GenEx: Use case insensitive comparison for $<CONFIG:...>
This fixes a regression introduced by commit f1eacf0e
(cmGeneratorExpression: Re-write for multi-stage evaluation).
2012-11-05 08:49:25 -05:00
Brad King a4ae88bdb2 Update programmatically-reported copyright year (#13638)
Update the copyright year reported by 'bootstrap' and in the generated
documentation to report 2012.
2012-11-05 08:44:03 -05:00
Kitware Robot 7c724031a7 CMake Nightly Date Stamp 2012-11-05 00:01:08 -05:00
Morné Chamberlain 90bcb77956 SublimeText2 Gen: Improved use of define, include flags from CMAKE_C(XX)_FLAGS
Both define and include flags from CMAKE_C(XX)_FLAGS are now included in
SublimeClang options.

Include directories are now used with absolute paths instead of relative
paths since CMake generated build trees cannot be moved anyway.
2012-11-04 16:15:04 +02:00
Morné Chamberlain cc84072156 Merge branch 'master' into sublime-text-2-generator 2012-11-04 14:15:52 +02:00
Kitware Robot 314e7fb6e9 CMake Nightly Date Stamp 2012-11-04 00:01:06 -04:00
Alex Neundorf 3e7d97d45d cmDependsC: remove code duplication
This patch reduces a bit code duplication by changing the way how the
case that we already have valid dependencies for a file is handled.
Instead of having the code for writing the depend-files twice,
we now fill the existing dependencies into the same set and then
write it out once at the end of cmDependsC::WriteDependencies()

Alex

Inspired-by: Michael Wild <themiwi@users.sourceforge.net>
2012-11-03 18:45:34 +01:00
Kitware Robot d39bd3e6a8 CMake Nightly Date Stamp 2012-11-03 00:01:03 -04:00
Brad King f309366873 Fix default PDB output directory (#13644)
The ComputePDBOutputDir added by commit 3f60dbf1 (Add
PDB_OUTPUT_DIRECTORY and PDB_NAME target properties, 2012-09-25) falls
back to the current binary directory instead of the target output
directory as before.  When no PDB_OUTPUT_DIRECTORY property is set we
instead should fall back to the target output directory where .pdb files
used to go before the new property was added.
2012-11-02 12:49:44 -04:00
Amine Chadly c2a6cb64af file: remove dead code
The file command requires at least two arguments, so guarding the GLOB and
MAKE_DIRECTORY command is not necessary. Changed it for an assert to keep the
protection.
2012-11-02 17:10:06 +01:00
Petr Kmoch 07251a8ea5 Consolidate list() argument count testing
Move test for list() argument count >= 2 to InitialPass().
2012-11-02 17:09:55 +01:00
Kitware Robot 1295247cad CMake Nightly Date Stamp 2012-11-02 00:01:06 -04:00
Brad King 5c63fa3d25 Merge branch 'ctest-SUBMIT_INDEX-cdash' into import-KWSys-subtree 2012-11-01 17:04:57 -04:00
Brad King 1cfaa2f1a0 CTest: Allow SUBMIT_INDEX with CDash
If CTEST_DROP_SITE_CDASH is true then SUBMIT_INDEX is supported.
The Dart version does not matter because the server is not Dart.
2012-11-01 17:03:20 -04:00
Kitware Robot f5b3736ef3 CMake Nightly Date Stamp 2012-11-01 00:01:05 -04:00
Brad King 17fb60bb13 Merge branch 'upstream-kwsys' into import-KWSys-subtree 2012-10-31 16:44:00 -04:00
David Cole e2006ce5a9 Merge topic 'packagemaker-component-postflight'
4374441 PackageMaker: Enable postflight script in component mode (#12375)
2012-10-31 16:35:05 -04:00
David Cole e7af22f6c3 Merge topic 'vs10-DelaySign-KeyFile'
035e7bd VS10: Honor /DELAYSIGN and /KEYFILE flags (#13601)
c65a2ea VS10: Refactor link options collection
2012-10-31 16:34:55 -04:00
David Cole d8233e5837 Merge topic 'xcode-ReRunCMake-full-path'
388a321 Xcode: Fix ReRunCMake.make path to cmake.check_cache (#13603)
2012-10-31 16:34:08 -04:00
David Cole bd394d42e6 Merge topic 'cpack-rez-error'
14561e3 Fix for possible Rez errors when creating dmg.
2012-10-31 16:33:56 -04:00
David Cole 0b9dac6cbc Merge topic 'EclipseNoLinkedResources'
fbda958 Eclipse: add switch to disable linked resources (#13189)
2012-10-31 16:33:36 -04:00
David Cole 72632f885c Merge topic 'fix-9629-add-unicode-nsis-reg-key'
668dda0 CPack: Add automatic detection of the Unicode makensis (#9629)
2012-10-31 16:33:27 -04:00
David Cole 6df05b93b1 Merge topic 'find_library-NAMES_PER_DIR'
66759ee find_library: Optionally consider all names in each directory
9cb68b1 find_library: Generalize helper macro in test case
b64dd76 find_library: Simplify framework search logic
531c71b find_library: Refactor internal name iteration
2012-10-31 16:32:41 -04:00
Clinton Stimpson 4374441f3f PackageMaker: Enable postflight script in component mode (#12375)
Previously, setting CPACK_POSTFLIGHT_SCRIPT had no effect in
component mode, when CPACK_COMPONENTS_ALL was set.

In component mode, a .mpkg is created that contains multiple .pkg's.
Because postflight scripts only work in a .pkg, add another .pkg to the
.mpkg and put the postflight script in that.
This is the same approach taken by the PackageMaker GUI when adding
a postflight script to a metapackage.
2012-10-31 16:23:48 -04:00
David Cole c3b82f6770 Begin post-2.8.10 development 2012-10-31 15:03:16 -04:00
David Cole c36622a45f CMake 2.8.10 2012-10-31 10:59:55 -04:00
Kitware Robot 4322816b6b CMake Nightly Date Stamp 2012-10-27 00:01:12 -04:00
Brad King 035e7bd04e VS10: Honor /DELAYSIGN and /KEYFILE flags (#13601)
Fix the VS 10 link flag map to name the project file entries correctly.
The VS 11 link flag map already has the correct names.  Generate the
entries in the <PropertyGroup> along with incremental linking options.
Drop them from the <Link> element because VS does not use them.
2012-10-26 11:02:42 -04:00
Brad King c65a2ea6a8 VS10: Refactor link options collection
Avoid collecting the link options twice.  Collect them once in a
LinkOptions member and use it from both places.  We already do this for
compiler options with the ClOptions member.
2012-10-26 10:16:45 -04:00
Brad King ed9763136a Optionally skip link dependencies on shared library files
Add target property LINK_DEPENDS_NO_SHARED and initialization variable
CMAKE_LINK_DEPENDS_NO_SHARED to enable this behavior.

Suggested-by: Leif Walsh <leif.walsh@gmail.com>
2012-10-26 08:28:16 -04:00
Kitware Robot b2c631c7c8 CMake Nightly Date Stamp 2012-10-26 00:01:04 -04:00
Kitware Robot 259cff94ff CMake Nightly Date Stamp 2012-10-25 00:01:06 -04:00
David Cole d7de6410dd VS: Avoid empty, unreferenced solution folders... (#13571)
...in generated sub-directory sln files.

Thanks to rlandert for the bug report and proposed patch.

The method WriteTargetsToSolution gets called possibly multiple times,
once per sln file, (-> once per "project" command).

Before accumulating folder names in VisualStudioFolders, clear it
first, so it doesn't have stale entries in it from the previous
sln file.
2012-10-24 14:27:06 -04:00
Brad King 388a3216fc Xcode: Fix ReRunCMake.make path to cmake.check_cache (#13603)
The path must be either absolute or relative to the working directory
from which the makefile will be loaded.  In subprojects this is not
relative to the top of the build tree.

Reported-by: David Weese <tre@gmx.de>
2012-10-24 14:13:19 -04:00
David Cole 52cd8e83d4 CMake 2.8.10-rc3 2012-10-24 11:43:00 -04:00
David Cole 4bda4b1c1c Merge branch 'release' 2012-10-24 11:40:33 -04:00
Kitware Robot f551fa6245 CMake Nightly Date Stamp 2012-10-24 00:01:07 -04:00
David Cole 02b993b1ca Merge topic 'genex-validate-target-property-names'
e386992 GexEx: Validate Target names and property names differently.
95d590d GenEx: Create cmGeneratorTargets for imported targets.
0442104 GenEx: Add an accessor for imported targets in a makefile.
2012-10-23 16:37:56 -04:00
David Cole 2b5635ee23 Merge topic 'expand-LOCATION-documentation'
0cc00b0 Document LOCATION undefined behavior with use of LINKER_LANGUAGE.
2012-10-23 16:37:46 -04:00
Clinton Stimpson 14561e3d35 Fix for possible Rez errors when creating dmg.
Rez appears to have a limit on the length of lines it processes.
Break up long lines from a license file to avoid the error.
2012-10-22 23:06:16 -06:00
Kitware Robot 2362bc8e80 CMake Nightly Date Stamp 2012-10-23 00:01:05 -04:00
Stephen Kelly e386992152 GexEx: Validate Target names and property names differently.
In the unit test, use the same IMPORTED_LOCATION trick that
the ExportImport test uses.
2012-10-22 14:05:48 -04:00
Stephen Kelly 95d590ddba GenEx: Create cmGeneratorTargets for imported targets.
We're going to need to link to them, and all the linking API is moving
to cmGeneratorTarget.

Skip imported targets when iterating over cmGeneratorTargets in places
where we only want targets we build.  The GetGeneratorTargets result now
includes IMPORTED targets where it didn't before.  The GetTargets
result, which was what used to be called in these methods does not
include IMPORTED targets.  This doesn't relate to any known bugs, but in
some future uses of GetGeneratorTargets it will be important, so
starting the convention and being deliberate now is a good idea.
2012-10-22 14:03:51 -04:00
Stephen Kelly 04421042b3 GenEx: Add an accessor for imported targets in a makefile. 2012-10-22 14:01:35 -04:00
Stephen Kelly 0cc00b06d8 Document LOCATION undefined behavior with use of LINKER_LANGUAGE. 2012-10-22 13:59:04 -04:00
Kitware Robot 9c42e9831d CMake Nightly Date Stamp 2012-10-22 00:01:04 -04:00
Kitware Robot df5c1db8c0 CMake Nightly Date Stamp 2012-10-21 00:01:05 -04:00
Kitware Robot 62d58bf52c CMake Nightly Date Stamp 2012-10-20 00:01:05 -04:00
Kitware Robot 4c5db6ce6c CMake Nightly Date Stamp 2012-10-19 00:01:04 -04:00
Morné Chamberlain 8670cbe166 Define flags in CMAKE_C(XX)_FLAGS are now included in SublimeClang settings.
Changed the the SublimeText2 generator name to Sublime Text 2.

Fixed a minor issue where if the build directory was outside of the source
directory an unnecessary folder_exclude_pattern was generated in the
Sublime Text 2 project file.
2012-10-18 22:54:19 +02:00
David Cole f1189ee60e CMake 2.8.10-rc2 2012-10-18 14:53:01 -04:00
David Cole 8830cf7f9e Merge branch 'release' 2012-10-18 14:51:07 -04:00
Kitware Robot 2fb2a09c0e CMake Nightly Date Stamp 2012-10-18 00:01:04 -04:00
Alex Neundorf fbda95883c Eclipse: add switch to disable linked resources (#13189)
Eclipse may get confused by these linked resources, because it sees
the same source file multiple times then and doesn't recognize
that it's the same file actually.

Alex
2012-10-17 23:45:02 +02:00
Morné Chamberlain d022d4ec78 Merge branch 'master' into sublime-text-2-generator 2012-10-17 23:29:53 +02:00
David Cole f3b8049884 Merge topic 'fix-INCLUDE_DIRECTORIES-multiconfig'
2a6bd96 Fix config-specific INCLUDE_DIRECTORIES in multi-config generators
2012-10-17 16:44:53 -04:00
David Cole 982905c0d2 Merge topic 'generator-expression-bug-fixes'
79edd00 GenEx: Fix reporting about not-found include directories and libraries.
f7ef32b GenEx: Replace some failing tests with Borland and NMake makefiles.
fd59b10 GenEx: Add some more asserts to verify code-sanity.
6dd2b36 GenEx: Break if there are no more commas in the container
e7230c7 GenEx: Fix termination bugs in generator expression parser.
145a4af GenEx: Test the use of generator expressions to generate lists.
e2d141d GenEx: Parse colon after arguments separator colon specially.
2012-10-17 16:44:44 -04:00
David Cole f7db7d735d Merge topic 'AutomocFixDuplicatedFiles_13572'
3446cb5 Automoc: fix #13572: issue with symbolic links
2012-10-17 16:44:14 -04:00
David Cole 7ff422fb8e Merge topic 'CPack-ArchiveGen-andDESTIR_ON'
ddec053 Make CPACK_SET_DESTDIR work with archive generator + component-based packaging
2012-10-17 16:44:06 -04:00
David Cole 5ca2c49173 Merge topic 'fix-some-CPackDoc-typos'
2aad678 Document CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY and fix some typo.
2012-10-17 16:43:53 -04:00
David Cole 8bffb8451c Merge topic 'Fix-XXX_ON_ABSOLUTE_INSTALL_DESTINATION-handling'
561b4ba CPACK_XX_ON_ABSOLUTE_INSTALL_DESTINATION is now properly checked for ON/OFF
2012-10-17 16:43:44 -04:00
David Cole a58cd0d7a4 Merge topic 'suncc-compile-fix'
a573a85 Attempt to fix the compile of cmake on Sun CC.
2012-10-17 16:43:36 -04:00
David Cole b61baf0c5c Merge topic 'codeblocks-cdefs'
60a3c08 Fix regression: write compile definitions if any
2012-10-17 16:43:26 -04:00
David Cole a2871e93ee Merge topic 'test-ctest-memcheck'
995a35f CTest: add a check with a quoted memory checker
de8bffc CTest: add a test for CTEST_CUSTOM_MEMCHECK_IGNORE
d26c9b6 CTest: improve memory checker type detection
fcae1da CTest: add tests that simulate memcheck runs
6187876 CTest: fix pre and post test commands with spaces
95bc8aa CTest: fix usage of memory checker with spaces in path
2012-10-17 16:43:02 -04:00
Stephen Kelly 2a6bd96c13 Fix config-specific INCLUDE_DIRECTORIES in multi-config generators
Commit 08cb4fa4 (Process generator expressions in the
INCLUDE_DIRECTORIES property, 2012-09-18) contained an incorrect
assumption that CMAKE_BUILD_TYPE was set on the makefile for each
generated configuration in multi-config generators. Fix that by making
the GetIncludeDirectories API depend on the config.
2012-10-17 16:24:14 -04:00
Stephen Kelly 79edd00235 GenEx: Fix reporting about not-found include directories and libraries.
This fixes a regression introduced in commit 290e92ad (Move
GetIncludeDirectories to cmGeneratorTarget, 2012-09-16) which loops over
cmGeneratorTargets before they get created, so the container is empty.
2012-10-17 16:23:32 -04:00
Stephen Kelly fd59b10e71 GenEx: Add some more asserts to verify code-sanity. 2012-10-17 16:21:13 -04:00
Stephen Kelly 6dd2b36559 GenEx: Break if there are no more commas in the container
This was causing an assert on Windows which has safety features for
iterating past the end of the container.
2012-10-17 16:21:13 -04:00
Stephen Kelly e7230c71fd GenEx: Fix termination bugs in generator expression parser.
Content which is incomplete as a generator expression could cause
segfaults by advancing an iterator beyond end() and dereferencing
it. Such incomplete generator expressions  should be treated as
plain text instead.
2012-10-17 16:21:12 -04:00
Stephen Kelly e2d141d474 GenEx: Parse colon after arguments separator colon specially.
The rationale is similar to that in commit b3d8f5da (GenEx: Parse comma
after colon tokens specially, 2012-10-04), in that colon tokens should
not be parsed as identifier-argument delimiters after the first colon.
2012-10-17 16:20:42 -04:00
David Cole 668dda034f CPack: Add automatic detection of the Unicode makensis (#9629) 2012-10-17 13:45:18 -04:00
Kitware Robot a56b8e436f CMake Nightly Date Stamp 2012-10-17 00:01:06 -04:00
Kitware Robot 5ca5a09e06 CMake Nightly Date Stamp 2012-10-16 00:01:04 -04:00
Kitware Robot 0e903942e7 CMake Nightly Date Stamp 2012-10-15 00:01:04 -04:00
Alex Neundorf 3446cb514b Automoc: fix #13572: issue with symbolic links
Now automoc always uses GetRealPath() so symbolic links are always
resolved and it doesn't end up with twice the same file, once with the real
path and once with the symlinked path in some setups where the source dir
can be accessed directly and via a symlink

Alex
2012-10-14 21:16:25 +02:00
Eric NOULARD ddec053321 Make CPACK_SET_DESTDIR work with archive generator + component-based packaging
Fix bug #13004. The patch is from Stanislaw Szymczyk.
2012-10-14 18:50:57 +02:00
Morné Chamberlain 9cd3e7071f Fixed Sublime Text project generation for in-source builds
Fixed the issue where for in-source builds the source directory
(which is also the build directory) was excluded from the project file.
2012-10-14 17:37:51 +02:00
Eric NOULARD 2aad678f23 Document CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY and fix some typo. 2012-10-14 14:58:19 +02:00
Eric NOULARD 561b4baead CPACK_XX_ON_ABSOLUTE_INSTALL_DESTINATION is now properly checked for ON/OFF
This fixes bug #0013490
2012-10-14 14:36:14 +02:00
Morné Chamberlain 44f35f7824 Added a CMAKE_SUBLIMECLANG_DISABLED variable that disables SublimeClang.
If the CMAKE_SUBLIMECLANG_DISABLED variable is on then SublimeClang
is disabled in the generated project file. This is useful in large
projects where SublimeClang might run slowly or perform poorly.
2012-10-14 14:06:20 +02:00
Morné Chamberlain 9657acb55a The generator no longer generates absolute paths to the ninja.build/Makefiles. 2012-10-14 12:11:32 +02:00
Morné Chamberlain 6742ee747f The generator no longer generates an explicit list of source files.
Now the source directory is simply added to the project file,
with the output/build directory excluded.
2012-10-14 10:46:29 +02:00
Kitware Robot e0e190c2d0 CMake Nightly Date Stamp 2012-10-14 00:01:03 -04:00
Morné Chamberlain cd76ec3e22 Added and cleaned up some comments. 2012-10-13 12:54:51 +02:00
Morné Chamberlain ef8aa081a1 Fixed support for the Ninja build system. 2012-10-13 11:20:09 +02:00
Morné Chamberlain 4d585b109d Cleaned up the Sublime Text 2 Generator code a bit. 2012-10-13 09:47:50 +02:00
Morné Chamberlain 75b060ff20 Changed SublimeClang include path generation to expand to absolute paths.
Fixed an issue where compiler definitions for SublimeClang were not
written to the project file.
2012-10-13 09:47:50 +02:00
Morné Chamberlain 32f79024ba Added some support for sublimeclang_options in the generated project file.
This adds -I include path flags and -D define flags for sublimeclang.
The current problem with this is that these flags cannot be set per
target (build_system in sublime text), it can only be set project
wide. Currently all of the include paths and compiler definitions from
ALL of the targets are used (with duplicates removed). This could be
problematic in some cases (conflicting compiler definitions among targets).
2012-10-13 09:47:50 +02:00
Morné Chamberlain b8457ad18b Added a generator for Sublime Text 2 project files.
The generator adds all list and source files for each defined
project. The generated project files also include build_system
entries that run the platform-specific make on the generated
Makefiles. A build_system entry is created for each target
that was defined in the CMakeLists.txt files.

At the moment this has only been tested with C/C++ projects.
2012-10-13 09:47:50 +02:00
Kitware Robot 3eecc12df0 CMake Nightly Date Stamp 2012-10-13 00:01:03 -04:00
Kitware Robot 4c28506ac4 CMake Nightly Date Stamp 2012-10-12 00:01:05 -04:00
Stephen Kelly a573a85658 Attempt to fix the compile of cmake on Sun CC.
The problem may be that the reportError method is static, so make
it non-static on that platform.
2012-10-11 22:31:35 +02:00
Peter Kümmel 60a3c08e96 Fix regression: write compile definitions if any
In 0ff4e3f0b8 cdefs
was changed from a pointer to a vector.
2012-10-11 20:58:39 +02:00
Kitware Robot 2876cb39d7 CMake Nightly Date Stamp 2012-10-11 00:01:05 -04:00
Kitware Robot cf7b1d9f71 CMake Nightly Date Stamp 2012-10-10 00:01:05 -04:00
Brad King 3dd443b510 Merge topic 'doc-regex-range'
0ed6ff7 string: Clarify regex documentation of '-' behavior
2012-10-09 08:40:38 -04:00
Brad King c8da8dd3a3 Merge topic 'doc-if-NOTFOUND'
f63304d if: Document that plain 'NOTFOUND' is a false constant
2012-10-09 08:40:30 -04:00
Brad King 53c2dada1c Merge topic 'generator-expression-bug-fixes'
7aa9927 GenEx: Don't use std::vector::at(int).
78e54b9 GenEx: Add tests for "0" and "1" expressions with literal commas.
d729e8b GenEx: Add test for $<BOOL:> with empty parameter.
354face GenEx: Ensure that the empty CONFIGURATION can be used conditionally.
8b3b88a GenEx: Validate target and property names.
b3d8f5d GenEx: Parse comma after colon tokens specially
a4985a9 GenEx: Report actual target name not found, not "0" each time.
d70650d GenEx: Return after error reported.
4801eb6 GenEx: It is not an error to specify an empty parameter
2012-10-09 08:40:07 -04:00
Brad King 76f3fe73ba Merge topic 'ctest-svn-suncc-5.1'
ea17faa cmCTestSVN: Fix compilation with Sun CC 5.1
2012-10-09 08:39:11 -04:00
Brad King f413d280bc Merge topic 'ninja-custom-command-implicit'
aa2e1e9 Ninja: implicit dependency for custom command files
2012-10-09 08:38:54 -04:00
Brad King 7da986bb6c Merge topic 'ninja-dont-pollute-current-dir'
74fc598 Ninja: don't pollute current dir when using gui (#13495)
2012-10-09 08:38:12 -04:00
Brad King aa0647ca9c Merge topic 'ninja-compile-OBJECT_DIR'
188c73c Ninja: also set OBJECT_DIR when compiling
2012-10-09 08:37:31 -04:00
Peter Kümmel 74fc5983b9 Ninja: don't pollute current dir when using gui (#13495) 2012-10-09 08:30:03 -04:00
Stephen Kelly 7aa99270fa GenEx: Don't use std::vector::at(int).
It might not exist with GCC 2.9.
2012-10-09 08:26:56 -04:00
Stephen Kelly 354face4fa GenEx: Ensure that the empty CONFIGURATION can be used conditionally.
The CONFIGURATION can not be manipulated at unit testing time, so
this is not unit tested further.
2012-10-09 08:26:48 -04:00
Stephen Kelly 8b3b88abd8 GenEx: Validate target and property names.
They must be non-empty, and match a restrictive regexp.
2012-10-09 08:26:45 -04:00
Stephen Kelly b3d8f5dab7 GenEx: Parse comma after colon tokens specially
Otherwise the comma is treated as plain text by ParseContent.

$<STREQUAL:,> should be valid and true.
$<STREQUAL:,something> should be valid and false.

$<STREQUAL:,,> should be non-valid as it is 3 parameters.
$<STREQUAL:something,,> should be non-valid as it is 3 parameters.

Additionally, this allows reporting the correct error for other
expressions. For example $<TARGET_PROPERTY:,> should be invalid
because it has an empty target and empty property. It shouldn't
attempt to read the property ',' on the 'implicit this' target.
2012-10-09 08:26:43 -04:00
Stephen Kelly a4985a9af9 GenEx: Report actual target name not found, not "0" each time. 2012-10-09 08:26:40 -04:00
Stephen Kelly d70650d6c3 GenEx: Return after error reported. 2012-10-09 08:26:37 -04:00
Stephen Kelly 4801eb6333 GenEx: It is not an error to specify an empty parameter
This is allowed by the CONFIG and STREQUAL expressions.
2012-10-09 08:26:32 -04:00
Kitware Robot 7e9bc86684 CMake Nightly Date Stamp 2012-10-09 00:01:15 -04:00
Brad King 0ed6ff7a2e string: Clarify regex documentation of '-' behavior
Mention that it is only special inside brackets.  Show an example.

Suggested-by: Alan W. Irwin
2012-10-08 09:32:15 -04:00
Kitware Robot 63baa20328 CMake Nightly Date Stamp 2012-10-08 00:01:02 -04:00
Kitware Robot 69f296bd36 CMake Nightly Date Stamp 2012-10-07 00:01:03 -04:00
Kitware Robot be9ebdb4c4 CMake Nightly Date Stamp 2012-10-06 00:01:03 -04:00
Brad King f63304d982 if: Document that plain 'NOTFOUND' is a false constant
Previously we only mentioned the '-NOTFOUND' suffix.

Reported-by: Nils Gladitz <gladitz@sci-vis.de>
2012-10-05 15:14:29 -04:00
Kitware Robot 60b59a54c1 CMake Nightly Date Stamp 2012-10-05 00:01:05 -04:00
Rolf Eike Beer d26c9b69c5 CTest: improve memory checker type detection
If the checker was explicitely set with a "TypeCommand" variable (e.g.
ValgrindCommand) then we now just believe that this is valgrind, even if
nothing in the path matches "valgrind". Only when "MemoryCheckCommand" was used
we still scan the path to find out what checker we have.
2012-10-04 23:07:31 +02:00
Brad King ea17faac4d cmCTestSVN: Fix compilation with Sun CC 5.1
Hack access to cmCTestVC::Revision on this compiler to avoid errors like

 Source/CTest/cmCTestSVN.cxx, line 23: Error: cmCTestSVN::SVNInfo is not accessible from cmCTestSVN::Revision.
 Source/CTest/cmCTestSVN.cxx, line 22: Error: cmCTestVC::Revision is not accessible from file level.
2012-10-04 15:05:05 -04:00
Kitware Robot 35f2af164f CMake Nightly Date Stamp 2012-10-04 00:01:07 -04:00
Peter Kümmel aa2e1e9cae Ninja: implicit dependency for custom command files 2012-10-03 18:09:49 +02:00
Peter Kümmel 188c73cb74 Ninja: also set OBJECT_DIR when compiling
BUG: 0013510
2012-10-03 17:24:36 +02:00
Kitware Robot 17d4527032 CMake Nightly Date Stamp 2012-10-03 00:01:07 -04:00
David Cole 11a07649ac CMake 2.8.10-rc1 2012-10-02 11:49:39 -04:00
Brad King 47e50423bf Merge topic 'ninja-LIBPATH'
1e47ccb Ninja: add option to enforce usage of response files
e31df03 Ninja: move <OBJECTS> in front of the first linker option
8d674e7 Ninja: move -LIBPATH behind -link option
2012-10-02 10:07:32 -04:00
Brad King 851a3a0b75 Merge topic 'ninja-link-rsp-expand'
dbd99d6 Revert "Ninja: don't expand any rsp files"
f1670ab Ninja: don't confuse ninja's rsp files with nmake's
2012-10-02 10:06:54 -04:00
Kitware Robot d7bc225530 CMake Nightly Date Stamp 2012-10-02 00:01:05 -04:00
Peter Kümmel 1e47ccb554 Ninja: add option to enforce usage of response files
If the cmake or environment variable CMAKE_NINJA_FORCE_RESPONSE_FILE
is set then a response file is used regardless the command line length.
2012-10-01 17:06:38 -04:00
Peter Kümmel e31df03939 Ninja: move <OBJECTS> in front of the first linker option
In the response file also linker options could be passed,
and because <OBJECTS> is replaced by a response file, it
is necessary that no compiler option follows <OBJECTS>.
2012-10-01 17:06:38 -04:00
Peter Kümmel 8d674e7844 Ninja: move -LIBPATH behind -link option
Don' pass linker option to the compile
2012-10-01 17:06:38 -04:00
Bill Hoffman dbd99d6fbb Revert "Ninja: don't expand any rsp files"
This reverts commit 5598d9b2a0.

Since commit f1670ab1 (Ninja: don't confuse ninja's rsp files with
nmake's, 2012-09-26) Ninja generator response files are placed in
CMakeFiles/ so the previously existing check already avoids expanding
them.
2012-10-01 17:06:37 -04:00
Brad King 3db0b51474 KWSys: Submit dashboard builds to PublicDashboard
CMake's test suite includes a dashboard build of KWSys directly out of
the CMake source tree.  Upstream KWSys switched to a dedicated dashboard
but CMake's test should still submit to the PublicDashboard project.
2012-10-01 15:45:21 -04:00
Brad King 4b8d3639ad Merge branch 'upstream-kwsys' into import-KWSys-subtree 2012-10-01 15:18:30 -04:00
Brad King 15cc55fe08 Merge topic 'documentation-cleanup'
4ad0233 Remove period at the end of the check message.
50b1ea5 Fix minor typos.
19c3206 Remove unused parameter marker and the unused parameter.
9d462b2 Document that generator expressions can be used in target properties.
daf88c3 Fix punctuation in some variables documentation.
3172cde Fix the layout of the generator expression documentation.
2012-10-01 14:05:44 -04:00
Brad King 49c7b649f9 Merge topic 'export-sets'
80112da Merge topic 'AutomocUseTargetProperties' into export-sets
955b966 exports: add a test for exporting dependent targets
6f50a04 exports: define a CMAKE_FIND_PACKAGE_NAME var set by find_package()
0cfd055 exports: move the handling of missing targets into subclasses
190f2c8 exports: fix build with MSVC6
8b5f448 exports: first try at error handling if a target is missing
87f4c01 exports: accept a missing target if it is exported exactly once
999061a exports: store pointers to all installations of each export set
64b3a6c exports: cmGlobalGenerator::ExportSets destructor will clear it
81cdab5 exports: Hold an ExportSet pointer in cm*Export*Generator
5c898fb exports: Add cmExportSetMap class
d13ec1a exports: Create class cmExportSet
4e2347c exports: Rename cmGlobalGenerator::AddTargetToExport{s,}
e846e70 exports: Remove cmTargetExport constructor
81c66c8 exports: Move cmTargetExport to a dedicated header file
ae4ab62 find_package: add support for a <package>_NOT_FOUND_MESSAGE variable
...
2012-10-01 14:05:35 -04:00
Brad King 7dce31f3d0 Merge topic 'vs-pdb-output'
2ccca05 Run PDBDirectoryAndName test on MSVC and Intel
efc83b3 Document that PDB_(NAME|OUTPUT_DIRECTORY) are ignored for VS 6
b294457 Verify that PDB_(NAME|OUTPUT_DIRECTORY) are honored in test
3f60dbf Add PDB_OUTPUT_DIRECTORY and PDB_NAME target properties (#10830)
2012-10-01 14:05:11 -04:00
Rolf Eike Beer 6187876dea CTest: fix pre and post test commands with spaces
If the pre or post memcheck or test commands have spaces in the path these
were never escaped, leading to broken commands. This was not covered in the
test suite so it went unnoticed.
2012-10-01 17:39:09 +02:00
Rolf Eike Beer 95bc8aa6c4 CTest: fix usage of memory checker with spaces in path
The filename was escaped in cmCTestMemCheckHandler::InitializeMemoryChecking()
and again before it was written to output in
cmCTestRunTest::ComputeArguments().

Once someone uses e.g. a valgrind path with spaces this leads to double escaping
making the memory checker fail completely because of the invalid path.
2012-10-01 17:39:09 +02:00
Kitware Robot 7fc4d81384 CMake Nightly Date Stamp 2012-10-01 00:01:03 -04:00
Alex Neundorf 80112da54e Merge topic 'AutomocUseTargetProperties' into export-sets
Conflicts:
	Source/cmGlobalGenerator.h
2012-09-30 10:27:44 -04:00
Alex Neundorf 6f50a04cc1 exports: define a CMAKE_FIND_PACKAGE_NAME var set by find_package()
This way the name of the searched package can be accessed in find-modules,
config-files and more importantly in generated target export files.
This is now used when a target export file detects that a required
target does not exist.

Alex
2012-09-30 10:26:54 -04:00
Alex Neundorf 0cfd055acd exports: move the handling of missing targets into subclasses
Before, cmExportFileGenerator::ComplainAboutMissingTarget() was a virtual
function which had to be implemented in the subclasses. It is not
anymore. Instead, there is now a virtual function
HandleMissingTargets(), which is implemented in the two subclasses.
This makes e.g. dealing correctly with APPEND mode easier.

Alex
2012-09-30 10:26:10 -04:00
Alex Neundorf b4e8f49b95 cmDependsC: remove unused member variable
Alex
2012-09-30 10:22:06 +02:00
Kitware Robot 554d4ed584 CMake Nightly Date Stamp 2012-09-30 00:01:04 -04:00
Stephen Kelly 50b1ea5bed Fix minor typos.
nothe -> note
than -> that
duplicat -> duplicate
directory -> directly
Wipe wipe -> Wipe
2012-09-29 18:44:10 +02:00
Stephen Kelly 19c3206bdc Remove unused parameter marker and the unused parameter. 2012-09-29 18:42:56 +02:00
Stephen Kelly 9d462b22a3 Document that generator expressions can be used in target properties. 2012-09-29 18:42:56 +02:00
Stephen Kelly daf88c3698 Fix punctuation in some variables documentation. 2012-09-29 18:42:56 +02:00
Stephen Kelly 3172cde640 Fix the layout of the generator expression documentation. 2012-09-29 18:42:55 +02:00
Kitware Robot 8956b7e887 CMake Nightly Date Stamp 2012-09-29 00:01:04 -04:00
Brad King 103d99338a Merge topic 'generator-expression-target-properties'
083de7e Process generator expressions in the COMPILE_DEFINITIONS target property.
08cb4fa Process generator expressions in the INCLUDE_DIRECTORIES property.
0ef091d Early return if there is no target.
eb250cd Add a self-reference check for target properties.
7e80747 Add API to check that dependent target properties form a DAG.
239ac84 Add a generator expression for target properties.
e028381 Extend the generator expression language with more logic.
b8e61d6 Refactor GetCompileDefinitions a bit.
2c2b25b Return a std::string from GetCompileDefinitions.
b7e48e0 Add an AppendDefines std::string overload.
9a16087 Convert paths in INCLUDE_DIRECTORIES property to Unix slashes.
4557c8d Don't prepend a path before generator expressions in include_directories.
c6abc41 Add include guard for cmGeneratorExpression.
0ff4e3f Port remaining code to GetCompileDefinitions().
f178d53 Fix indentation in the code blocks generator.
2012-09-28 17:15:03 -04:00
Alex Neundorf 190f2c8253 exports: fix build with MSVC6
it seems it doesn't like deleting const pointers

Alex
2012-09-28 17:00:52 -04:00
David Cole eaba65e308 Merge topic 'ninja-OBJECT_DEPENDS'
8f0e08d Ninja: OBJECT_DEPENDS should set an implicit dependency
2012-09-28 15:45:11 -04:00
David Cole af5fac8d17 Merge topic 'ctest-svn-non-interactive'
9ace801 ctest_update: Tell svn not to prompt interactively (#13024)
2012-09-28 15:45:02 -04:00
Alex Neundorf 8b5f448ba6 exports: first try at error handling if a target is missing
Now, if an imported target depends on a library which must come
from some other export set, cmake generates a check which errors
out if that target does not exist. I guess instead of completely
erroring out it would be better to only make the find_package() fail.

Alex
2012-09-28 09:21:42 -04:00
Alex Neundorf 87f4c01910 exports: accept a missing target if it is exported exactly once
If a target is exported, and a library it depends on is not part
of the same export set, before this patch cmake errored out.
With this patch, it now checks whether the missing target
is exported somewhere else exactly once, and accepts in this
case (because then it can determine the namespace for the
missing target and use this).

Alex
2012-09-28 09:21:42 -04:00
Alex Neundorf 999061a4c2 exports: store pointers to all installations of each export set
This information will be used to check whether a target is exported
once or multiple times and to check its namespace.

Alex
2012-09-28 09:21:39 -04:00
Yury G. Kudryashov 64b3a6c9cf exports: cmGlobalGenerator::ExportSets destructor will clear it 2012-09-28 09:21:39 -04:00
Yury G. Kudryashov 81cdab5bea exports: Hold an ExportSet pointer in cm*Export*Generator
Get name from this->ExportSet.
2012-09-28 09:21:39 -04:00
Yury G. Kudryashov 5c898fbd99 exports: Add cmExportSetMap class
This is a map<string, cmExportSet *> with overloaded operator[] and destructor.
2012-09-28 09:21:39 -04:00
Yury G. Kudryashov d13ec1ac31 exports: Create class cmExportSet
Replace direct use of 'std::vector<cmTargetExport const*>' with a
dedicated class.
2012-09-28 09:21:39 -04:00
Yury G. Kudryashov 4e2347cbf3 exports: Rename cmGlobalGenerator::AddTargetToExport{s,}
This function adds target to one export, not to several exports.
2012-09-28 09:21:39 -04:00
Yury G. Kudryashov e846e7031f exports: Remove cmTargetExport constructor
The constructor was used exactly once.
Setting members explicitly makes the code more readable.
2012-09-28 09:21:39 -04:00
Yury G. Kudryashov 81c66c8b88 exports: Move cmTargetExport to a dedicated header file 2012-09-28 09:21:38 -04:00
Alex Neundorf ae4ab62569 find_package: add support for a <package>_NOT_FOUND_MESSAGE variable
If a config-file sets <package>_FOUND to FALSE, it can now give a reason
using the variable <package>_NOT_FOUND_MESSAGE, which is used by cmFindPackage
and FPHSA.

Alex
2012-09-28 09:21:36 -04:00
Alex Neundorf 65a30c69a2 cmGlobalGenerator.h: some minor coding style fixes
- this-> was missing
- removed unnecessary semicolons
- indented unindented lines

Alex
2012-09-28 09:20:20 -04:00
Stephen Kelly 083de7ed35 Process generator expressions in the COMPILE_DEFINITIONS target property. 2012-09-28 08:50:16 -04:00
Stephen Kelly 08cb4fa4c0 Process generator expressions in the INCLUDE_DIRECTORIES property.
This use of generator expressions, like all others to come which operate
on target properties, must initalize the dag checker.
2012-09-28 08:50:10 -04:00
Stephen Kelly 0ef091d986 Early return if there is no target.
The remainder of this method depends on the target existing (otherwise
the includes container would be empty), so make the code a little more
readable.
2012-09-28 08:49:21 -04:00
Stephen Kelly eb250cd18a Add a self-reference check for target properties.
Prevent constructs like:

 ... INCLUDE_DIRECTORIES "$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>"

Indirect self-references (cycles) are also prevented here, but
indirect generator expression references of any kind are not
possible yet anyway.
2012-09-28 08:49:21 -04:00
Stephen Kelly 7e807472d2 Add API to check that dependent target properties form a DAG.
Initially this will only be used to check for self-references, but
can be extended to check for cycles when chaining properties of other
targets.
2012-09-28 08:49:21 -04:00
Stephen Kelly 239ac84153 Add a generator expression for target properties.
There are two overloads, so that it can use the operational
target when a target property is being evaluated, and a target
can alternatively be specified by name.

At this point, the generators don't chain. That comes later.
2012-09-28 08:49:21 -04:00
Stephen Kelly e028381bf1 Extend the generator expression language with more logic.
Generator expressions for comparing strings, evaluating
strings as booleans, and for creating literal right-angle-brackets
and commas are added. Those may be needed in some cases
where they appear in literals.
2012-09-28 08:49:21 -04:00
Peter Kümmel f1670ab18a Ninja: don't confuse ninja's rsp files with nmake's
Move response files into CMakeFiles/ which makes them different to nmake's.
2012-09-28 12:33:57 +02:00
Kitware Robot 64d64b4edf CMake Nightly Date Stamp 2012-09-28 00:01:05 -04:00
Kitware Robot 137ad7c755 CMake Nightly Date Stamp 2012-09-27 00:01:02 -04:00
Kitware Robot 7892c87464 CMake Nightly Date Stamp 2012-09-26 00:01:06 -04:00
Brad King 66759eea5e find_library: Optionally consider all names in each directory
When more than one value is given to the NAMES option this command by
default will consider one name at a time and search every directory for
it.  Add a NAMES_PER_DIR option to tell this command to consider one
directory at a time and search for all names in it.
2012-09-25 17:08:08 -04:00
Brad King b64dd760d1 find_library: Simplify framework search logic
In cmFindLibraryCommand::FindFrameworkLibrary drop use of the old
SystemTools::FindDirectory method.  Replace it with a direct
implementation of the only code path we used.
2012-09-25 17:08:08 -04:00
Brad King 531c71bac3 find_library: Refactor internal name iteration
Teach cmFindLibraryHelper to support multiple possible names and iterate
over all of them in each CheckDirectory call.  For now we still only
ever configure one name.
2012-09-25 17:02:24 -04:00
Peter Kümmel 8f0e08d503 Ninja: OBJECT_DEPENDS should set an implicit dependency
BUG 13559
2012-09-25 22:22:55 +02:00
Brad King efc83b369b Document that PDB_(NAME|OUTPUT_DIRECTORY) are ignored for VS 6 2012-09-25 15:23:35 -04:00
Yuchen Deng 3f60dbf148 Add PDB_OUTPUT_DIRECTORY and PDB_NAME target properties (#10830)
This enables changing the name and output folder of the debug symbol
files produced by MS compilers.

Inspired-by: Thomas Bernard <thomas.bernard@ipetronik.com>
2012-09-25 15:23:35 -04:00
David Cole 2e489526fa Merge topic 'AutomocUseTargetProperties'
e83cc94 Use the cmGeneratorTarget for the include directories API.
9d8e59d Merge branch 'use-generator-target' into AutomocUseTargetProperties
ea12871 Automoc: also the makefile-COMPILE_DEFINITIONS
894e91a Automoc: do not use DEFINITIONS, but only COMPILE_DEFINITIONS
825d1ab Automoc: fix #13493, use target properties for include dirs
2012-09-25 15:18:43 -04:00
David Cole 3f3b731961 Merge topic 'use-generator-target'
879fd35 Revert "Move GenerateTargetManifest to cmGeneratorTarget."
6674583 Fix compiler warning with initialization order.
5285458 Add convenience for getting a cmGeneratorTarget to use.
c31f3d9 Add a wrapper for accessing config-specific compile-definitions.
d1446ca Append the COMPILE_DEFINITIONS from the Makefile to all targets.
290e92a Move GetIncludeDirectories to cmGeneratorTarget.
f9146f6 Port cmLocalGenerator::GetTargetFlags to cmGeneratorTarget.
9facfd1 Move GetCreateRuleVariable to cmGeneratorTarget.
78bfee3 Make cmLocalGenerator::AddArchitectureFlags take a cmGeneratorTarget.
4f5384e Move GetLinkInformation to cmGeneratorTarget
987e12e Move GenerateTargetManifest to cmGeneratorTarget.
14bf778 Store cmGeneratorTargets with the makefile.
f428ca2 Add more forwarding API to cmGeneratorTarget.
2012-09-25 15:18:34 -04:00
David Cole 021e66a25c Merge topic 'osx-sysroot-cleanup'
df92864 OS X: Ignore MACOSX_DEPLOYMENT_TARGET during Xcode compiler id
e7e613e OS X: Teach deployment target sanity check about SDK names
43b7479 OS X: Further improve default CMAKE_OSX_SYSROOT selection
2690738 OS X: If CMAKE_OSX_SYSROOT is already set do not compute default
7995722 OS X: Simplify selection of CMAKE_OSX_ARCHITECTURES
1786b12 OS X: Allow CMAKE_OSX_SYSROOT to be a logical SDK name
242f673 Tests/Assembler: Use CMAKE_OSX_SYSROOT to generate .s file
a1c032b bootstrap: Suppress CMAKE_OSX_SYSROOT if CFLAGS have -isysroot
230ea21 OS X: Improve default CMAKE_OSX_SYSROOT selection
a0a0877 OS X: Always generate -isysroot if any SDK is in use
33a60e6 Xcode: Remove unused code reading CMAKE_OSX_SYSROOT_DEFAULT
2012-09-25 15:18:24 -04:00
David Cole 5549334a99 Merge topic 'qt5-qtdialog-port'
92b6d85 Enable deprecated API when using Qt 5.
2012-09-25 15:18:14 -04:00
David Cole 8dbe39c6c7 Merge topic 'generator-expression-refactor'
f20af79 Handle colons as a special case in the generator expression parser.
fb578c8 Fix the regular expression validator for target names.
2012-09-25 15:17:45 -04:00
David Cole 92be70d683 Merge topic 'vs8-generator-doc'
750fcaa VS8: Remove '.NET' from generator description (#10158)
2012-09-25 15:17:17 -04:00
David Cole 998a17d098 Merge topic 'file-DOWNLOAD-EXPECTED_HASH'
95a0011 file(DOWNLOAD): Change EXPECTED_HASH to take ALGO=value
2012-09-25 15:17:01 -04:00
Nils Gladitz 9ace801578 ctest_update: Tell svn not to prompt interactively (#13024)
While at it, add SVNOptions/CTEST_SVN_OPTIONS configuration settings to
add options to all svn invocations instead of just "svn update".
2012-09-25 13:36:47 -04:00
Kitware Robot f00f58fe13 CMake Nightly Date Stamp 2012-09-25 00:01:05 -04:00
Kitware Robot d550801a3d CMake Nightly Date Stamp 2012-09-24 00:01:04 -04:00
Stephen Kelly 92b6d85519 Enable deprecated API when using Qt 5.
The QAbstractItemModel::reset() method is deprecated in Qt 5, and
therefore not part of the API by default (on non-Windows).

The replacement for it is beginResetModel/endResetModel which are
available from Qt 4.6 onwards.

The minimum version of Qt required is currently 4.4, so enable the
deprecated API instead of changing that.
2012-09-23 20:13:06 +02:00
Kitware Robot eb5da9c71d CMake Nightly Date Stamp 2012-09-23 00:01:03 -04:00
Kitware Robot f31de15b5e CMake Nightly Date Stamp 2012-09-22 00:01:04 -04:00
Brad King a0a0877a1e OS X: Always generate -isysroot if any SDK is in use
Drop the last use of CMAKE_OSX_SYSROOT_DEFAULT.  Replace internal
platform variable CMAKE_${lang}_HAS_ISYSROOT with a more general
CMAKE_${lang}_SYSROOT_FLAG variable.  If the -isysroot flag exists and
CMAKE_OSX_SYSROOT points to an SDK (not "/") then always add it to
compiler command lines.  This is already done in the Xcode IDE.
2012-09-21 08:53:42 -04:00
Brad King 33a60e6bd1 Xcode: Remove unused code reading CMAKE_OSX_SYSROOT_DEFAULT
The condition for entering the block where the value is used
can never be true anymore.
2012-09-21 08:47:02 -04:00
Stephen Kelly b8e61d687a Refactor GetCompileDefinitions a bit.
It is now easier to add generator expressions.
2012-09-21 13:31:12 +02:00
Stephen Kelly 2c2b25b203 Return a std::string from GetCompileDefinitions. 2012-09-21 13:28:54 +02:00
Stephen Kelly b7e48e0acb Add an AppendDefines std::string overload.
This makes it easier to use with cmGeneratorTarget::GetCompileDefinitions.
2012-09-21 13:28:54 +02:00
Stephen Kelly 9a160871d0 Convert paths in INCLUDE_DIRECTORIES property to Unix slashes.
Duplicate some of the logic from the include_directories command.
2012-09-21 13:28:54 +02:00
Stephen Kelly 4557c8db48 Don't prepend a path before generator expressions in include_directories. 2012-09-21 13:28:54 +02:00
Stephen Kelly c6abc41eb5 Add include guard for cmGeneratorExpression. 2012-09-21 13:28:54 +02:00
Stephen Kelly 0ff4e3f0b8 Port remaining code to GetCompileDefinitions(). 2012-09-21 13:28:53 +02:00
Stephen Kelly f20af79956 Handle colons as a special case in the generator expression parser.
Like the special case for commas, this ensures that the colon only has
special meaning as the delimiter between the identifier and the
parameters of a particular expression, but constructs such as

 INCLUDE_DIRECTORIES "$<1:C:\foo>"

are legal.
2012-09-21 11:33:46 +02:00
Stephen Kelly f178d531a6 Fix indentation in the code blocks generator. 2012-09-21 08:52:24 +02:00
Kitware Robot bb18bb7f55 CMake Nightly Date Stamp 2012-09-21 00:01:03 -04:00
Stephen Kelly fb578c8635 Fix the regular expression validator for target names.
Regression introduced by f1eacf0e07.
Target names have different valid contents to config names.
2012-09-20 12:13:33 +02:00
Stephen Kelly 879fd354c1 Revert "Move GenerateTargetManifest to cmGeneratorTarget."
This reverts commit 987e12e2f9.

GenerateTargetManifest is called by the global generator before it
creates the generator targets, so we can't move it to cmGeneratorTarget
yet.
2012-09-20 08:34:30 +02:00
Kitware Robot 7e4a37800c CMake Nightly Date Stamp 2012-09-20 00:01:02 -04:00
Brad King 8fc88b7eb0 Merge topic 'vs-link-rsp'
5598d9b Ninja: don't expand any rsp files
2012-09-19 13:58:12 -04:00
Brad King 03077c9cbc Merge topic 'file-DOWNLOAD-user-agent'
14aff4d file(DOWNLOAD): Add HTTP User-Agent string
2012-09-19 13:58:01 -04:00
Brad King fbe7b3cdfc Merge topic 'vs11-express'
7ee3cee VS11: Add VS 2012 Express support (#13348)
e17f345 VS11: Detect VS 2012 Express for default generator (#13348)
2012-09-19 13:57:53 -04:00
Brad King 65af5e90b9 Merge topic 'ninja-rc-compile-flag'
a1c9c13 Ninja: filter target specific compile flags with language specific regex
2012-09-19 13:57:47 -04:00
Brad King d1513950fa Merge topic 'document-MSVC-variables-12567'
f35e35b add documentation for all MSVCxxx version variables (#12567)
2012-09-19 13:57:44 -04:00
Stephen Kelly e83cc94dcd Use the cmGeneratorTarget for the include directories API.
Also, no need to get the include directories from the target
beforehand. The local generator does that for us anyway.
2012-09-19 18:45:01 +02:00
Stephen Kelly 9d8e59db71 Merge branch 'use-generator-target' into AutomocUseTargetProperties 2012-09-19 18:33:11 +02:00
Brad King 750fcaa858 VS8: Remove '.NET' from generator description (#10158)
The product name does not include '.NET'.  Use '8' instead to be
consistent with the existing description of the '9' (2008) generator.
2012-09-19 12:09:00 -04:00
Peter Kuemmel 5598d9b2a0 Ninja: don't expand any rsp files 2012-09-19 11:40:47 -04:00
Brad King 95a0011604 file(DOWNLOAD): Change EXPECTED_HASH to take ALGO=value
Make the EXPECTED_HASH option take only a single value instead of two to
avoid handling sub-keyword arguments.  This is also consistent with
URL_HASH in ExternalProject.
2012-09-19 11:31:36 -04:00
Stephen Kelly 6674583caa Fix compiler warning with initialization order. 2012-09-19 17:16:25 +02:00
Stephen Kelly 5285458342 Add convenience for getting a cmGeneratorTarget to use. 2012-09-19 15:32:25 +02:00
Stephen Kelly c31f3d99f8 Add a wrapper for accessing config-specific compile-definitions. 2012-09-19 15:32:19 +02:00
Stephen Kelly d1446ca7a0 Append the COMPILE_DEFINITIONS from the Makefile to all targets.
This way we don't need to check the definitions from the Makefile when
generating later, and can more easily add generator expressions.

Duplication is not a problem as the definitions are de-duplicated before
generating.
2012-09-19 15:32:13 +02:00
Stephen Kelly 290e92ada8 Move GetIncludeDirectories to cmGeneratorTarget. 2012-09-19 15:32:09 +02:00
Stephen Kelly f9146f6b90 Port cmLocalGenerator::GetTargetFlags to cmGeneratorTarget. 2012-09-19 15:31:39 +02:00
Stephen Kelly 9facfd1336 Move GetCreateRuleVariable to cmGeneratorTarget. 2012-09-19 15:31:32 +02:00
Stephen Kelly 78bfee35d5 Make cmLocalGenerator::AddArchitectureFlags take a cmGeneratorTarget. 2012-09-19 15:31:29 +02:00
Stephen Kelly 4f5384e75c Move GetLinkInformation to cmGeneratorTarget 2012-09-19 15:30:57 +02:00
Stephen Kelly 987e12e2f9 Move GenerateTargetManifest to cmGeneratorTarget. 2012-09-19 15:30:49 +02:00
Stephen Kelly 14bf7783f4 Store cmGeneratorTargets with the makefile. 2012-09-19 15:29:07 +02:00
Stephen Kelly f428ca25f5 Add more forwarding API to cmGeneratorTarget.
This API is the most commonly required in the following patches.
2012-09-19 15:28:03 +02:00
Brad King d407dcdbc8 Merge topic 'generator-expression-refactor'
91011bd cmGeneratorExpression: Port users to two-stage processing
f1eacf0 cmGeneratorExpression: Re-write for multi-stage evaluation
2012-09-19 08:28:16 -04:00
Kitware Robot 281654b5d6 CMake Nightly Date Stamp 2012-09-19 00:01:03 -04:00
Stephen Kelly 91011bd217 cmGeneratorExpression: Port users to two-stage processing
Removing the Process() API and removing the parameters from the
constructor will allow cmGeneratorExpressions to be cached and evaluated
with multiple configs for example, such as when evaluating target
properties.  This requires the creation of a new compiled representation
of cmGeneratorExpression.  The cmListFileBacktrace remains in the
constructor so that we can record where a particular generator
expression appeared in the CMakeLists file.
2012-09-18 17:03:08 -04:00
Stephen Kelly f1eacf0e07 cmGeneratorExpression: Re-write for multi-stage evaluation
The expressions may be parsed and then cached and evaluated multiple
times.  They are evaluated lazily so that literals such as ',' can be
treated as universal parameter separators, and can be processed from
results without appearing literally, and without interfering with the
parsing/evaluation of the entire expression.
2012-09-18 17:02:23 -04:00
David Cole 024bbad230 Merge topic 'cleanup-TLS-and-SSL-interface'
7369a8f file(DOWNLOAD): Make TLS options behave as documented
131d91a Rename SSL terminology to TLS
2012-09-18 16:42:47 -04:00
David Cole 2183743f8f Merge topic 'vs-simplify-CreateLocalGenerator'
f34321a VS: Remove duplicated implementations of CreateLocalGenerator()
2012-09-18 16:42:30 -04:00
David Cole 3e7fe5a7a0 Merge topic 'if-version-depth'
dfa0ebd if: Compare up to 8 components in VERSION tests
2012-09-18 16:41:59 -04:00
David Cole 865feff4c1 Merge topic 'qt5-qtdialog-port'
25a4f56 Build with Qt5 if it is found.
717f31a Compile with both Qt4 and Qt5.
066e858 Replace two include_directories with a setting.
430ba9f Use add_subdirectory instead of the obsolete subdirs.
32a5725 Remove an if which is always true.
0b6625c Move variable setting down to where it relates to.
8ab312b Use CMake platform variables instead of Qt ones.
bd728f6 Add a return-after-error if an old Qt is found.
2012-09-18 16:41:31 -04:00
Brad King 14aff4daf4 file(DOWNLOAD): Add HTTP User-Agent string
Some servers require a User-Agent string.  The curl command-line tool
just sends "curl/$curlver", so do the same.

Suggested-by: Fredrik Ehnbom <fehnbom@nvidia.com>
2012-09-18 14:53:07 -04:00
Brad King 7ee3cee919 VS11: Add VS 2012 Express support (#13348)
Use the registry entries that vsvars32.bat uses to detect the location of
MSBuild.exe in the framework directory.  Invoke MSBuild with the option

 /p:VisualStudioVersion=$version

so it knows from which VS version to load the system build rules.  Teach
cmGlobalVisualStudio11Generator to set its ExpressEdition member using the
registry.
2012-09-18 14:03:02 -04:00
Brad King e17f3458ce VS11: Detect VS 2012 Express for default generator (#13348)
Add WDExpress to the list of registry search locations.  Add VS 11 to
the list of VS versions and corresponding generator names.  Fix the
search logic to use the most recent version found under any registry
entry.

Inspired-by: Peter Kümmel <syntheticpp@gmx.net>
2012-09-18 14:02:01 -04:00
Peter Kümmel a1c9c136c3 Ninja: filter target specific compile flags with language specific regex
sync with Makefile code.

Bug: 13486

Many thanks to Nils Gladitz
2012-09-18 18:02:10 +02:00
Rolf Eike Beer f35e35b058 add documentation for all MSVCxxx version variables (#12567) 2012-09-18 08:45:01 +02:00
Kitware Robot 21f5fc12ee CMake Nightly Date Stamp 2012-09-18 00:01:05 -04:00
Brad King 7369a8faee file(DOWNLOAD): Make TLS options behave as documented
The logic added in commit e1c89f08 (file(DOWNLOAD): Add options for SSL,
2012-08-21) did not actually provide the documented behavior.  Simplify
the implementation to read the variable values first and then replace
them with the explicit argument values if encountered.  Always set the
curl option CURLOPT_SSL_VERIFYPEER to either on or off explicitly
instead of depending on the curl default behavior.
2012-09-17 09:03:45 -04:00
Kitware Robot 70169ec1bf CMake Nightly Date Stamp 2012-09-17 00:01:07 -04:00
Kitware Robot 4824633642 CMake Nightly Date Stamp 2012-09-16 00:01:03 -04:00
Kitware Robot 875f3a4231 CMake Nightly Date Stamp 2012-09-15 00:01:04 -04:00
Brad King 131d91a1f9 Rename SSL terminology to TLS
TLS has superseded SSL so rename the recently added file(DOWNLOAD) and
ExternalProject options using the newer terminology.  Drop "CURLOPT"
from names because curl is an implementation detail.
2012-09-14 15:40:09 -04:00
Patrick Gansterer f34321a02d VS: Remove duplicated implementations of CreateLocalGenerator()
The IA64 and Win64 versions of the VS8 and VS9 generators
contain the same code for this function as in the base class.
2012-09-14 12:42:31 +02:00
Kitware Robot c5f36de99e CMake Nightly Date Stamp 2012-09-14 00:01:01 -04:00
Kitware Robot f155e9ae2e CMake Nightly Date Stamp 2012-09-13 00:01:03 -04:00
Brad King eb8b0bea6f Merge topic 'file-download-verify'
4bcd84e Utilities/Release: Enable CMAKE_USE_OPENSSL in nightly binaries
e1c89f0 file(DOWNLOAD): Add options for SSL
073a73a Merge branch 'curl-openssl' into file-download-verify
34567df file(DOWNLOAD): Generalize EXPECTED_MD5 to EXPECTED_HASH
2012-09-12 07:51:39 -04:00
Kitware Robot 442c07ea0a CMake Nightly Date Stamp 2012-09-12 00:01:05 -04:00
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
Peter Kuemmel 1d55ea557d Ninja: fix Linux build 2012-06-14 16:01:35 +02:00
Peter Kuemmel 6e6886d3bd Ninja: ninja now also could read parentheses in .d files 2012-06-14 14:37:08 +02:00
Peter Kuemmel 6546086004 Ninja: don't use shell when cmake is called directly
When linking with cmake and vs_link_* the command line
could be too long for cmd.exe, which needs not to be
called in this case. (was not cached by a test)

Introduce rules which don't use the shell and use this
rule when there are no pre or post step.

For free we get a small speedup, because cmd is then
not called.

Also be more accurate when estimating the
command line length.
2012-06-14 14:22:56 +02:00
Peter Kuemmel 220fdc16fc Ninja: cmcldeps
- don't depend on argument order
- update help
2012-06-14 10:48:32 +02:00
Peter Kuemmel 77cb7b502f Ninja: suppress startup logos
Having Ninja's smart printing we are more allergic on
unneeded tool output.
2012-06-14 10:48:31 +02:00
Kitware Robot 7717d964b8 CMake Nightly Date Stamp 2012-06-14 00:01:05 -04:00
David Cole 2077e98753 Ninja: Enable the ninja generator by default on Windows.
All tests are passing as of this morning on the CMake dashboard in
the Nightly Expected section.

Nice job to all the Ninja+CMake contributors. Congrats!
2012-06-13 17:25:24 -04:00
Alex Neundorf 414bf6732b Eclipse: parallel build also for "Build project" #13287
Use ${CMAKE_ECLIPSE_MAKE_ARGUMENTS} also for the overall build command,
not only for the per-target commands.

Alex
2012-06-13 22:49:45 +02:00
Peter Kuemmel ab8a2a57f2 Ninja: onyl use pre processor for rc file parsing 2012-06-13 19:20:01 +02:00
Peter Kuemmel 4b43999ca3 Ninja: remove unused CommentStream 2012-06-13 17:23:31 +02:00
Peter Kuemmel 54a388beaa Ninja: extract dependencies for .rc files with msvc tools
rc.exe doesn't support /showIncludes.
Because .rc files also #include stuff we can
misuse cl.exe to get the included files.

Done one the fly by cmcldeps.
2012-06-13 17:14:16 +02:00
Brad King a41557a2c8 install: Fix FILES_MATCHING on case-sensitive Mac filesystems (#13177)
Windows and Apple machines have predominantly used case-insensitive
filesystems so our file(INSTALL) command uses case-insensitive pattern
matching.  It is implemented by converting the pattern and file path to
lower case before matching.  The FILES_MATCHING option is implemented by
excluding a path that does not match any pattern unless it is a
directory that must be searched recursively.  However, the test that an
excluded path is a directory is executed on the lower-case path and
therefore fails on mixed-case input paths on case-sensitive filesystems.
Fix the file(INSTALL) implementation to use the lower-case path only for
pattern matching and preserve the original path for tests against the
real filesystem.
2012-06-13 08:50:44 -04:00
Kitware Robot 6e2ef9860e CMake Nightly Date Stamp 2012-06-13 00:01:05 -04:00
Peter Kuemmel 43200c145d Ninja: work with ninja/master, don't compile rc files with cl
Ninja generates for paths with spaces wrong results for $out.d,
using the new DEP_FILE variable instead.
2012-06-13 00:52:46 +02:00
David Cole bc5177b99e Merge topic 'object-library-is-not-shared'
9a9b3e4 add_library: Allow OBJECT library without dynamic linking (#13289)
2012-06-12 16:01:21 -04:00
David Cole c95d1baa19 Merge topic 'position-independent-targets'
bd34963 Refactor generation of shared library flags
55d7aa4 Add platform variable for flags specific to shared libraries
31d7a0f Add platform variables for position independent code flags
2012-06-12 16:01:04 -04:00
David Cole 9297ccff9b Merge topic 'no-std-stringstream'
94de982 Avoid direct use of std::(o|)stringstream (#13272)
2012-06-12 16:00:17 -04:00
David Cole f848dbfe3c Merge topic 'VS-Fortran-Intel-2013'
8945489 VS: Set Intel Fortran 13 project version
2012-06-12 15:59:41 -04:00
David Cole daf552e3ed Merge topic 'makefile-escape-equals'
ee6c1b8 Makefile: Support directory names containing '=' (#12934)
2012-06-12 15:59:28 -04:00
David Cole 2b3b45aec9 Merge topic 'archive-exclude-file-flags'
a34015d cmArchiveWrite: Clear fflags from archive entries
2012-06-12 15:59:01 -04:00
David Cole 4075e1ca6c Merge topic 'KWSys-hashtable-old-gcc'
4f170e2 KWSys: Fix hashtable prime list on g++ 2.9 (#13273)
2012-06-12 15:58:42 -04:00
Brad King 32313fd0d4 Merge branch 'ninja-rspfile' into no-std-stringstream
Conflicts:
	Source/cmGlobalNinjaGenerator.cxx
	Source/cmLocalNinjaGenerator.cxx
	Source/cmNinjaNormalTargetGenerator.cxx
2012-06-12 15:43:32 -04:00
Brad King 94de982902 Avoid direct use of std::(o|)stringstream (#13272)
Older C++ compilers do not provide a standard std::stringstream.
Use our compatibility interfaces instead.

Also avoid std::stringstream(openmode) signature.  Our approximate
stringstream implementation provided when the standard one is not
available does not support the openmode argument.
2012-06-12 15:40:24 -04:00
Stephen Kelly bd34963002 Refactor generation of shared library flags
CMAKE_SHARED_LIBRARY_<lang>_FLAGS has flags on various platforms for a
variety of purposes that are correlated with shared libraries but not
exclusive to them.  Refactor generation of these flags to use new
purpose-specific platform variables

  CMAKE_<lang>_COMPILE_OPTIONS_DLL
  CMAKE_<lang>_COMPILE_OPTIONS_PIC
  CMAKE_<lang>_COMPILE_OPTIONS_PIE

Activate the DLL flags specifically for shared libraries.  Add a new
POSITION_INDEPENDENT_CODE target property to activate PIC/PIE flags, and
default to true for shared libraries to preserve default behavior.
Initialize the new property from CMAKE_POSITION_INDEPENDENT_CODE to
allow easy global configuration in projects.

Although the default behavior is unchanged by this refactoring, the new
approach ignores CMAKE_SHARED_LIBRARY_<lang>_FLAGS completely.  We must
leave it set in case projects reference the value.  Furthermore, if a
project modifies CMAKE_SHARED_LIBRARY_<lang>_FLAGS it expects the new
value to be used.  Add policy CMP0018 to handle compatibility with
projects that modify this platform variable.

Add a PositionIndependentCode test on platforms where we can get
meaningful results.
2012-06-12 15:38:48 -04:00
Peter Kuemmel 12cc6434bf Ninja: ninja can't read dep. pathes with parentheses 2012-06-12 14:36:39 +02:00
Peter Kuemmel 5590625fa3 Ninja: use slashes for include dirs, so also slahes are in the .d files 2012-06-12 13:52:32 +02:00
Kitware Robot ebc702c86d CMake Nightly Date Stamp 2012-06-12 00:01:04 -04:00
Peter Kuemmel 38aa9e97f2 Ninja: complete MinGW support 2012-06-12 04:17:55 +02:00
Peter Kuemmel c54ef23c16 Line Length: <79 2012-06-12 00:51:08 +02:00
Brad King 9a9b3e45e3 add_library: Allow OBJECT library without dynamic linking (#13289)
When global property TARGET_SUPPORTS_SHARED_LIBS is FALSE we should
still allow OBJECT libraries.  This was an oversight in commit b87d7a60
(Add OBJECT_LIBRARY target type, 2012-03-12).  While at it, fix the
warning message to report context.
2012-06-11 08:40:11 -04:00
Kitware Robot 931af7fd78 CMake Nightly Date Stamp 2012-06-11 00:01:04 -04:00
Peter Kuemmel 4db9dd89df Ninja: use slahes in .d files 2012-06-10 21:27:25 +02:00
Peter Kuemmel ba8d0db217 Ninja: don't pollute the rules file with useless comments 2012-06-10 20:20:29 +02:00
Peter Kuemmel 343ff7a72e Ninja: fix line length 2012-06-10 15:31:06 +02:00
Peter Kuemmel 1a38a5d65f Ninja: allow spaces in cldeps's .d file 2012-06-10 15:22:01 +02:00
Kitware Robot b39924cf22 CMake Nightly Date Stamp 2012-06-10 00:01:03 -04:00
Peter Kuemmel db607dea8d Ninja: don't use cmcldeps for try_compile 2012-06-09 14:12:11 +02:00
Kitware Robot 45a9ce5543 CMake Nightly Date Stamp 2012-06-09 00:01:04 -04:00
Peter Kuemmel 941afa571c Ninja: allow spaces in source path
And make /showIncude prefix visible for all build rules
2012-06-08 22:59:18 +02:00
Peter Kuemmel 033a687acd Ninja: add wrapper for cl to extract dependencies
cmcldeps wraps cl and adds /showInclude before calling cl.
It parses the output of cl for used headers, drops system
headers and writes them to a GCC like dependency file.

cmcldeps uses ATM ninja code for process handling,
but could be ported later to SystemTools.

TODO: Why needs ninja multiple calls in the BuildDepends test?
2012-06-08 17:42:11 +02:00
Kitware Robot 03deea00bc CMake Nightly Date Stamp 2012-06-08 00:01:05 -04:00
Peter Kuemmel 1d40729eaa Ninja: add dependency tracking for msvc with cldeps 2012-06-07 23:34:48 +02:00
Kitware Robot 5ed6a36cc9 CMake Nightly Date Stamp 2012-06-07 00:01:05 -04:00
Zaheer Chothia 8945489c07 VS: Set Intel Fortran 13 project version
I have tested that it works with:

 Microsoft Visual Studio 10.0.40219.1
 Intel Visual Fortran 13.0.0.041 Beta Build 20120425
2012-06-06 12:23:25 -04:00
Brad King ee6c1b8aca Makefile: Support directory names containing '=' (#12934)
Since commit c8ef6430 (Allow directory names containing '=' and warn if
necessary, 2012-02-06) we allow directories with '=' instead of
rejecting them as was previously done since commit 8704525f (Reject
directory names containing '=', 2011-01-14).  However, we did not warn
in all cases that '=' may cause failure, such as when it appears on the
right-hand side of a dependency line.

Both commits above were made assuming that '=' cannot be escaped in Make
syntax, but it can be achieved with a variable:

  EQUALS = =
  left$(EQUALS)side : right$(EQUALS)side

Use this approach to escape '=' in dependency lines, thus supporting
the character in paths.

All our tests now pass when CMake is built in source and build trees
both containing '=', except for the "OutOfSource" test.  It fails in
its coverage of the obscure "OutOfBinary" test case where part of the
build tree is located outside the main build tree of the test.  The
reason is that CMake must invoke a command like

  $(MAKE) -f /path/with=sign/build.make /path/with=sign/somefile

but the make tool interprets the last argument as a variable assignment.
This is an acceptable limitation, since the case is so obscure, in
exchange for supporting '=' cleanly otherwise.
2012-06-06 08:30:54 -04:00
Brad King a34015d356 cmArchiveWrite: Clear fflags from archive entries
When reading archive entries from disk strip any "fflags" entry headers
that may have been loaded from the filesystem when libarchive is built
with HAVE_STRUCT_STAT_ST_FLAGS (struct stat has 'st_flags').  The local
filesystem flags are not useful for distribution.  Furthermore, GNU tar
does not understand the "SCHILY.fflags" extended header used to store
the flags in the archive.  Use the approach from commit e8558efa
(cmArchiveWrite: Clear xattr and acl from entries, 2011-04-07) to remove
the flags and avoid producing the non-portable extended header.
2012-06-06 07:29:19 -04:00
Peter Kuemmel e3a1f727f7 Ninja: find mingw's resource compiler 2012-06-06 13:02:30 +02:00
Kitware Robot eb53bc2773 CMake Nightly Date Stamp 2012-06-06 00:01:04 -04:00
Peter Kuemmel c60557e973 Ninja: don't break because of empty commands 2012-06-06 01:36:34 +02:00
Peter Kuemmel 128fe5d504 Ninja: also create rspfile rules 2012-06-05 23:40:42 +02:00
Peter Kuemmel 0266c9bd19 Ninja: check for valid pointer 2012-06-05 23:29:29 +02:00
Peter Kuemmel 5aab7f90f1 Ninja: 30000 is too long for windows cmd 2012-06-05 23:21:01 +02:00
Peter Kuemmel ad4a768d59 Ninja: add response file support on Windows
When MinGW is used slashes are used for dependencies
because ar.exe can't read rsp files with backslashes.

Many thx to Claus Klein for starting working on this.
2012-06-05 22:39:42 +02:00
Daniel R. Gomez 4f170e2575 KWSys: Fix hashtable prime list on g++ 2.9 (#13273)
Building CMake with g++ 2.9-aix51-020209 on an AIX 5.3 system gives:

 cmsys/hashtable.hxx: In function `const long unsigned int *cmsys::get_stl_prime_list ()':
 cmsys/hashtable.hxx:399: warning: sorry: semantics of inline function static data
  `const long unsigned int _stl_prime_list[31]' are wrong (you'll wind up with multiple copies)
 cmsys/hashtable.hxx:399: warning: you can work around this by removing the initializer

Give get_stl_prime_list internal linkage.
2012-06-05 16:23:09 -04:00
David Cole 7687d557dc Merge topic 'Ninja-EXPORT_COMPILE_COMMANDS'
3545645 Exclude the CompileCommandOutput test on WIN32.
fbaddf4 Escape the source file to be compiled if required.
db839be Make the CMAKE_EXPORT_COMPILE_COMMANDS option work with Ninja.
8778357 Add newline to the output.
2c04bc0 Move the EscapeJSON method to a sharable location.
2012-06-05 14:21:36 -04:00
David Cole 80abbeb3f2 Merge topic 'vcexpress-no-folder'
a0700ba VC Express doesn't support folders, ignore USE_FOLDER property
2012-06-05 14:21:28 -04:00
Kitware Robot 55cadb6806 CMake Nightly Date Stamp 2012-06-05 00:01:05 -04:00
Stephen Kelly fbaddf4e40 Escape the source file to be compiled if required.
Whitespaces in paths can otherwise cause invalid command lines to
be generated.
2012-06-04 23:42:37 +02:00
Stephen Kelly db839bec7d Make the CMAKE_EXPORT_COMPILE_COMMANDS option work with Ninja. 2012-06-04 23:42:37 +02:00
Stephen Kelly 2c04bc00a4 Move the EscapeJSON method to a sharable location. 2012-06-04 23:42:37 +02:00
Kitware Robot 1ccbfdebb9 CMake Nightly Date Stamp 2012-06-04 00:01:02 -04:00
Kitware Robot c645c1fd96 CMake Nightly Date Stamp 2012-06-03 00:01:04 -04:00
Peter Kuemmel a0700ba26c VC Express doesn't support folders, ignore USE_FOLDER property 2012-06-02 19:58:03 +02:00
Kitware Robot 076ab5202a CMake Nightly Date Stamp 2012-06-02 00:01:02 -04:00
Kitware Robot e200ee6ece CMake Nightly Date Stamp 2012-06-01 00:01:03 -04:00
Kitware Robot f1eee26be3 CMake Nightly Date Stamp 2012-05-31 00:01:02 -04:00
Kitware Robot 48a09755a0 CMake Nightly Date Stamp 2012-05-30 00:01:03 -04:00
David Cole 932ea59d51 Merge topic 'cpack-nsis-menu-links-adapted'
cfc11f9 CPack: Fixed incorrect error log for CPACK_NSIS_MENU_LINKS.
2012-05-29 15:37:35 -04:00
David Cole 28ce13f2fb Merge topic 'IMPORTED_LOCATION_CONFIG-docs'
bdc6e32 Update the docs of IMPORTED_LOCATION_CONFIG to match the code.
2012-05-29 15:37:23 -04:00
David Cole 1b9948cb79 Merge topic 'kwsys-no-win32-environ-decl'
0fbaa63 KWSys: Remove unused environ declaration from SystemTools
2012-05-29 15:37:11 -04:00
Kitware Robot 19af2416b7 CMake Nightly Date Stamp 2012-05-29 00:01:03 -04:00
Fraser Hutchison cfc11f9bff CPack: Fixed incorrect error log for CPACK_NSIS_MENU_LINKS.
This was a pull request: https://github.com/Kitware/CMake/pull/5

Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2012-05-28 17:15:29 +02:00
Kitware Robot 1e1f61d4c1 CMake Nightly Date Stamp 2012-05-28 00:01:03 -04:00
Kitware Robot b313e8ceed CMake Nightly Date Stamp 2012-05-27 00:01:02 -04:00
Kitware Robot 66d7669a3d CMake Nightly Date Stamp 2012-05-26 00:01:04 -04:00
Stephen Kelly bdc6e32d32 Update the docs of IMPORTED_LOCATION_CONFIG to match the code. 2012-05-25 12:22:27 +02:00
Kitware Robot b639549c67 CMake Nightly Date Stamp 2012-05-25 00:01:04 -04:00
David Cole bc936c1cd5 Merge topic 'fortran-include-angle'
ad21079 Fortran: Follow <>-style includes (#13239)
2012-05-24 13:38:41 -04:00
David Cole 3e23da0688 Merge topic 'CPack-activateRPM-DEB-onMacOS'
801ea70 Calm down Borland compiler warning about "always true"
2a34b57 CPack allow RPM and DEB generator to be used on OSX.
2012-05-24 13:38:13 -04:00
David Cole db1857e142 Merge topic 'CPackNSIS-warnDESTDIRandABSOLUTE'
4986d52 Use CPACK_xxx and CMAKE_xxx in a consistent way.
f90223c Fix KWStyle warning
47f0dbd CPack add necessary check to detect/warns/error on ABSOLUTE DESTINATION
6ba055b CPack add easy possibility to warn about CPACK_SET_DESTDIR
2012-05-24 13:38:03 -04:00
David Cole 59bdb879e8 Merge topic 'MakeDefaultInstallComponentNameConfigurable'
b71e731 -add docs for ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME}
7ced073 make default install component name configurable
b6fba35 -strip trailing whitespace
2012-05-24 13:37:54 -04:00
Kitware Robot 1e3dde2ddb CMake Nightly Date Stamp 2012-05-24 00:01:04 -04:00
Brad King 0fbaa63cb2 KWSys: Remove unused environ declaration from SystemTools
Commit "KWSys: Fix SystemTools environment memory handling" (2012-04-26)
added a _WIN32 case inside !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H to dllimport
the "environ" global.  Howver, KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H is true
on every Windows toolchain we support so the case is never reached.
Furthermore, even if it were reached the use of dllimport is incorrect
because the toolchain might not be compiling with a dynamic runtime
library.  Remove the unused incorrect line and supporting conditionals.
2012-05-23 08:32:57 -04:00
Kitware Robot 4df451131b CMake Nightly Date Stamp 2012-05-23 00:01:03 -04:00
Brad King ad2107903a Fortran: Follow <>-style includes (#13239)
Fortran sources that pass through the C preprocessor may use

 #include "header"

syntax or

 #include <header>

syntax.  CMake already follows the former.  Teach it to follow the
latter.
2012-05-22 14:07:24 -04:00
Kitware Robot f2656e4ccb CMake Nightly Date Stamp 2012-05-22 00:01:04 -04:00
Eric NOULARD 801ea70c08 Calm down Borland compiler warning about "always true" 2012-05-21 14:39:18 +02:00
Kitware Robot 4af648041d CMake Nightly Date Stamp 2012-05-21 00:01:04 -04:00
Eric NOULARD 2a34b57938 CPack allow RPM and DEB generator to be used on OSX.
More generally add the check for possible generator "activation" at
runtime depending on a generator specific check.
The dynamic behavior is currently implemented only for MacOS
and should be fully backward compatible for other system.

Inspired-By Tom Hughes <tomtheengineer@gmail.com>
2012-05-20 22:04:32 +02:00
Eric NOULARD 4986d525af Use CPACK_xxx and CMAKE_xxx in a consistent way.
CMAKE_xxx vars are now used in the CMake-generated cmake_install.cmake
script while CPACK_xxx equivalent vars are used from within CPack.
CPack is responsible for getting/forwarding definitions of
CPACK_xxxx var corresponding to CMAKE_xxxx when invoking
CMake-generated install scripts.
As a consequence:
CMAKE_ABSOLUTE_DESTINATION_FILES
CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
may be used from outside CPack as well.
e.g.
cmake -DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=1 -P cmake_install.cmake
works as expected.
2012-05-20 17:28:54 +02:00
Kitware Robot 4742eec96a CMake Nightly Date Stamp 2012-05-20 00:01:02 -04:00
Kitware Robot e2d71bb693 CMake Nightly Date Stamp 2012-05-19 00:01:02 -04:00
Kitware Robot cb37cae691 CMake Nightly Date Stamp 2012-05-18 00:01:04 -04:00
David Cole 8e9929d527 Merge topic 'ninja-error-failbit'
b94514f Ninja: mark rules/build file streams failed if error occurred (#13067, #13105)
2012-05-17 15:00:01 -04:00
David Cole 78733119cb Merge topic 'ninja-issue-13069'
d807aab Ninja: apply CMAKE_<LANG>_FLAGS_<TYPE> to executable targets (#13069)
2012-05-17 14:59:52 -04:00
David Cole e1c5691a0f Merge topic 'cmake-trace-elseif'
b3b095a Print any evaluated 'elseif'/'else' commands in trace mode (#13220)
2012-05-17 14:59:39 -04:00
David Cole 0c03cbabc4 Merge topic 'xcode-storyboard-files'
d59ba0c Xcode: Recognize storyboard source files (#13214)
2012-05-17 14:59:17 -04:00
David Cole 8e9101a0cb Merge topic 'mumps_coverage'
c806b23 CDash now supports lots of files in coverage. So, show all files.
761d931 Do not try to run bullseye coverage if COVFILE env is empty.
5b69ce4 Update test data to match new coverage format.
1b418f1 Change GT.M Coverage Parser global
b0c07a1 Disable bullseye coverage for mumps coverage test.
0a169e6 Remove uncovered files from cache coverage data.
a7abf5e Add ability to specify more than one package directory or coverage directory.
220afca Use <TARGET_FILE> expression to run ctest so it works with Xcode and VS IDE.
62f6bce Use a script to run the test because WORKING_DIRECTORY is not in 2.8.2.
f5c5db0 Fix some warnings and a bug where it went past the length of a vector.
7955e99 Add support for Cache coverage.
a86cd33 Add virutal destructor to silence warning.
319eeb0 Add test for mumps coverage. Also refactor code to prepare for cache coverage.
72210c2 Fix line length.
dd07161 Fix warning about char* instead of const char*.
e6412e0 Add support to ctest for GTM mumps coverage.
2012-05-17 14:58:54 -04:00
David Cole 8f635d0268 Merge topic 'vs11-arm-generator'
5af93bb VS11: Fix ARM architecture hint typo (#13077)
0fa3d09 VS11: Add ARM architecture generator (#13077)
2012-05-17 14:58:41 -04:00
David Cole c47f904874 Merge topic 'ninja_convenience_targets'
92cee76 Ninja: Add a convenient 'help' target.
3bd41f2 Ninja: Add a convenient 'clean' target.
2012-05-17 14:58:31 -04:00
David Cole 8519085803 Merge topic 'CPack-preserveTimestampInSourcePackage'
3d10f65 CPack - preserve timestamp for CPACK_INSTALLED_DIRECTORIES. fixes: #0013193
2012-05-17 14:58:20 -04:00
Kitware Robot 3e0580ba65 CMake Nightly Date Stamp 2012-05-17 00:01:03 -04:00
Peter Collingbourne b94514f020 Ninja: mark rules/build file streams failed if error occurred (#13067, #13105)
This causes cmGeneratedFileStream to delete the temporary files,
rather than overwriting the (working) existing files.
2012-05-17 00:00:16 +01:00
Peter Collingbourne d807aab28f Ninja: apply CMAKE_<LANG>_FLAGS_<TYPE> to executable targets (#13069)
Based on a patch by Zaheer Chothia!
2012-05-16 22:56:42 +01:00
Brian Helba b3b095a933 Print any evaluated 'elseif'/'else' commands in trace mode (#13220)
In trace mode ('--trace'), any 'elseif' or 'else' commands that are
evaluated as part of a conditional block will be printed.  Previously,
only the opening 'if' command of a conditional block was printed.
2012-05-16 09:07:55 -04:00
Kitware Robot e78483c08e CMake Nightly Date Stamp 2012-05-16 00:01:03 -04:00
Eric NOULARD f90223cafc Fix KWStyle warning 2012-05-15 07:54:42 +02:00
Kitware Robot 0977250ba0 CMake Nightly Date Stamp 2012-05-15 00:01:04 -04:00
Eric NOULARD 47f0dbd70b CPack add necessary check to detect/warns/error on ABSOLUTE DESTINATION
The [usually] wrong usage of absolute DESTINATION in INSTALL rules
keeps popping-up on the ML. We shall have some way to:
  1) easily detect it.
  2) forbids this for some CPack generator like NSIS
In fact it should certainly be forbidden for *any* generators
when used on Windows but we may implements that on top of the current
patch.
The patch ask the task to the generated cmake_install.cmake scripts.
Those scripts are a little bit more complicated with that but
iff there are absolute DESTINATION. This cost nothing if relative
DESTINATION are used.
Two new vars are introduced (and documented to handle that):
CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
and
CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
2012-05-14 23:29:42 +02:00
Alex Neundorf b71e731b9b -add docs for ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME}
Alex
2012-05-14 22:19:30 +02:00
Alex Neundorf 7ced0732e8 make default install component name configurable
Until now an unnamed component was always named "Unspecified".
Now this name is taken from the new cmake variable CMAKE_INSTALL_DEFAULT_COMPONENT_NAME,
which is initialized to "Unspecified". But it can now be set to something
project-specific, per directory

Alex
2012-05-14 22:19:12 +02:00
Jan Schaffmeister d59ba0c591 Xcode: Recognize storyboard source files (#13214) 2012-05-14 14:56:20 -04:00
Eric NOULARD 6ba055bacd CPack add easy possibility to warn about CPACK_SET_DESTDIR
CPackNSIS will only warn but sooner or later it should error out
2012-05-14 20:26:15 +02:00
Kitware Robot 75c0304a9e CMake Nightly Date Stamp 2012-05-14 00:01:03 -04:00
Alex Neundorf b6fba35411 -strip trailing whitespace
Alex
2012-05-13 17:38:31 +02:00
Kitware Robot c7dab4b936 CMake Nightly Date Stamp 2012-05-13 00:01:02 -04:00
Kitware Robot b149d1ed05 CMake Nightly Date Stamp 2012-05-12 00:01:03 -04:00
Bill Hoffman c806b23cfe CDash now supports lots of files in coverage. So, show all files.
Prior to this commit the mumps coverage only showed files that
had at least one line of coverage. Now 0% covered files are shown
as well.
2012-05-11 15:22:25 -04:00
Kitware Robot a2f5d14c73 CMake Nightly Date Stamp 2012-05-11 00:01:03 -04:00
Kitware Robot 9d9fc18ffa CMake Nightly Date Stamp 2012-05-10 00:01:03 -04:00
Nicolas Despres 92cee7626c Ninja: Add a convenient 'help' target. 2012-05-09 19:08:12 +02:00
Nicolas Despres 3bd41f2eb5 Ninja: Add a convenient 'clean' target.
It has been asked on the mailing list:
http://public.kitware.com/pipermail/cmake-developers/2012-April/003805.html
2012-05-09 19:08:12 +02:00
Eric NOULARD 3d10f65e39 CPack - preserve timestamp for CPACK_INSTALLED_DIRECTORIES. fixes: #0013193 2012-05-09 18:02:13 +02:00
Minmin Gong 0fa3d09369 VS11: Add ARM architecture generator (#13077) 2012-05-09 09:12:13 -04:00
Kitware Robot ad5c9d06c4 CMake Nightly Date Stamp 2012-05-09 00:01:04 -04:00
Bill Hoffman 761d93129f Do not try to run bullseye coverage if COVFILE env is empty. 2012-05-08 14:47:13 -04:00
David Cole e7e9f242db Merge topic 'vs-osx-framework-headers'
470f39c VS: Restore header files marked as OS X Framework content (#13196)
2012-05-08 14:33:39 -04:00
David Cole 6f07948486 Merge topic 'doc-html-index'
707afd1 Documentation: Improve HTML section index format
2012-05-08 14:33:25 -04:00
David Cole 41d3dfc1ef Merge topic 'FixMultipleResultsInFeatureSummary'
1f8f58a fix #13195: avoid multiple mentions of found packages
2012-05-08 14:33:13 -04:00
David Cole 3f781264d2 Merge topic 'fix-13121-handle-gcov47-output'
56f499d CTest: Modify reg ex so it also works with gcov 4.7 output (#13121)
2012-05-08 14:33:02 -04:00
David Cole fb337c66b8 Merge topic 'doc-NO_SONAME-typo'
1aa5216 Fix a few typos in NO_SONAME property description.
2012-05-08 14:32:43 -04:00
David Cole da0dc9edd7 Merge topic 'kwsys-no-depend-FundamentalType'
221b5b6 KWSys: Remove dependencies on FundamentalType
2012-05-08 14:32:31 -04:00
Kitware Robot 21aea010c4 CMake Nightly Date Stamp 2012-05-08 00:01:05 -04:00
Joseph Snyder 1b418f1fbf Change GT.M Coverage Parser global
The coverage global should be in the local namespace.  This means the global
will be ^ZZCOVERAGE instead of ^COVERAGE.  Change the parser to look for ^ZZCOVERAGE
instead of the old ^COVERAGE
2012-05-07 15:29:52 -04:00
Brad King 470f39cf4e VS: Restore header files marked as OS X Framework content (#13196)
Header files listed in a target's PUBLIC_HEADER or similar properties
are marked as OS X Framework content.  Refactoring performed by

 commit 11d9b211 (Add cmGeneratorTarget to represent a target during generation, 2012-03-07)
 commit 45c2f932 (Simplify cmMakefileTargetGenerator using cmGeneratorTarget, 2012-03-07)
 commit 328c0f65 (Simplify cmVisualStudio10TargetGenerator source classification, 2012-03-19)

and related commits accidentally removed such files from treatment as
normal header files by the VS generator (generators other than Makefiles
and Xcode).  Move handling of such files out of cmGeneratorTarget and
back to cmMakefileTargetGenerator.  The central cmGeneratorTarget
classification will always treat them as header or extra sources.
2012-05-07 15:28:19 -04:00
Brad King 707afd1ed0 Documentation: Improve HTML section index format
Add a newline after section index list items.  This makes the generated
HTML source more readable.
2012-05-07 08:51:57 -04:00
Kitware Robot c5a67a7fec CMake Nightly Date Stamp 2012-05-07 00:01:03 -04:00
Alex Neundorf 1f8f58a0b9 fix #13195: avoid multiple mentions of found packages
Now before adding a package to the list of found or not-found
packages, the package is remvoed from both lists before.

Alex
2012-05-06 16:32:10 +02:00
Kitware Robot b4a189fd14 CMake Nightly Date Stamp 2012-05-06 00:01:04 -04:00
Kitware Robot 98ff9dfc5a CMake Nightly Date Stamp 2012-05-05 00:01:04 -04:00
Kitware Robot c196e9ea35 CMake Nightly Date Stamp 2012-05-04 00:01:03 -04:00
David Cole 56f499dcef CTest: Modify reg ex so it also works with gcov 4.7 output (#13121) 2012-05-03 17:08:19 -04:00
Kitware Robot 9a6d7881fd CMake Nightly Date Stamp 2012-05-03 00:01:05 -04:00
Bill Hoffman 0a169e628b Remove uncovered files from cache coverage data.
Cache coverage data currently contains files with 0 coverage
on each line. This change will remove those files from the coverage
sent to CDash.
2012-05-02 17:23:01 -04:00
Bill Hoffman a7abf5e090 Add ability to specify more than one package directory or coverage directory. 2012-05-02 16:47:24 -04:00
Modestas Vainius 1aa52163ef Fix a few typos in NO_SONAME property description. 2012-05-02 15:14:05 -04:00
Brad King 221b5b6977 KWSys: Remove dependencies on FundamentalType
The hash_fun.hxx header is configured whether FundamentalType is enabled
or not and so cannot depend on it.  Run the relevant platform tests
whether or not FundamentalType is on and configure the result directly
into hash_fun.  While at it, remove the dependence of SystemInformation
on FundamentalType too since it needs only information that we now
always compute.
2012-05-02 08:46:10 -04:00
Kitware Robot 3817314e2a CMake Nightly Date Stamp 2012-05-02 00:01:04 -04:00
Bill Hoffman f5c5db0753 Fix some warnings and a bug where it went past the length of a vector.
Fix a kwstyle warning and an unused variable warning. Also fix a case
where it could crash because a vector was referenced passed its
end.
2012-05-01 17:32:23 -04:00
Bill Hoffman 7955e995ec Add support for Cache coverage.
This adds support for Cache coverage parsing. A test is added
that does a basic run of the coverage on a small bit of data.
2012-05-01 17:00:43 -04:00
Bill Hoffman a86cd33cdd Add virutal destructor to silence warning. 2012-05-01 14:36:18 -04:00
David Cole 17c65d1c44 Merge topic 'cmake-gui-thread-wait'
2c050a2 cmake-gui: Wait for configure/generate thread to complete before exiting.
2012-05-01 14:10:26 -04:00
David Cole 8df7aa54f0 Merge topic 'module-no-soname'
fdb3f87 Test NO_SONAME property (#13155)
e1409ac Support building shared libraries or modules without soname (#13155)
2012-05-01 14:09:59 -04:00
David Cole 28de11291a Merge topic 'vs10-source-paths'
d931ce9 VS10: Generate relative source paths when possible (#12570)
b2e7c7a VS11: Do not use source path conversion workaround specific to VS 10
4248132 VS10: Convert paths normally unless forced to relative
c2ba6ba VS10: Simplify vcxproj.filter file generation
4f2d9d2 VS10: Refactor custom commands to use WriteSource
2012-05-01 14:09:22 -04:00
David Cole c75f404065 Merge topic 'kwsys-environ-cleanup'
e48796b KWSys: Fix SystemTools environment memory handling (#13156)
b10c5cb CTest: Simplify environment save/restore
2012-05-01 14:09:12 -04:00
David Cole 4db78c7c01 Merge topic 'doc-html-anchors'
dfccdd6 Documentation: Fix HTML anchor ranges
2012-05-01 14:08:34 -04:00
David Cole 2d8e2daffe Merge topic 'ctest_memcheck-xml-encoding'
3da577d CTest: Escape MemCheck test output for XML (#13124)
2012-05-01 14:08:25 -04:00
David Cole d9427c9667 Merge topic 'try-compile-cleanup-dirs'
953257c try_compile: Cleanup temporary directories (#13160)
2012-05-01 14:08:03 -04:00
David Cole 58cc3d1fc4 Merge topic 'kwsys-remove-DateStamp'
5f807a6 KWSys: Remove DateStamp
2012-05-01 14:07:52 -04:00
Bill Hoffman 319eeb0247 Add test for mumps coverage. Also refactor code to prepare for cache coverage.
Add a simple test to make sure the GTM mumps coverage is working.
Also refactor the code so that cache coverage can be added.
2012-05-01 13:35:07 -04:00
Kitware Robot 94f17c696c CMake Nightly Date Stamp 2012-05-01 00:01:03 -04:00
Clinton Stimpson 2c050a2e11 cmake-gui: Wait for configure/generate thread to complete before exiting.
A prevous fix to interrupt granularity makes it so we don't have to wait very long.
2012-04-30 13:12:16 -06:00
Modestas Vainius e1409ac59b Support building shared libraries or modules without soname (#13155)
Add a boolean target property NO_SONAME which may be used to disable
soname for the specified shared library or module even if the platform
supports it.  This property should be useful for private shared
libraries or various plugins which live in private directories and have
not been designed to be found or loaded globally.

Replace references to <CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG> and
hard-coded -install_name flags with a conditional <SONAME_FLAG> which is
expanded to the value of the CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG
definition as long as soname supports is enabled for the target in
question.  Keep expanding CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG in
rules in case third party projects still use it.  Such projects would
not yet use NO_SONAME so the adjacent <TARGET_SONAME> will always be
expanded.  Make <TARGET_INSTALLNAME_DIR> NO_SONAME aware as well.  Since
-install_name is soname on OS X, this should not be a problem if this
variable is expanded only if soname is enabled.

The Ninja generator performs rule variable substitution only once
globally per rule to put its own placeholders.  Final substitution is
performed by ninja at build time.  Therefore we cannot conditionally
replace the soname placeholders on a per-target basis.  Rather than
omitting $SONAME from rules.ninja, simply do not write its contents for
targets which have NO_SONAME.  Since 3 variables are affected by
NO_SONAME ($SONAME, $SONAME_FLAG, $INSTALLNAME_DIR), set them only if
soname is enabled.
2012-04-30 11:50:27 -04:00
Kitware Robot 711f3ccb04 CMake Nightly Date Stamp 2012-04-30 00:01:02 -04:00
Kitware Robot cfb909afb8 CMake Nightly Date Stamp 2012-04-29 00:01:03 -04:00
Kitware Robot 262a259e77 CMake Nightly Date Stamp 2012-04-28 00:01:03 -04:00
Brad King d931ce9fe0 VS10: Generate relative source paths when possible (#12570)
Since commit ed0075bd (Use relative paths for custom command inputs,
2011-06-22) CMake generates full paths to source files in VS 10 project
files to avoid trouble with deep source/build tree paths.  However, the VS
10 IDE will not populate the source file property dialog for a file
referenced by full path.  Instead use a relative path when possible.  When
not possible produce a detailed warning explaining the problem and
suggesting use of shorter directory paths.
2012-04-27 14:14:36 -04:00
Brad King b2e7c7aef0 VS11: Do not use source path conversion workaround specific to VS 10
CMake <= 2.8.4 generated VS 10 project files with a relative path to
source files.  Then commit ed0075bd (Use relative paths for custom command
inputs, 2011-06-22) switched to using relative paths only for source files
holding custom commands and full paths for other sources.  This behavior
was inhereted by the VS 11 generator but is not needed so use the
workaround only for exactly VS 10.  Explain the behavior in comments.
2012-04-27 13:17:16 -04:00
Brad King 4248132e59 VS10: Convert paths normally unless forced to relative
Most CMake generators produce relative paths within the build tree and
full paths to files outside the build tree.  Make VS 10 and VS 11
project files consistent with this approach except for paths forced to
be relative to work around a VS 10 bug.
2012-04-27 11:53:40 -04:00
Brad King c2ba6ba4fc VS10: Simplify vcxproj.filter file generation
Remove the duplicate source file classification logic used to generate
the filter files.  Instead record during the main vcxproj file
generation the source files generated for each tool.  Also record
whether or not each source file is converted to a relative path.  Use
the recorded result during filter generation to ensure consistency
between the project file and filter file.
2012-04-27 10:00:00 -04:00
Brad King 4f2d9d2da5 VS10: Refactor custom commands to use WriteSource
All other source file elements are already written through WriteSource.
Refactor custom command source element generation into WriteSource too.
2012-04-27 09:15:03 -04:00
Brad King e48796b26b KWSys: Fix SystemTools environment memory handling (#13156)
The SystemTools::PutEnv function tries to provide the "putenv" API
without leaking memory.  However, the kwsysDeletingCharVector singleton
frees memory that may still be referenced by the environment table,
having been placed there by putenv.  If any static destruction or
processing by an external tool happens after the singleton is destroyed
and accesses the environment it will read invalid memory.

Replace use of putenv with setenv/unsetenv when available.  The latter
manage internal copies of the values passed instead of referencing the
original memory.  When setenv/unsetenv are not available use putenv with
a singleton that removes its values from the environment before freeing
their memory.  This requires an "unputenv" implementation.  On at least
some platforms it must be written in terms of "putenv" because other
APIs are not available and direct modification of the "environ" global
is not safe (e.g. on Windows there is interaction with "wenviron").
Fortunately either putenv("A=") or putenv("A") will remove "A" from the
environment on these platforms.  On other platforms fall back to direct
manipulation of "environ".

Also add UnPutEnv to the API and add a test for the behavior of both.
2012-04-27 08:13:52 -04:00
Kitware Robot e6d28c7e6f CMake Nightly Date Stamp 2012-04-27 00:01:05 -04:00
Brad King dfccdd65fb Documentation: Fix HTML anchor ranges
Generate anchors of the form

  <a name="..."></a>

instead of

  <a name="..."/>

to ensure browsers know that the anchor contains no text and do not try
to guess an end of the range.  Also make the "section_Index" and item
label anchors empty instead of containing the section header or label
text.  This ensures that the text associated with target anchors is not
rendered as if it were a hyperlink.
2012-04-26 16:29:56 -04:00
Brad King 3da577dec0 CTest: Escape MemCheck test output for XML (#13124)
Any output that goes through CleanTestOutput must be printed through
cmXMLSafe.
2012-04-26 15:49:29 -04:00
Bill Hoffman 72210c2662 Fix line length. 2012-04-26 08:33:27 -04:00
Bill Hoffman dd07161c51 Fix warning about char* instead of const char*. 2012-04-26 08:30:13 -04:00
Brad King 953257ca61 try_compile: Cleanup temporary directories (#13160)
Since commit 4fbdce2b (try_compile: Use random executable file name,
2012-02-13) a different <target>.dir is used for each try-compile.
Cleanup the directories as well as their content to avoid accumulating
leftover temporary directories.
2012-04-26 08:20:58 -04:00
Kitware Robot a7d0fb1470 CMake Nightly Date Stamp 2012-04-26 07:35:13 -04:00
Bill Hoffman e6412e084e Add support to ctest for GTM mumps coverage. 2012-04-25 17:04:28 -04:00
David Cole 7e4c11e0fc Merge topic 'compile-XL-v6'
b3c7788 Workaround IBM XL v6 streams seekg bug (#13149)
09a91c6 libarchive: Avoid 'inline' keyword on XL C v6 (#13148)
a8995eb libarchive: Avoid trailing , in enum for XL v6 (#13148)
2012-04-25 14:04:52 -04:00
David Cole 91f83347d3 Merge topic 'enhance-include_external_msproject'
b803410 VS: Fix line-too-long style errors
8787f94 Merge branch 'list-empty-error' into enhance-include_external_msproject
4a30258 include_external_msproject: Test TYPE, GUID, PLATFORM options (#13120)
f3191f5 Merge branch 'test-RunCMake-check' into enhance-include_external_msproject
5913903 include_external_msproject: Add TYPE, GUID, PLATFORM options (#13120)
2012-04-25 14:04:27 -04:00
David Cole c4aa5386fb Merge topic 'list-empty-error'
05604eb list: Handle errors on empty lists more gracefully (#13138)
2012-04-25 14:03:53 -04:00
David Cole f1ecabd98a Merge topic 'doc-find_package-variables'
5ed93db find_package: Fix components signature documentation (#13142)
6c12e82 find_package: Document <package>_FIND_* variables (#13142)
2012-04-25 14:03:23 -04:00
David Cole 728cbd19e3 Merge topic 'vs10-rule-files'
72333a4 VS10: Avoid creating .rule files next to outputs (#13141)
369e346 Factor out custom command .rule file path generation
f9b758e Cleanup custom command .rule file internal handling
2012-04-25 14:03:01 -04:00
David Cole 21be162f9b Merge topic 'CPackDeb-fixFakerootOnControl'
abc9b32 Use fakeroot for control.tar.gz as well
2012-04-25 14:02:46 -04:00
David Cole ee35d8a0ea Merge topic 'ctest_coverage-locale'
3247d63 ctest_coverage: Save/restore LC_ALL around gcov (#13136)
2012-04-25 14:02:09 -04:00
David Cole 81e696c99d Merge topic 'OBJECTLibrariesInCodeBlocks'
38d4c1e CodeBlocks: improve support for OBJECT libraries
d2ed3c7 -fix #13081: support OBJECT libraries in CodeBlocks/QtCreator projects
2012-04-25 14:01:34 -04:00