Commit Graph

13639 Commits

Author SHA1 Message Date
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
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