Commit Graph

25422 Commits

Author SHA1 Message Date
Gilles Khouzam 1c94558abb MSVC: Disable incremental linking for WindowsPhone and WindowsStore
Do not add a "/INCREMENTAL" flag when using the toolchains for these
systems.
2014-07-31 14:08:54 -04:00
Gilles Khouzam 592098e2d5 Define 'WINDOWS_PHONE' and 'WINDOWS_STORE' variables
Set one of these when CMAKE_SYSTEM_NAME is "WindowsPhone" or
"WindowsStore", respectively.
2014-07-31 14:08:52 -04:00
Brad King aa42a78f52 Add WindowsPhone and WindowsStore platform information modules
Simply include the "Windows" platform equivalents.  This will allow
-DCMAKE_SYSTEM_NAME=WindowsPhone or -DCMAKE_SYSTEM_NAME=WindowsStore to
select variants of the Windows platform while re-using most of the
platform information from "Windows".
2014-07-31 14:08:50 -04:00
Gilles Khouzam b94ddf6cd7 CMakeDetermineCompilerId: Recognize WindowsPhone and WindowsStore
When CMAKE_SYSTEM_NAME is set to target one of these, add
ApplicationType and ApplicationTypeRevision elements to the .vcxproj
file used to identify the compiler so that the WindowsPhone or
WindowsStore toolchains can work.

Co-Author: Brad King <brad.king@kitware.com>
2014-07-31 14:08:48 -04:00
Brad King d7938bff37 VS: Select WindowsPhone and WindowsStore default toolsets
Teach the VS >= 10 generators to recognize these system names and select
the appropriate default toolset for the system version.  Report an error
when the version is not known to be supported by VS.

Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2014-07-31 14:08:46 -04:00
Brad King 3abd150ce9 VS: Save WindowsPhone and WindowsStore system internally
Add boolean members to the VS >= 10 global generator to save
whether CMAKE_SYSTEM_NAME is WindowsPhone or WindowsStore
without having to repeat a string comparison.

Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2014-07-31 14:08:43 -04:00
Brad King c1580a9217 VS: Always add IgnoreSpecificDefaultLibraries to .vcxproj files
Append %(IgnoreSpecificDefaultLibraries) to any user-specified
libraries so that the system-default list of libraries to ignore
is honored even when the user specifies more.
2014-07-31 14:08:41 -04:00
Brad King 29410df23d cmIDEOptions: Add an AppendFlag method to update multi-valued options 2014-07-31 14:08:39 -04:00
Brad King 30983ebec1 cmGlobalGenerator: Take Build output argument by reference
No call sites pass NULL to the output argument, so take it by
reference to avoid the if(output) conditions.  Propagate the
change through the TryCompile APIs that call it.
2014-07-31 12:49:51 -04:00
Brad King 0a5fe2793a VS: Add internal API to get system name and version
Add cmGlobalVisualStudio10Generator::GetSystemName and GetSystemVersion
methods to access the corresponding members publicly.
2014-07-31 10:47:22 -04:00
Gilles Khouzam fe161dc30d VS: Refactor logic deciding to add "Deploy" to the .sln file
Move the condition to a "NeedsDeploy" virtual method that can be
overridden by more recent VS generators.
2014-07-31 10:46:00 -04:00
Gilles Khouzam 66edd06587 VS: Add missing newline after .vcxproj user prop import line 2014-07-31 10:39:21 -04:00
Brad King 58f3d96d17 CPack: Sort packaging options lexicographically
This will allow new options to be added more cleanly.
2014-07-31 10:24:59 -04:00
Brad King efb45007f9 CPack: Expand mark_as_advanced arguments to one-per-line
This will allow new values to be added without editing existing lines.
2014-07-31 10:24:03 -04:00
Brad King 4f2fcce4b9 Check*: Allow result variables to contain regex special characters (#14923)
Prior to the existence of the if(DEFINED) condition, many of our Check
modules implemented the condition with a hack that takes advantage of
the auto-dereference behavior of the if() command to detect if a
variable is defined.  The hack has the form:

 if("${VAR} MATCHES "^${VAR}$")

where "${VAR}" is a macro argument reference.  However, this does not
work when the variable named in the macro argument contains characters
that have special meaning in regular expressions, such as '+'.  Run the
command

 git grep -E 'if\("\$\{.*\}" MATCHES "\^\$\{.*\}\$"\)' -- Modules/Check*

to identify lines with this problem.  Use if(NOT DEFINED) instead.
2014-07-31 09:48:41 -04:00
Brad King b48211d426 Merge branch 'release' 2014-07-31 09:40:32 -04:00
Erik Lindahl 5570d8d3f3 Check*CompilerFlag: Add pattern for Fujitsu compiler (#15051) 2014-07-31 09:22:02 -04:00
Brad King 9e7d12466e Merge topic 'cpack-mark-ifw-advanced'
5cabc2cd CPack: Mark CPACK_BINARY_IFW option as advanced
2014-07-31 09:17:47 -04:00
Brad King b056b8c46c Merge topic 'cpack-add-lzma-package-options'
9d93e099 CPack: Add lzma-compressed package options
2014-07-31 09:17:45 -04:00
Brad King ba53bc5a9d Merge topic 'check-flag-avoid-semicolon'
cac91206 Check*CompilerFlag: Avoid ';' in common pattern (#15048)
2014-07-31 09:17:43 -04:00
Brad King bd642272b9 Merge topic 'fix-CMP0049-extra-error'
b2282631 cmTarget: Do not mistake a preceding error for a CMP0049 failure
2014-07-31 09:17:41 -04:00
Brad King c1560296db Merge topic 'update_jacoco_search_paths'
9fd04f87 CTEST: Update Jacoco Coverage search paths
2014-07-31 09:17:39 -04:00
Brad King 2ba18f6284 Merge topic 'cpack-ifw-generator'
e7511b7f CPackIFW: Add package configuration variables
b2340001 CPackIFW: Document cpack_ifw_configure_component DEPENDS option
2014-07-31 09:17:37 -04:00
Brad King 9f575a26fd Merge topic 'pdb-genex'
f86850ef Genex: Implement generator expressions for target PDB files.
028ad318 Genex: Simplify filesytem artifact code
2014-07-31 09:17:35 -04:00
Nils Gladitz f86850ef60 Genex: Implement generator expressions for target PDB files. 2014-07-31 09:17:53 -04:00
Kitware Robot 202b7d12eb CMake Nightly Date Stamp 2014-07-31 00:01:24 -04:00
Brad King 5cabc2cd43 CPack: Mark CPACK_BINARY_IFW option as advanced
All similar options are already marked.

Suggested-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
2014-07-30 16:00:06 -04:00
Daniel Pfeifer 9d93e099e6 CPack: Add lzma-compressed package options
Add options to package binary and source tarballs:

 CPACK_BINARY_7Z
 CPACK_BINARY_TXZ
 CPACK_SOURCE_7Z
 CPACK_SOURCE_TXZ
2014-07-30 15:56:34 -04:00
Brad King 76acc128a2 CMake 3.0.1 2014-07-30 15:32:07 -04:00
Brad King 2eda7499d1 Merge branch 'check-flag-avoid-semicolon' into release 2014-07-30 15:31:45 -04:00
Brad King cac91206b3 Check*CompilerFlag: Avoid ';' in common pattern (#15048)
In commit v3.0.0-rc1~551^2~1 (Check*CompilerFlag: make C and CXX modules
share most error patterns, 2013-08-08) a pattern containing a ';' was
moved out of a ""-quoted argument and into a variable.  CMake flattens
the containing list and breaks the pattern.  Use a '.' to match ';'.
2014-07-30 15:21:44 -04:00
Brad King b2282631f6 cmTarget: Do not mistake a preceding error for a CMP0049 failure
After calls to ProcessSourceItemCMP0049, check for an empty return
string to detect a failure instead of trusting GetErrorOccuredFlag.
The latter could have been left from a preceding non-fatal error.

Extend the RunCMake.Configure test to cover a case that exposed this
problem.
2014-07-30 13:48:33 -04:00
Brad King ccec6df85f Help: Add notes for topic 'link-line-dedup' 2014-07-30 11:41:05 -04:00
Joseph Snyder 9fd04f874c CTEST: Update Jacoco Coverage search paths
Add a new additional entry to the FilePaths array when a
"package" tag has been found. This path should consist of the package
information found appended to the projects source directory.

This change will allow code held in a /src/main/java/* directory off of the
projects source directory to be found, unlike now which assumes a subdirectory
contains the code.
2014-07-30 11:22:55 -04:00
Brad King 9f7e27fc3a De-duplicate shared library targets in generated link lines
The linker will bring in shared libraries as a whole and use them even
for symbols that are needed by entries later in the link line.
Therefore we do not need to repeat them.  De-duplicate link entries that
we know are shared libraries because we have a cmTarget associated with
them.

Tested-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
2014-07-30 11:14:17 -04:00
Brad King 8d1306cd1b Merge branch 'release' 2014-07-30 09:42:38 -04:00
Brad King 128a0c36ec Merge topic 'remove-link-remnants'
250ad08a Ninja: Remove _COMPILER_LINKER_OPTION_FLAG_ remnants
2014-07-30 09:31:50 -04:00
Brad King 82a1b4fe51 Merge topic 'vs-refactor-source-tools'
0ac28adc VS: Map .jpg and .png sources to Image tool
58bb14d4 VS: Map .xml to XML tool
972cf1d7 VS: Map .appxmanifest sources to AppxManifest tool
15fb1022 VS: Refactor handling of resx headers
c2ef6d23 VS: Refactor handling of "header" sources in VS >= 10
2df38911 VS: Refactor handling of "extra" sources in VS >= 10
143b4005 VS: Convert 'WriteSource' tool argument to std::string
2014-07-30 09:31:49 -04:00
Brad King 6370c90f95 Merge topic 'ExternalProject-add-lzma'
56e6975c ExternalProject: Recognize lzma-compressed files (#13515)
98ea0344 ExternalProject: Recognize .tbz2 extension
2014-07-30 09:31:47 -04:00
Brad King 2d4312a160 Merge topic 'cpack-add-lzma'
f931a18c CPack: add generators for .7z and .tar.xz (#13072, #14519)
2014-07-30 09:31:45 -04:00
Kitware Robot b801754d1e CMake Nightly Date Stamp 2014-07-30 00:01:08 -04:00
Konstantin Podsvirov e7511b7fbe CPackIFW: Add package configuration variables 2014-07-29 15:55:19 -04:00
Konstantin Podsvirov b234000184 CPackIFW: Document cpack_ifw_configure_component DEPENDS option 2014-07-29 15:52:01 -04:00
Nils Gladitz 250ad08a08 Ninja: Remove _COMPILER_LINKER_OPTION_FLAG_ remnants 2014-07-29 21:33:38 +02:00
Brad King 0ac28adc01 VS: Map .jpg and .png sources to Image tool
Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2014-07-29 15:06:37 -04:00
Brad King 58bb14d4ac VS: Map .xml to XML tool
Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2014-07-29 15:06:35 -04:00
Brad King 972cf1d7af VS: Map .appxmanifest sources to AppxManifest tool
Inspired-by: Minmin Gong <minmin.gong@gmail.com>
2014-07-29 15:06:32 -04:00
Brad King 15fb102278 VS: Refactor handling of resx headers
Move generation of the ClInclude element to WriteHeaderSource.
2014-07-29 15:06:30 -04:00
Brad King c2ef6d238a VS: Refactor handling of "header" sources in VS >= 10
Create a WriteHeaderSource method to handle writing of sources
classified by cmGeneratorTarget as header files.  This will be
useful to add special VS-specific handling for some headers.
2014-07-29 15:06:28 -04:00
Brad King 2df389115e VS: Refactor handling of "extra" sources in VS >= 10
Create a WriteExtraSource method to handle writing of sources not
classified by cmGeneratorTarget for any particular purpose.  This
will be useful to add special VS-specific handling for some sources.
2014-07-29 15:06:26 -04:00