Commit Graph

14540 Commits

Author SHA1 Message Date
Stephen Kelly 9ce1b9ef29 Add CMAKE_BUILD_INTERFACE_INCLUDES build-variable.
This makes

 set(CMAKE_BUILD_INTERFACE_INCLUDES ON)

add the equivalent of

 set_property(TARGET tgt APPEND PROPERTY
   INTERFACE_INCLUDE_DIRECTORIES
   $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}>
 )

to every target.

If the headers are in CMAKE_CURRENT_SOURCE_DIR, and the generated headers
are in CMAKE_CURRENT_BINARY_DIR, this is a convenient way to build a target
bar, which depends on foo, just by using target_link_libraries() and adding
the INTERFACE_INCLUDE_DIRECTORIES to the INCLUDE_DIRECTORIES of the target
being linked. There will be more-convenient porcelain API to consume the
property in the future.
2013-01-08 14:14:27 -05:00
Stephen Kelly 9cfe4f1b76 Allow target_link_libraries with IMPORTED targets.
This makes it possible to use:

 target_link_libraries(foo LINK_INTERFACE_LIBRARIES bar)

where foo is an IMPORTED target. Other tll() signatures are not
allowed.
2013-01-08 18:58:18 +01:00
Stephen Kelly 7653862798 Add LINK_LIBRARIES property for direct target link dependencies
Previously we kept direct link dependencies in OriginalLinkLibraries.
The property exposes the information in the CMake language through the
get/set_property commands.  We preserve the OriginalLinkLibraries value
internally to support old APIs like that for CMP0003's OLD behavior, but
the property is now authoritative.  This follows up from commit d5cf644a
(Split link information processing into two steps, 2012-11-01).

This will be used later to populate the link interface properties when
exporting targets, and will later allow use of generator expressions
when linking to libraries with target_link_libraries.

Also make targets depend on the (config-specific) union of dependencies.
CMake now allows linking to dependencies or not depending on the config.
However, generated build systems are not all capable of processing
config-specific dependencies, so the targets depend on the union of
dependencies for all configs.
2013-01-08 09:02:43 -05:00
Stephen Kelly 40cf3fb95b Make linking APIs aware of 'head' target
The 'head' is the dependent target to be linked with the current target.
It will be used to evaluate generator expressions with proper handling
of mapped configurations and is used as the source target of properties.

This requires that memoization is done with a key of a pair of target
and config, instead of just config, because now the result also depends
on the target.  Removing the memoization entirely is not an option
because it slows cmake down considerably.
2013-01-08 08:53:25 -05:00
Brad King 6f6afbd69f Merge branch 'upstream-kwsys' into update-kwsys 2013-01-08 08:42:58 -05:00
Kitware Robot 97758f2920 CMake Nightly Date Stamp 2013-01-08 00:01:19 -05:00
Rolf Eike Beer 7a1b961de8 Haiku no longer defines __BEOS__ 2013-01-07 21:20:11 +01:00
Brad King c2cde7f104 Merge topic 'osx-implicit-link-dirs'
cc676c3 OS X: Detect implicit linker framework search paths
2dd67c7 OS X: Detect implicit link directories on modern toolchains
ba58d0c OS X: Link with all framework search paths, not just the last
2013-01-07 14:23:04 -05:00
Brad King db925e3532 Merge topic 'interface-includes-defines'
894f52f Handle INTERFACE properties transitively for includes and defines.
f5b1980 Populate the ExportedTargets member early in GenerateMainFile
c67b812 Make cycles in target properties ignored, not an error.
d0f950f Use mapped config properties to evaluate $<CONFIG>
26def17 Make all relevant targets available in the genex context.
0c657dc Add API to populate INTERFACE properties in exported targets.
e04f737 Add API to extract target names from a genex string.
b0c8f73 Add the TARGET_NAME generator expression.
77475fe Allow generator expressions to require literals.
b2f1700 GenEx: Add expressions to specify build- or install-only values
2013-01-07 14:20:13 -05:00
Brad King b5ab3f0707 Merge topic 'ninja-codeblocks-gui'
76c4430 Ninja: fix building from Codeblocks GUI
2013-01-07 14:20:04 -05:00
Brad King bb68d60571 Merge topic 'doc-Xcode-obj-lib-workaround'
51988a4 add_library: Document object library portability suggestion
2013-01-07 14:19:57 -05:00
Brad King 34f959e5b1 Merge topic 'fix-genex-with-no-target'
e767ffc Don't crash when a target is expected but is not available.
2013-01-07 14:19:47 -05:00
Brad King b684b39581 VS11: Simplify external object file handling (#13831)
Since commit 9a6ff950 (Fix for bug where VS2010 did not use .obj files as
part of the build, 2011-04-01) and commit b291d9e7 (VS10: Fix external
objects generated outside target, 2012-03-19) we try to detect whether an
external object file is also a custom command output in the same target.
This is because VS10 includes .obj custom command outputs on the link line
by default.

VS 11 supports a "<LinkObjects ...>false</LinkObjects>" setting in custom
command rules to tell VS not to link the outputs.  From the VS help:

 Specify whether the Inputs and output files with specific extensions (.obj,
 .lib, .res, .rsc) are passed to the linker.

Treat all external object files the same and add "<Object>" settings for them.
2013-01-07 11:42:53 -05:00
Brad King 09a0da7789 Revert "load_command: Deprecate and document pending removal"
This reverts commit d2d43986e7.
We will add a policy to remove the command more gracefully.
2013-01-07 10:31:07 -05:00
Kitware Robot c7550d5ef1 CMake Nightly Date Stamp 2013-01-07 00:01:16 -05:00
Kitware Robot 427ef82498 CMake Nightly Date Stamp 2013-01-06 00:01:29 -05:00
Peter Kümmel 76c4430971 Ninja: fix building from Codeblocks GUI
Many thx to Chuck Frayman

BUG: 13652
2013-01-05 08:29:58 +01:00
Kitware Robot 0c1f291a27 CMake Nightly Date Stamp 2013-01-05 00:01:14 -05:00
Stephen Kelly 894f52f32d Handle INTERFACE properties transitively for includes and defines.
Contextually, the behavior is as if the properties content from another
target is included in the string and then the result is evaluated.
2013-01-05 01:18:37 +01:00
Stephen Kelly f5b1980fb2 Populate the ExportedTargets member early in GenerateMainFile
The member variable is checked to determine whether to call
HandleMissingTarget(). As that could be called during the loop in
the comming commits, ensure that it contains all targets being
exported.
2013-01-05 01:18:37 +01:00
Stephen Kelly c67b8124f7 Make cycles in target properties ignored, not an error.
Constructs such as these are an error as they are direct self-references:

 set_property(TARGET foo APPEND PROPERTY
   INCLUDE_DIRECTORIES $<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>)
 set_property(TARGET foo APPEND PROPERTY
   INCLUDE_DIRECTORIES $<TARGET_PROPERTY:INCLUDE_DIRECTORIES>)

However, this is an indirect self-reference in a cycle, and not an error:

 set_property(TARGET foo APPEND PROPERTY
   INCLUDE_DIRECTORIES $<TARGET_PROPERTY:bar,INCLUDE_DIRECTORIES>)
 set_property(TARGET bar APPEND PROPERTY
   INCLUDE_DIRECTORIES $<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>)
2013-01-05 01:18:36 +01:00
Stephen Kelly d0f950fdba Use mapped config properties to evaluate $<CONFIG> 2013-01-05 01:18:36 +01:00
Stephen Kelly 26def1771d Make all relevant targets available in the genex context.
The current node being evaluated transitively in the generator
expression must be available to resolve mapped configs.
2013-01-05 01:18:36 +01:00
Stephen Kelly 0c657dc637 Add API to populate INTERFACE properties in exported targets.
The INTERFACE properties need to be preprocessed for context (build
location or install location) and to extract target names etc.
2013-01-05 01:18:36 +01:00
Stephen Kelly e04f737c7a Add API to extract target names from a genex string.
The TARGET_NAME expression, which requires a literal, provides
target names. $<TARGET_PROPERTY:tgt,prop> also provides target
names in the cases where tgt is a literal, so that TARGET_NAME is
not needed then in addition.
2013-01-05 01:18:36 +01:00
Stephen Kelly b0c8f73eb6 Add the TARGET_NAME generator expression.
It will be used as a preprocessing marker.
2013-01-05 01:05:09 +01:00
Stephen Kelly 77475fe61d Allow generator expressions to require literals. 2013-01-05 01:05:09 +01:00
Stephen Kelly b2f1700bc7 GenEx: Add expressions to specify build- or install-only values
This is for specifying INCLUDE_DIRECTORIES relevant to the build-location
or the install location for example:

 set_property(TARGET foo PROPERTY
   INTERFACE_INCLUDE_DIRECTORIES
   "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR};${CMAKE_CURRENT_SOURCE_DIR}>"
   "$<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>"
 )

A 'bar' target can then use:

 set_property(TARGET bar PROPERTY
   INCLUDE_DIRECTORIES
   "$<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES>"
 )

and it will work whether foo is in the same project, or an imported target
from an installation location, or an imported target from a build location
generated by the export() command.

Because the generator expressions are only evaluated at build-time, these
new expressions are equivalent to the ZeroNode and OneNode.

The GeneratorExpression test is split into parts. Some shells can't run
the custom command as it is getting too long.
2013-01-05 01:05:08 +01:00
Brad King 51988a4f91 add_library: Document object library portability suggestion
Xcode and VS <= 7.1 will not build targets that have no source files
besides $<TARGET_OBJECTS:...>.  Suggest in the documentation that
projects always add at least one real source file.
2013-01-04 09:38:22 -05:00
Kitware Robot 95b74cafed CMake Nightly Date Stamp 2013-01-04 00:01:13 -05:00
Stephen Kelly e767ffcda5 Don't crash when a target is expected but is not available. 2013-01-03 20:56:32 +01:00
Brad King 1a25113959 Merge topic 'fix-13789-wix-ui-enhancements'
3793dca CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789)
2013-01-03 13:53:24 -05:00
Brad King 9f8975a1a9 Merge topic 'include-dirs-debugging'
0941d62 Add a way to print the origins of used include directories.
18a3195 Keep track of INCLUDE_DIRECTORIES as a vector of structs.
76ea420 Use cmsys::auto_ptr to manage cmCompiledGeneratorExpressions
2013-01-03 13:53:21 -05:00
Brad King e2969c503b Merge topic 'fix-12904-avoid-overflow'
e378ba5 Add CTestLimitDashJ test (#12904)
3247806 CTest: Prevent creation of unbounded number of tests in ctest (#12904)
2013-01-03 13:53:18 -05:00
Brad King de53c4c695 Merge topic 'iface-depends'
3096202 Make targets depend on the link interface of their dependees.
2013-01-03 13:53:15 -05:00
Brad King 690d6baece Merge topic 'genex-cleanup'
7d736af Replace some 'if' with 'else if'
2013-01-03 13:53:11 -05:00
Brad King 60cf243fc1 Merge topic 'update-kwsys'
81c0be4 Merge branch 'upstream-kwsys' into update-kwsys
567e7d9 KWSys 2012-12-21 (8ce09af5)
2c24ca9 Remove references to KWSys Process Win9x support
e33fa5b Merge branch 'upstream-kwsys' into update-kwsys
a0f91f1 KWSys 2012-12-19 (933eb822)
2013-01-03 13:53:08 -05:00
Brad King 3475f51f57 Merge topic 'fix-undef-warnings'
310455c Fix some warnings from -Wundef
2013-01-03 13:53:05 -05:00
Stephen Kelly 0941d6232a Add a way to print the origins of used include directories. 2013-01-03 13:45:40 -05:00
Stephen Kelly 18a3195ad5 Keep track of INCLUDE_DIRECTORIES as a vector of structs.
The struct can keep track of where the include came from, which gives
us proper backtraces.
2013-01-03 13:45:40 -05:00
Stephen Kelly 3096202932 Make targets depend on the link interface of their dependees. 2013-01-03 13:31:50 -05:00
Kitware Robot 510c9cfe03 CMake Nightly Date Stamp 2013-01-03 00:01:17 -05:00
Kitware Robot 953043e679 CMake Nightly Date Stamp 2013-01-02 00:01:16 -05:00
Kitware Robot 74be149bb3 CMake Nightly Date Stamp 2013-01-01 00:01:05 -05:00
Kitware Robot 34a8c82378 CMake Nightly Date Stamp 2012-12-31 00:01:17 -05:00
Kitware Robot 2716d8976f CMake Nightly Date Stamp 2012-12-30 00:01:07 -05:00
Kitware Robot 6bd93ea240 CMake Nightly Date Stamp 2012-12-29 00:01:11 -05:00
Eric LaFranchi 3793dca08a CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789) 2012-12-28 15:32:15 -05:00
Kitware Robot fb2db0e470 CMake Nightly Date Stamp 2012-12-28 00:01:02 -05:00
Kitware Robot 539c222de0 CMake Nightly Date Stamp 2012-12-27 00:01:14 -05:00
Kitware Robot 94933a5ec9 CMake Nightly Date Stamp 2012-12-26 00:01:05 -05:00
Kitware Robot a73294b908 CMake Nightly Date Stamp 2012-12-25 00:01:07 -05:00
Kitware Robot 4d580517a9 CMake Nightly Date Stamp 2012-12-24 00:01:20 -05:00
Stephen Kelly 7d736af60e Replace some 'if' with 'else if'
For consistency with the rest of the method.
2012-12-23 16:37:01 +01:00
Kitware Robot 00deb127be CMake Nightly Date Stamp 2012-12-23 00:01:21 -05:00
Brad King 81c0be4f00 Merge branch 'upstream-kwsys' into update-kwsys 2012-12-22 09:52:05 -05:00
Stephen Kelly 310455cc18 Fix some warnings from -Wundef
Other warnings come from kwsys, so the flag can't be enabled.
2012-12-22 12:47:54 +01:00
Kitware Robot c95a13ecb9 CMake Nightly Date Stamp 2012-12-22 00:01:12 -05:00
Kitware Robot 0d3b89ed76 CMake Nightly Date Stamp 2012-12-21 00:01:16 -05:00
Stephen Kelly 76ea420fb9 Use cmsys::auto_ptr to manage cmCompiledGeneratorExpressions
The compiled generator expressions need to outlive the creating
type. For the same reason, store the input string in a std::string.
2012-12-20 12:17:37 +01:00
Kitware Robot e1d211abba CMake Nightly Date Stamp 2012-12-20 00:01:02 -05:00
Brad King e33fa5b678 Merge branch 'upstream-kwsys' into update-kwsys 2012-12-19 08:09:36 -05:00
Kitware Robot 5ac16ea6e4 CMake Nightly Date Stamp 2012-12-19 00:01:09 -05:00
David Cole 12e10272b2 Merge topic 'doc-implicit-link-dirs'
017d90c Documentation: Clarify handling of implicit link directories
2012-12-18 13:55:48 -05:00
Casey Goodlett 324780697c CTest: Prevent creation of unbounded number of tests in ctest (#12904)
Note it is still possible for CTest to start more than the number of
processes specified by PARALLEL_LEVEL, but this prevents the number of
tests to start from being unbounded because of overflow.
2012-12-18 13:30:34 -05:00
Kitware Robot 8931dd6e74 CMake Nightly Date Stamp 2012-12-18 00:01:03 -05:00
Kitware Robot a3f63661e6 CMake Nightly Date Stamp 2012-12-17 00:01:05 -05:00
Kitware Robot d8dcd63910 CMake Nightly Date Stamp 2012-12-16 00:01:04 -05:00
Kitware Robot a076b256c4 CMake Nightly Date Stamp 2012-12-15 00:01:04 -05:00
Kitware Robot 34ecf7088b CMake Nightly Date Stamp 2012-12-14 00:01:02 -05:00
Kitware Robot f6a9a64f16 CMake Nightly Date Stamp 2012-12-13 00:01:03 -05:00
Kitware Robot daf17b13d5 CMake Nightly Date Stamp 2012-12-12 00:01:06 -05:00
Brad King cc676c3a08 OS X: Detect implicit linker framework search paths
Previously we hard-coded a list of implicit framework directories but
did not account for CMAKE_OSX_SYSROOT or for changes to the list across
OS X versions.  Instead we should automatically detect the framework
directories for the active toolchain.

The parent commit added the "-Wl,-v" option to ask "ld" to print its
implicit directories.  It displays a block such as:

 Framework search paths:
	/...

Parse this block to extract the list of framework directories.

Detection may fail on toolchains that do not list their framework
directories, such as older OS X linkers.  Always treat the paths

 <sdk>/Library/Frameworks
 <sdk>/System/Library/Frameworks
 <sdk>/Network/Library/Frameworks # Older OS X only
 /System/Library/Frameworks

as implicit.  Note that /System/Library/Frameworks should always be
considered implicit so that frameworks CMake finds there will not
override the SDK copies.
2012-12-11 15:15:52 -05:00
Brad King ba58d0c06f OS X: Link with all framework search paths, not just the last
Refactoring in commit 8d674e78 (Ninja: move -LIBPATH behind -link
option, 2012-09-26) accidentally added code that overwrites the
framework search path flags on each iteration instead of appending.
Change '=' to '+=' to fix it.  This affects Makefile and Ninja
generators.
2012-12-11 15:15:51 -05:00
Brad King 017d90c500 Documentation: Clarify handling of implicit link directories
Extend documentation for CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES to
explain how it is used by CMake and how it can be influenced by
environment variables.

Inspired-by: Alex Neundorf <neundorf@kde.org>
2012-12-11 14:00:23 -05:00
David Cole d0369a9888 Merge topic 'fix-13657-more-gcov47-output'
61ace1d CTest: Coverage handler: expect certain output lines from gcov 4.7 (#13657)
2012-12-11 13:44:33 -05:00
David Cole bc9dcadf19 Merge topic 'xcode-framework-paths'
f0d9385 Makefile: Use modern link information for framework search paths
2bc22bd Xcode: Add frameworks search paths from link dependeny closure (#13397)
2012-12-11 13:44:25 -05:00
David Cole 7b20f893c2 Merge topic 'TheRealAutomocIncludeDirFix'
acc2240 Automoc: get include dirs without stripping implicit include dirs off
2012-12-11 13:44:17 -05:00
David Cole 28c6d32688 Merge topic 'skip-variable-re-expansion'
711b63f Add policy CMP0019 to skip include/link variable re-expansion
2012-12-11 13:44:08 -05:00
David Cole b575eadcda Merge topic 'add-timestamp-subcommands'
12d87c0 CMake: Fix dashboard build errors and warnings
e28ce24 CMake: Fix dashboard test failure
354ecc1 CMake: Fix dashboard warnings
d842d90 CMake: Stylistic changes and documentation tweaks
711e2b3 CMake: Add TIMESTAMP subcommand to string and file commands
2012-12-11 13:43:50 -05:00
Kitware Robot ab2b1f44f8 CMake Nightly Date Stamp 2012-12-11 00:01:14 -05:00
David Cole 61ace1df26 CTest: Coverage handler: expect certain output lines from gcov 4.7 (#13657)
And do not report them as errors.
2012-12-10 17:03:57 -05:00
Kitware Robot 7ecaa4047b CMake Nightly Date Stamp 2012-12-10 00:01:04 -05:00
Kitware Robot 140ed91dd2 CMake Nightly Date Stamp 2012-12-09 00:01:06 -05:00
Kitware Robot 0cbe7dd1e3 CMake Nightly Date Stamp 2012-12-08 00:01:06 -05:00
Brad King f0d938549e Makefile: Use modern link information for framework search paths
Use cmComputeLinkInformation::GetFrameworkPaths to get the list of
framework paths needed by the linker.  Drop the now unused framework
information from the old-style cmTarget link dependency analysis.
2012-12-07 15:29:21 -05:00
Alex Neundorf acc224005e Automoc: get include dirs without stripping implicit include dirs off
This should finally fix #13667 and #13762.
Instead of adding special handling to guess whether implicit include dirs
may have been removed, simply make it possible to query the include dirs
without removing the implicit ones.

Alex
2012-12-07 21:24:28 +01:00
Brad King 2bc22bdaac Xcode: Add frameworks search paths from link dependeny closure (#13397)
The Xcode generator produces FRAMEWORK_SEARCH_PATHS from:

(1) Include directories of the form /path/to/Foo.framework become
    -F/path/to so '#include <Foo/H>' can find H in the framework.

(2) Linked frameworks of the form /path/to/Foo.framework become
    -F/path/to -framework Foo so the linker can find the framework.

Originally commit 82bb6fae (add framework support to FIND_FILE,
2005-12-27) added these and used the (then current) old-style link
dependency analysis results to get the frameworks.  Later a second
setting was added by commit 2ed6191f (add initial xcode framework stuff,
2007-05-08) to transform -F/path/to linker options produced by the old
link line generation into entries appended to FRAMEWORK_SEARCH_PATHS.
Then commit 96fd5909 (Implement linking with paths to library files,
2008-01-22) updated the second setting to directly use the results of
full modern link dependency analysis, but forgot to remove the use of
old-style link results from the original setting location.

The two settings worked together for a while, with the second one
appending to the first.  Then commit f33a27ab (Generate native Xcode 3.0
and 3.1 projects, 2009-06-29) changed the internal representation format
produced by the first setting but did not update the second setting to
append to the new representation.  As a result, if the first setting
added any paths (usually via the old-style link analysis) then the
second setting containing the modern link analysis results would not be
applied at all.

Fix this by removing use of the old-style link analysis results.
Replace it using the modern link dependencies and remove the second
setting altogether.  Now all values for FRAMEWORK_SEARCH_PATHS are
collected in one place so no special append logic is needed.
2012-12-07 15:14:19 -05:00
Brad King 711b63f7e0 Add policy CMP0019 to skip include/link variable re-expansion
Historically CMake has always expanded ${} variable references in the
values given to include_directories(), link_directories(), and
link_libraries().  This has been unnecessary since general ${}
evaluation syntax was added to the language a LONG time ago, but has
remained for compatibility with VERY early CMake versions.

For a long time the re-expansion was a lightweight operation because it
was only processed once at the directory level and the fast-path of
cmMakefile::ExpandVariablesInString was usually taken because values did
not have any '$' in them.  Then commit d899eb71 (Call
ExpandVariablesInString for each target's INCLUDE_DIRECTORIES,
2012-02-22) made the operation a bit heavier because the expansion is
now needed on a per-target basis.  In the future we will support
generator expressions in INCLUDE_DIRECTORIES with $<> syntax, so the
fast-path in cmMakefile::ExpandVariablesInString will no longer be taken
and re-expansion will be very expensive.

Add policy CMP0019 to skip the re-expansion altogether in NEW behavior.
In OLD behavior perform the expansion but improve the fast-path
heuristic to match ${} but not $<>.  If the policy is not set then warn
if expansion actually does anything.  We expect this to be encountered
very rarely in practice.
2012-12-07 09:51:19 -05:00
Kitware Robot 2be87f8ff8 CMake Nightly Date Stamp 2012-12-07 00:01:10 -05:00
David Cole 12d87c0425 CMake: Fix dashboard build errors and warnings
memset is not in std:: for VS6, and though quite silly, 0 is not a char
2012-12-06 07:20:12 -05:00
Kitware Robot 8521a9e9ca CMake Nightly Date Stamp 2012-12-06 00:01:05 -05:00
David Cole e28ce2483d CMake: Fix dashboard test failure
Eliminate the platform difference in calling stat. We call stat normally
in other places in the CMake code base just fine. Works everywhere we
work. Will hopefully also fix the Borland Continuous dashboard failure
that is occurring with respect to correctly measuring the modification
time of a freshly generated file.
2012-12-05 15:16:22 -05:00
David Cole 354ecc1e1f CMake: Fix dashboard warnings
...in the new file and string TIMESTAMP sub-commands
2012-12-05 13:19:09 -05:00
David Cole d842d90622 CMake: Stylistic changes and documentation tweaks
...for the contributed file and string TIMESTAMP sub-commands.
2012-12-05 10:39:11 -05:00
Nils Gladitz 711e2b3b5c CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
David Cole 2bb2745fa8 Merge topic 'fix-11575-add-wix-support-to-cpack'
a74bd47 CPack: Fix dashboard errors and warnings (#11575)
ad0f735 CPack: Fix dashboard warnings (#11575)
0729ad4 CPack: Fix dashboard errors (#11575)
85baac1 CPack: Add a WiX Generator (#11575)
2012-12-05 10:31:05 -05:00
David Cole 41fe73a6bf Merge topic 'fix-13770-folders-w-vs11-express'
7fa0f4b VS11: Allow using folders with the VS11 Express Edition (#13770)
2012-12-05 10:30:48 -05:00
David Cole 4df341b041 Merge topic 'windows-ce-env-helper'
dce54b1 Add command to generate environment for a Windows CE SDK
2012-12-05 10:29:58 -05:00
David Cole 8a581696ef Merge topic 'safe-target-file-import'
bf2ddce Generate an early-return guard in target Export files.
2012-12-05 10:29:48 -05:00
David Cole 00dc0ce592 Merge topic 'ninja_launchers'
9fc2e20 Ninja: fix usage of cldeps with ctest launchers
965358f enable CTEST_USE_LAUNCHERS with Ninja too
2012-12-05 10:29:36 -05:00
Kitware Robot 7c2891daeb CMake Nightly Date Stamp 2012-12-05 00:01:05 -05:00
David Cole a74bd470a4 CPack: Fix dashboard errors and warnings (#11575)
...revealed by the Nightly dashboard runs last night.

Use "size_t" instead of "std::size_t" so that it compiles with
Visual Studio 6, too.

Fix warnings about shadowed "tmp" local variable and ordering of
member variables vs. lines of code in the constructor initializer
list.
2012-12-04 14:37:41 -05:00
Kitware Robot 9d95dc3e23 CMake Nightly Date Stamp 2012-12-04 00:01:07 -05:00
David Cole 7fa0f4b870 VS11: Allow using folders with the VS11 Express Edition (#13770)
Solution folders are supported as read-only in the VS11 Express
Edition, so do not prohibit their use just because we detect the
express edition (as we did in the VS10 generator).

Inspired-by: Paris
2012-12-03 13:53:43 -05:00
David Cole ad0f73573f CPack: Fix dashboard warnings (#11575)
Fix int vs. size_t conversion warnings that only showed up in
the 64-bit builds.
2012-12-03 13:35:29 -05:00
David Cole 0729ad476c CPack: Fix dashboard errors (#11575)
Use same technique here with UuidToString as already found in
cmGlobalVisualStudio7Generator::CreateGUID to avoid using a type
that is not defined on older systems... (VS 7.0 and Borland)
2012-12-03 13:16:35 -05:00
Nils Gladitz 85baac1503 CPack: Add a WiX Generator (#11575)
This new CPack generator produces an *.msi installer file.
Requires having the WiX Toolset installed in order to work
properly.

Download the WiX Toolset installer "WiX36.exe" here:

  http://wix.codeplex.com/releases/view/93929
2012-12-03 11:00:31 -05:00
Kitware Robot 538af16425 CMake Nightly Date Stamp 2012-12-03 00:01:06 -05:00
Kitware Robot cb15efc370 CMake Nightly Date Stamp 2012-12-02 00:01:05 -05:00
Kitware Robot 6e58a4c714 CMake Nightly Date Stamp 2012-12-01 00:01:08 -05:00
Brad King 1be60d6dc7 Merge topic 'multiarch-include'
da1d9ba Test find_path multiarch support (#13742)
b96f6fc Teach find_(path|file) about Linux multiarch (#13742)
2012-11-30 10:35:59 -05:00
Patrick Gansterer dce54b103a Add command to generate environment for a Windows CE SDK 2012-11-30 07:59:25 -05:00
Stephen Kelly bf2ddceb4e Generate an early-return guard in target Export files.
Previously it was necessary for writers of Config files
which incude exported target files to write the guard themselves, but
this was not immediately obvious or documented. Options for them
would be to use a variable, or an INHERITED directory property in an
effort to avoid accidental name clashes in all contexts in
which find_package can be used.

Getting this right requires boiler plate code, so generate a simpler
check automatically instead.
2012-11-30 09:51:17 +01:00
Kitware Robot e0af55a5f4 CMake Nightly Date Stamp 2012-11-30 00:01:04 -05:00
Mathias Gaunard 9fc2e20244 Ninja: fix usage of cldeps with ctest launchers 2012-11-30 03:46:55 +01:00
Kitware Robot d5ac791366 CMake Nightly Date Stamp 2012-11-29 00:01:01 -05:00
Brad King 581b0c0d07 Merge topic 'windows-ce'
3a1006e VS: Added "Deploy" at project configuration for WindowsCE targets
40c36c9 VS: Make DetermineCompilerId working with WinCE too
038df9e VS: Allow setting the name of the target platform
6fe4fcb VS: Add parser for WCE.VCPlatform.config to read WinCE platforms
2118a20 VS: Support setting correct subsystem and entry point for WinCE
6920fed VS: Change variable type of Name from const char* to string
102521b VS: Change variable type of ArchitectureId from const char* to string
332dc09 VS: Add static method to get the base of the registry
d41d4d3 VS: Add CMAKE_VS_PLATFORM_NAME definition to cmMakefile
14861f8 VS: Remove TargetMachine for linker when checking compiler id
2012-11-28 08:49:56 -05:00
Kitware Robot 1ed0464851 CMake Nightly Date Stamp 2012-11-28 00:01:06 -05:00
Brad King 5f30a56f29 Merge topic 'generator-expression-fixes'
b581be0 Genex: Don't segfault on $<FOO,>
07749e3 Genex: Ensure that $<0:...> has a parameter.
ee96dc7 Genex: Extract a method to parse parameters.
2012-11-27 13:35:02 -05:00
Brad King ccf23f295c Merge topic 'fix-13611-source-group-issues'
00e9680 CMake: source_group needs to check its own regex after its children (#13611)
2012-11-27 13:34:40 -05:00
Brad King 9f832033d5 Merge topic 'revert-use-generator-target'
0bbae6f Revert "Move GetLinkInformation to cmGeneratorTarget"
d5cf644 Split link information processing into two steps.
d8a59ea Port cmGeneratorExpression to cmTarget from cmGeneratorTarget.
2012-11-27 13:34:36 -05:00
Brad King 9c48fc7213 Merge topic 'fix-13392-nmake-empty-depends-problem'
7ae7d66 NMake: Fix problem with empty DEPENDS args (#13392)
078e35d NMake: Add a test to demonstrate EmptyDepends issue (#13392)
2012-11-27 13:34:31 -05:00
Brad King 4046fc0104 Merge topic 'use-cmsys-auto_ptr'
ddc0520 Always use the auto_ptr from cmsys.
2012-11-27 13:34:25 -05:00
Brad King 9e395feb46 Merge topic 'ninja-encode-LINK_FLAGS'
12ab135 Ninja: encode LINK_FLAGS to handle bash variables
2012-11-27 13:34:21 -05:00
Brad King f30393e28a Merge topic 'cpack-nsis64-patches'
6ff730a CPack/NSIS: Add support for 64-bit NSIS (#13203)
51da766 CPack/NSIS: Fix compatibility issues with prerelease NSIS (#13202)
2012-11-27 13:34:13 -05:00
Brad King 805c0f3f89 Merge topic 'fix-untar-infinite-loop'
37c34d7 CMake: Fix infinite loop untarring corrupt tar file
2012-11-27 13:34:07 -05:00
Stephen Kelly b581be0767 Genex: Don't segfault on $<FOO,>
Treat the comma as part of the identifier here. It will later not
resolve to a generator expression and the user gets a proper error
message.
2012-11-27 09:12:39 -05:00
Stephen Kelly 07749e3705 Genex: Ensure that $<0:...> has a parameter. 2012-11-27 09:12:39 -05:00
Patrick Gansterer 3a1006e41f VS: Added "Deploy" at project configuration for WindowsCE targets 2012-11-27 08:31:20 -05:00
Patrick Gansterer 40c36c9f7b VS: Make DetermineCompilerId working with WinCE too
Add a dummy mainCRTStartup() function, since the linker searches for
it instead of main() and set the CMAKE_SYSTEM_* variables depending
on the MSVC_C_ARCHITECTURE_ID and CMAKE_VS_WINCE_VERSION variables.
2012-11-27 08:31:19 -05:00
Patrick Gansterer 038df9e49e VS: Allow setting the name of the target platform
Since the name for a target platform is independent of its cpu
architecture an additional option is required to set it correctly.
2012-11-27 08:31:18 -05:00
Patrick Gansterer 6fe4fcba78 VS: Add parser for WCE.VCPlatform.config to read WinCE platforms
Parse the WCE.VCPlatform.config file, which contains the installed
WindowsCE SDKs in XML format, and add possibility to generate
Visual Studio generators for them.
2012-11-27 08:31:17 -05:00
Kitware Robot 075e0daabc CMake Nightly Date Stamp 2012-11-27 00:01:05 -05:00
Stephen Kelly ee96dc7686 Genex: Extract a method to parse parameters. 2012-11-26 22:52:22 +01:00
Brad King b96f6fc2aa Teach find_(path|file) about Linux multiarch (#13742)
Implement support for multiarch include directories as specified here:

  https://wiki.ubuntu.com/MultiarchCross

Generalize the multiarch feature added in commit b41ad3b3 (Teach
find_(library|package) about Linux multiarch, 2011-06-08) to the
find_path and find_file commands.  Teach them to search
<prefix>/include/<arch> whenever they would search <prefix>/include.
2012-11-26 16:46:04 -05:00
Brad King 1d3b35fd8a CMake 2.8.10.2 2012-11-26 13:04:20 -05:00
Brad King 82b077395d Merge branch 'fix-untar-infinite-loop' into release 2012-11-26 11:56:31 -05:00
David Cole 37c34d7d7b CMake: Fix infinite loop untarring corrupt tar file
Suggested-by: Robert Maynard <robert.maynard@kitware.com>
2012-11-26 11:54:38 -05:00
Brad King c8c1745495 Merge branch 'fix-IMPORTED-GLOBAL-reconfigure' into release 2012-11-26 10:22:05 -05:00
Patrick Gansterer 2118a2016f VS: Support setting correct subsystem and entry point for WinCE
WinCE has only one SubSystem. So the WIN32_EXECUTABLE property
must be handled via the EntryPointSymbol in the vcproj files.
2012-11-26 09:33:28 -05:00
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