Commit Graph

16983 Commits

Author SHA1 Message Date
Kitware Robot 7b11f87100 CMake Nightly Date Stamp 2014-09-17 00:01:07 -04:00
Brad King 56af886603 Merge topic 'vs10-wince'
a3298f77 VS: Teach VS >= 10 generator about Windows CE
2014-09-16 09:16:40 -04:00
Kitware Robot b5ac023ba2 CMake Nightly Date Stamp 2014-09-16 00:01:07 -04:00
Pascal Bach a3298f7790 VS: Teach VS >= 10 generator about Windows CE
When CMAKE_SYSTEM_NAME is 'WindowsCE':

* Set the Subsystem and EntryPointSymbol accordingly.
* When CMAKE_SYSTEM_VERSION is 8.0 (Windows CE 2013),
  select the CE800 toolset by default.
2014-09-15 10:37:40 -04:00
Brad King b234836637 Merge topic 'vs-generator-platform'
be6a555d Tests: Test setting a generator platform in a toolchain file
d506fee8 Tests: Use -A option to pass generator platform selection
11c9ddd6 ExternalProject: Use -A option to pass generator platform
29bd843e CTest: Use -A option to pass generator platform selection
eb7d8156 cmake: Add -A option to specify a generator platform
2014-09-15 10:27:38 -04:00
Brad King 9edf6903e6 Merge topic 'if-sanity'
858d5a0b Fix if() checks of CMAKE_SYSTEM_NAME on Cygwin
e177e7af FPHSA: Avoid if() dereferencing of quoted variable
425acc52 cmcurl: Use if(DEFINED) to simplify conditions
cede5cbd libarchive: Avoid depending on if() to dereference a quoted variable
2d97178b FindGTK2: Avoid depending on if() to dereference a quoted variable
0b12815d Modules/Test*.cmake: Use if(DEFINED) to simplify conditions
188a1f23 If: Introduce policy CMP0054 - don't dereference quoted variables in if()
b900c1cc If: Extract cmConditionEvaluator from if() implementation
2014-09-15 10:27:36 -04:00
Brad King 29bd843e8b CTest: Use -A option to pass generator platform selection
This is less verbose than defining CMAKE_GENERATOR_PLATFORM.
2014-09-15 10:26:59 -04:00
Brad King eb7d815649 cmake: Add -A option to specify a generator platform
Define the 'cmake -A' option to set CMAKE_GENERATOR_PLATFORM
without having to spell out the whole variable name.  We choose
the name '-A' for "platform" because '-P' is already taken, and
in the common use case the "platform" is actually an architecture
(e.g. x64).

Teach the RunCMake test infrastructure to use -A to pass the generator
platform.  Extend the RunCMake.GeneratorPlatform test with a case to
verify that the -A option cannot be repeated.
2014-09-15 10:26:59 -04:00
Kitware Robot 78884b6eff CMake Nightly Date Stamp 2014-09-15 00:01:07 -04:00
Kitware Robot 5ed4ee4e5e CMake Nightly Date Stamp 2014-09-14 00:01:07 -04:00
Kitware Robot 2770b19f4c CMake Nightly Date Stamp 2014-09-13 00:01:13 -04:00
Kitware Robot 453f20d893 CMake Nightly Date Stamp 2014-09-12 00:01:14 -04:00
Brad King 858d5a0b3e Fix if() checks of CMAKE_SYSTEM_NAME on Cygwin
The CMAKE_SYSTEM_NAME is "CYGWIN", but we also define a variable
named "CYGWIN" to "1".  Avoid allowing if() to expand the "CYGWIN"
string as a variable.
2014-09-11 21:23:24 +02:00
Nils Gladitz 188a1f236e If: Introduce policy CMP0054 - don't dereference quoted variables in if() 2014-09-11 21:23:17 +02:00
Nils Gladitz b900c1ccaa If: Extract cmConditionEvaluator from if() implementation 2014-09-11 21:17:09 +02:00
Kitware Robot 28012f3eef CMake Nightly Date Stamp 2014-09-11 00:01:08 -04:00
Brad King 0a92b23c52 Merge topic 'vs-generator-platform'
09c8ad99 enable_language: Initialize system-specific generator info only once
09ab207c Tests: Add generator platform support
6944997b ExternalProject: Propagate the generator platform
8d332091 CTest: Add options to set generator platform
b97736a2 VS: Implement CMAKE_GENERATOR_PLATFORM for VS >= 8
0f1f1271 CMake: Add CMAKE_GENERATOR_PLATFORM option
4f7d0c42 Help: Document CMAKE_VS_PLATFORM_NAME variable
68d4280a VS: Refactor internal default platform name selection
ad2a4776 cmGlobalVisualStudio10Generator: Re-order some methods
03b7b6cd cmGlobalGenerator: Call SetGeneratorToolset even for empty toolset
2014-09-10 11:23:22 -04:00
Brad King 2bfe48d6af Merge topic 'update-kwsys'
daab3b3b Merge branch 'upstream-kwsys' into update-kwsys
92b582a6 KWSys 2014-09-08 (fb77be5a)
2014-09-10 11:23:20 -04:00
Brad King cd0ead3c94 Merge topic 'tolerate-lib-dir-symlink'
f99cc9c3 Tolerate symlinks during RPATH ordering (#13429)
2014-09-10 11:23:12 -04:00
Brad King 09c8ad9943 enable_language: Initialize system-specific generator info only once
Call SetSystemName, SetGeneratorPlatform, and SetGeneratorToolset
exactly once after reading CMakeSystem.cmake, and not again on another
call to enable_language() or project().
2014-09-10 11:21:51 -04:00
Kitware Robot e03b474fa8 CMake Nightly Date Stamp 2014-09-10 00:01:10 -04:00
Brad King f99cc9c389 Tolerate symlinks during RPATH ordering (#13429)
On Arch Linux, /lib and /lib64 are symlinks to /usr/lib.  When ordering
runtime library search paths, we must not consider these to be distinct
directories.  Before considering conflicts between two directories,
check that they do not have the same 'realpath'.

Inspired-by: Myles English <mylesenglish@gmail.com>
2014-09-09 09:01:59 -04:00
Brad King daab3b3bdf Merge branch 'upstream-kwsys' into update-kwsys 2014-09-09 08:46:41 -04:00
Kitware Robot a06e49cf10 CMake Nightly Date Stamp 2014-09-09 00:01:10 -04:00
Kitware Robot 1251c1c8c5 CMake Nightly Date Stamp 2014-09-08 00:01:07 -04:00
Kitware Robot c4f447aec9 CMake Nightly Date Stamp 2014-09-07 00:01:07 -04:00
Kitware Robot 1fa2f43c2b CMake Nightly Date Stamp 2014-09-06 00:01:08 -04:00
Brad King 8d33209170 CTest: Add options to set generator platform
The ctest_configure command already reads the CTEST_CMAKE_GENERATOR
variable to get the value for the cmake -G option.  Read new variable
CTEST_CMAKE_GENERATOR_PLATFORM to pass on as CMAKE_GENERATOR_PLATFORM.

The "ctest --build-and-test" mode already has "--build-generator" to
specify the -G option to CMake.  Add a "--build-generator-platform" option
to specify a value to pass on as CMAKE_GENERATOR_PLATFORM.
2014-09-05 15:18:21 -04:00
Brad King b97736a23d VS: Implement CMAKE_GENERATOR_PLATFORM for VS >= 8
For VS generator names that do not specify the platform name, read
CMAKE_GENERATOR_PLATFORM to get it.

Extend the RunCMake.GeneratorPlatform test with a case covering
use of the x64 platform when the test generator is a Visual Studio
generator whose name does not specify a platform.
2014-09-05 15:03:56 -04:00
Brad King 0f1f1271e6 CMake: Add CMAKE_GENERATOR_PLATFORM option
Reject the option by default.  It will be implemented on a per-generator
basis.  Pass the setting into try_compile project generation.  Add cache
entry CMAKE_GENERATOR_PLATFORM and associated variable documentation to
hold the value persistently.

Add a RunCMake.GeneratorPlatform test to cover basic use cases for the
option.  Verify that CMAKE_GENERATOR_PLATFORM is empty by default, and
that it is rejected when the generator does not support a user setting.
2014-09-05 14:38:05 -04:00
Brad King 68d4280ac4 VS: Refactor internal default platform name selection
Rename the 'PlatformName' member to 'DefaultPlatformName' and make
sure it is only read through a 'GetPlatformName()' call.  This will
allow non-default names to be chosen later.
2014-09-05 14:02:58 -04:00
Brad King ad2a4776aa cmGlobalVisualStudio10Generator: Re-order some methods
Order SetSystemName and SetGeneratorToolset method declarations
and definitions as they are called.
2014-09-05 13:43:52 -04:00
Brad King 03b7b6cda1 cmGlobalGenerator: Call SetGeneratorToolset even for empty toolset
Move handling of an empty toolset name into the implementation of the
method.  This simplifies the VS 10 implementation of default toolset
selection because it has one code path that is always called.
2014-09-05 13:41:54 -04:00
Kitware Robot ff1fddb0bf CMake Nightly Date Stamp 2014-09-05 00:01:13 -04:00
Brad King f7c44eac4c Merge topic 'xcode-duplicate-file-refs'
d73f8828 Merge branch 'backport-xcode-duplicate-file-refs' into xcode-duplicate-file-refs
cf92fe2d Xcode: Generate per-target file references (#15111)
e7114226 Xcode: Generate per-target file references (#15111)
2014-09-04 09:48:27 -04:00
Brad King 1dbb46483a Merge topic 'xcode-assetcatalog-folder-type'
8eacc339 Xcode: Reference '.xcassets' folders as assetcatalog (#15125)
02aa5965 Xcode: Refactor internal file type extension extraction
2014-09-04 09:48:22 -04:00
Kitware Robot 13e4e0a831 CMake Nightly Date Stamp 2014-09-04 00:01:07 -04:00
Brad King cf92fe2d84 Xcode: Generate per-target file references (#15111)
Xcode requires a separate PBXFileReference for each target source group
that references a source file.  Xcode 6 now diagnoses re-use of the same
PBXFileReference from multiple source groups.  Add the referencing
target name to our internal map key so we use a per-target reference.
2014-09-03 12:48:53 -04:00
Brad King 8eacc3390a Xcode: Reference '.xcassets' folders as assetcatalog (#15125) 2014-09-03 10:33:50 -04:00
Brad King 02aa5965e6 Xcode: Refactor internal file type extension extraction
Move it earlier so it can be used for directories too.
2014-09-03 10:33:12 -04:00
Kitware Robot fb8acb74e8 CMake Nightly Date Stamp 2014-09-03 00:01:08 -04:00
Brad King 3338b2c3c8 Merge topic 'ctest-help-fix'
6767660f CTest: Add missing space in command line help.
2014-09-02 10:43:21 -04:00
Brad King 3db5e31ec1 Merge topic 'string-uuid'
87e476e8 Help: Add notes for topic 'string-uuid'
328e8694 StringUuid: Implement new string(UUID) sub-command.
2014-09-02 10:43:16 -04:00
Brad King bfc81c5934 Merge topic 'vs-windows-apps'
39fefde2 VS: Add test case for Windows Phone and Windows Store
89da8465 MSVC: Define 'WIN32' for Windows Store and Windows Phone
ed7f085f Help: Add notes for topic 'vs-windows-apps'
dd11ae8f VS: Do not compile C sources as WinRT (#15100)
b8e40538 VS: Mark Windows Phone and Store targets as App Containers
0432f062 VS: Always ignore ole32 on Windows Phone 8.0
e6ff2f8b VS: Generate Windows Metadata for WinRT components
ee48f4c7 VS: Generate Windows Phone and Windows Store projects as Unicode
cb1aceed VS: Add VS_WINRT_COMPONENT property to enable CompileAsWinRT
401269e4 VS: Handle .pfx files explicitly in generator
23782171 VS: Handle AppxManifest sources explicitly in generator
bc373c6d VS: Set Window Phone/Store app type in CMake-generated targets
d89b2889 VS: Mark CMake-generated targets as Utility in .vcxproj files
03ad8f28 CMakeDetermineCompilerABI: Link with standard libraries on MSVC
2014-09-02 10:16:37 -04:00
Brad King dd11ae8f0f VS: Do not compile C sources as WinRT (#15100)
The MSVC /ZW flag is valid only for C++ sources.  Whenever we enable
CompileAsWinRT for the whole target, disable it for all C sources.
Update the documentation of VS_WINRT_COMPONENT to drop the statement
about undefined behavior for non-C++ sources, because it is now
defined as expected.
2014-09-02 10:17:02 -04:00
Gilles Khouzam b8e405387e VS: Mark Windows Phone and Store targets as App Containers
* Add AppContainerApplication to non-UTILITY targets
* Generate app manifest and related files if project does not provide them.
  Place them in a per-target directory to avoid clashes.
* Mark WinRT components with WinMDAssembly
* Import Windows Phone 8.0 targets in .vcxproj files when necessary,
  and reference platform.winmd.

Inspired-by: Paul Annetts <paul@lightunobscured.com>
2014-09-02 10:17:02 -04:00
Kitware Robot 7a4a05d076 CMake Nightly Date Stamp 2014-09-02 00:01:07 -04:00
Nils Gladitz 6767660f2c CTest: Add missing space in command line help. 2014-09-01 09:18:51 +02:00
Kitware Robot 75abb6da97 CMake Nightly Date Stamp 2014-09-01 00:01:07 -04:00
Kitware Robot 5d7ce7a488 CMake Nightly Date Stamp 2014-08-31 00:01:08 -04:00
Kitware Robot 3919fc66e1 CMake Nightly Date Stamp 2014-08-30 00:01:07 -04:00
Kitware Robot 85a6ff0254 CMake Nightly Date Stamp 2014-08-29 00:01:08 -04:00
Nils Gladitz 328e869433 StringUuid: Implement new string(UUID) sub-command. 2014-08-28 15:13:54 +02:00
Kitware Robot 8785d05115 CMake Nightly Date Stamp 2014-08-28 00:01:07 -04:00
Kitware Robot 7c694368dd CMake Nightly Date Stamp 2014-08-27 00:01:08 -04:00
Kitware Robot 0a64c48d38 CMake Nightly Date Stamp 2014-08-26 00:01:07 -04:00
Kitware Robot c2a47a9ac3 CMake Nightly Date Stamp 2014-08-25 00:01:07 -04:00
Kitware Robot 238d2619d6 CMake Nightly Date Stamp 2014-08-24 00:01:09 -04:00
Kitware Robot 5b31fe3085 CMake Nightly Date Stamp 2014-08-23 00:01:07 -04:00
Brad King 8c30014982 Merge topic 'vs-masm'
cbd1d42b Help: Add notes for topic 'vs-masm'
0f8522a6 VS: Add MASM support to VS 8 and 9 (#8170, #14984)
a43f4400 VS: Move internal MasmEnabled member up to VS 7 generator
df3b007d VS: Add test for MASM support
e8727449 VS: Populate MASM tool build settings in .vcxproj files
0271a5f9 VS: Manually fix MASM flag table entries
1d662e48 VS: Generate MASM flag tables from MSBuild tool files
4f6940df VS: Fix ASM_MASM support in VS >= 10
d7866c52 ASM_MASM: Fix selection of ml64
0374abdb ASM_MASM: Add preprocessor definitions to compile lines
5b0a46e1 ASM_MASM: Do not require compiler to be a full path
802dbe52 cmLocalVisualStudio7Generator: Rename local 'lang' var
2014-08-22 10:37:55 -04:00
Kitware Robot fae23fec67 CMake Nightly Date Stamp 2014-08-22 00:01:11 -04:00
Gilles Khouzam 0432f0620d VS: Always ignore ole32 on Windows Phone 8.0
Inspired-by: Paul Annetts <paul@lightunobscured.com>
2014-08-21 09:28:21 -04:00
Gilles Khouzam e6ff2f8bb4 VS: Generate Windows Metadata for WinRT components
Inspired-by: Paul Annetts <paul@lightunobscured.com>
2014-08-21 09:28:20 -04:00
Gilles Khouzam ee48f4c7ae VS: Generate Windows Phone and Windows Store projects as Unicode 2014-08-21 09:28:20 -04:00
Gilles Khouzam cb1aceed8c VS: Add VS_WINRT_COMPONENT property to enable CompileAsWinRT
Deprecate VS_WINRT_EXTENSIONS and document VS_WINRT_COMPONENT as for VS
generators only.  Also define _WINRT_DLL in SHARED libraries in order to
get a .lib produced.

Inspired-by: Paul Annetts <paul@lightunobscured.com>
2014-08-21 09:28:20 -04:00
Gilles Khouzam 401269e43b VS: Handle .pfx files explicitly in generator
Teach cmGeneratorTarget to classify .pfx files as package
certificate key files.  Teach cmVisualStudio10TargetGenerator
to write them as PackageCertificateKeyFile in .vcxproj files.

Inspired-by: Minmin Gong <minmin.gong@gmail.com>
2014-08-21 09:28:20 -04:00
Gilles Khouzam 23782171ad VS: Handle AppxManifest sources explicitly in generator
Teach cmGeneratorTarget to extract .appxmanifest sources separately.
Teach cmVisualStudio10TargetGenerator to write them with the
AppxManifest tool in .vcxproj files.  This will allow us to detect
whether the project provides an application manfiest explicitly.
2014-08-21 09:28:20 -04:00
Brad King bc373c6d32 VS: Set Window Phone/Store app type in CMake-generated targets
Generate the ApplicationType and ApplicationTypeRevision elements in
.vcxproj files for CMake-generated targets like 'INSTALL' and
'RUN_TESTS'.  This was accidentally left out of commit 709cebde (VS:
Generate WindowsPhone and WindowsStore application types, 2014-07-31).
2014-08-21 09:28:19 -04:00
Brad King d89b28893d VS: Mark CMake-generated targets as Utility in .vcxproj files
Targets like 'INSTALL' and 'RUN_TESTS' are Utility targets.
Fix the VS >= 10 generator to set this correctly.  We already
do so for VS < 10.
2014-08-21 09:28:19 -04:00
Kitware Robot 4517d6b757 CMake Nightly Date Stamp 2014-08-21 00:01:07 -04:00
Brad King 0f8522a6c9 VS: Add MASM support to VS 8 and 9 (#8170, #14984) 2014-08-20 10:22:07 -04:00
Brad King a43f44000d VS: Move internal MasmEnabled member up to VS 7 generator
Move the member from cmGlobalVisualStudio10Generator to
cmGlobalVisualStudio7Generator to make it useful for earlier
versions of VS.  Set the member to true only starting with
cmGlobalVisualStudio8Generator since we will not implement
MASM support for versions less than VS 8.
2014-08-20 10:21:12 -04:00
Kitware Robot c570be01a4 CMake Nightly Date Stamp 2014-08-20 00:01:13 -04:00
Brad King ceaf578e02 Merge topic 'fix-lexer-open-square'
02b3cba9 cmListFileLexer: Fix lexing of single '[' character (#15092)
2014-08-19 09:48:36 -04:00
Brad King 9f4701bde9 Merge topic 'vs-refactor-includes'
5fcb42ab VS: Refactor include directory generation in .vcxproj files
8e026aa7 VS: Refactor include directory slash conversion
9633d112 cmIDEOptions: Add HasFlag method to test if a flag is set
84100102 cmIDEOptions: Add an AppendFlag overload to append multiple values
2014-08-19 09:48:33 -04:00
Kitware Robot afc63445dc CMake Nightly Date Stamp 2014-08-19 00:01:08 -04:00
Brad King f7ab238379 Merge topic 'vs-special-source-file-properties'
aa21001b Help: Add notes for topic 'vs-special-source-file-properties'
6fe770e1 VS: Add a source file property to set the hlsl shader type
9b4dc2ad VS: Add a source file property to mark content for Windows App deployment
f063a914 VS: Re-arrange WriteExtraSource to support tool configuration
2014-08-18 13:31:41 -04:00
Brad King cb57887809 Merge topic 'fix_mumps_file_parser'
6d66e396 CTEST: Fix MUMPS file parser and update test
2014-08-18 11:21:58 -04:00
Brad King e7dda7b9b7 Merge topic 'ctest_update_status_only'
653529ce CTest: Allow / to be in the build name, and be consistent with the build name
39b5df2f ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the version
2014-08-18 11:21:55 -04:00
Bill Hoffman 653529ce55 CTest: Allow / to be in the build name, and be consistent with the build name
Prior to this change / was not allowed in the build name. This was tested
with a CDash server and worked. In addition the safe build name was not
used everywhere. This caused mismatched build names to be in the xml
files going to CDash which caused different rows to be created for the
same build.
2014-08-18 11:22:18 -04:00
Brad King de547ca5c3 Merge topic 'cmake-gui-system-version'
1412960e cmake-gui: Pass CMAKE_SYSTEM_VERSION from cross-compile configuration
2014-08-18 11:21:52 -04:00
Brad King 654c8c0872 Merge topic 'cpack-ifw-generator'
e6496b60 CPackIFW: Revise this generator
2014-08-18 11:21:47 -04:00
Brad King 3353657919 Merge topic 'makefile-assign-escape-octothorpe'
fbf7a929 Makefile: Handle '#' in COMPILE_OPTIONS (#15070)
2014-08-18 11:21:45 -04:00
Bill Hoffman 39b5df2f37 ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the version
This allows ctest_update to get the current version without actually
changing the repository.  This is useful when using Jenkins or an
external project to update the source to a specific version, but you
still want the current version to show up in CDash.
2014-08-18 11:21:36 -04:00
Brad King 02b3cba9df cmListFileLexer: Fix lexing of single '[' character (#15092)
The lexer changes in commit v3.0.0-rc1~495^2 (Add Lua-style long
brackets and long comments to CMake language, 2013-08-06) accidentally
left out matching '[' as a single character in an unquoted argument.
Add a lexer rule to match it and extend the RunCMake.Syntax test to
cover this case.
2014-08-18 10:18:20 -04:00
Kitware Robot 25c07e61a3 CMake Nightly Date Stamp 2014-08-18 00:01:06 -04:00
Kitware Robot bbd1763d0f CMake Nightly Date Stamp 2014-08-17 00:01:06 -04:00
Kitware Robot 3bbdb2304b CMake Nightly Date Stamp 2014-08-16 00:01:06 -04:00
Joseph Snyder 6d66e396a1 CTEST: Fix MUMPS file parser and update test
The current file parser for a MUMPS routine uses a period "." as the
one of the signals that a line of MUMPS code is executable.  This is not
a correct assumption.  Add the period to the list of characters that CTest
will not consider the start of a line of code.

Update the test routine to have an entry point with code to match the scenario
mentioned above.
2014-08-15 10:50:36 -04:00
Kitware Robot 5fc8e666fb CMake Nightly Date Stamp 2014-08-15 00:01:06 -04:00
Kitware Robot eb3b5501c0 CMake Nightly Date Stamp 2014-08-14 00:01:14 -04:00
Brad King e872744990 VS: Populate MASM tool build settings in .vcxproj files 2014-08-13 14:48:03 -04:00
Brad King 0271a5f9ba VS: Manually fix MASM flag table entries
Drop '"[value]"' placeholders.
2014-08-13 14:48:01 -04:00
Brad King 1d662e4806 VS: Generate MASM flag tables from MSBuild tool files
Run cmparseMSBuildXML.py on masm.xml to generate our flag tables:

 python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/BuildCustomizations/masm.xml" > cmVS10MASMFlagTable.h
 python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V110/BuildCustomizations/masm.xml" > cmVS11MASMFlagTable.h
 python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V120/BuildCustomizations/masm.xml" > cmVS12MASMFlagTable.h
 python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V140/BuildCustomizations/masm.xml" > cmVS14MASMFlagTable.h

Fix up the declaration names at the top of each file.
2014-08-13 14:47:58 -04:00
Brad King 4f6940df8c VS: Fix ASM_MASM support in VS >= 10
Fix a typo introduced by commit ce511435 (stringapi: Use strings for the
languages, 2014-02-03) to check the language name correctly.
2014-08-13 14:47:56 -04:00
Brad King 5b0a46e1c9 ASM_MASM: Do not require compiler to be a full path
The compiler detection modules for this language do not yet know how
to find the full path to 'ml' or 'ml64', so do not require it.
2014-08-13 14:47:49 -04:00
Brad King 802dbe5239 cmLocalVisualStudio7Generator: Rename local 'lang' var
In the WriteGroup method, rename the 'lang' var to 'ppLang' since
it is specifically for the preprocessor definitions language selection.
2014-08-13 14:12:48 -04:00
Brad King 5fcb42ab69 VS: Refactor include directory generation in .vcxproj files
Use the cmVisualStudioGeneratorOptions flag map to add the
AdditionalIncludeDirectories element to the project file.
Move appending of %(AdditionalIncludeDirectories) to the
locations that populate the flag vectors instead of where
they are written out.
2014-08-13 14:09:24 -04:00
Brad King 8e026aa7f2 VS: Refactor include directory slash conversion
Convert each include directory to windows slashes once instead of
repeating it each time they are written out to the project file.
2014-08-13 14:08:42 -04:00
Brad King 9633d11279 cmIDEOptions: Add HasFlag method to test if a flag is set 2014-08-13 14:08:39 -04:00
Brad King 841001028a cmIDEOptions: Add an AppendFlag overload to append multiple values 2014-08-13 13:42:49 -04:00
Gilles Khouzam 1412960e89 cmake-gui: Pass CMAKE_SYSTEM_VERSION from cross-compile configuration
Although this value can be configured in the dialog, it was simply not
passed to the project as CMAKE_SYSTEM_VERSION.  Fix that.
2014-08-13 10:17:31 -04:00
Kitware Robot 5891b36640 CMake Nightly Date Stamp 2014-08-13 00:01:10 -04:00
Konstantin Podsvirov e6496b6023 CPackIFW: Revise this generator
CPack IFW generator updates:
- Group now can have script;
- Root package (for monolithic or one package installers) can be
  configured from group.

CMake updates:
- Native installation (no Unspecified component).
2014-08-12 15:20:59 -04:00
Brad King fbf7a92975 Makefile: Handle '#' in COMPILE_OPTIONS (#15070)
Teach the Makefile generators to escape '#' characters on the right hand
side of variable assignments in flags.make.  This is needed for flags
like '-Wno-error=#warnings'.  Otherwise the make tool treats them as
comments and leaves them out of the _FLAGS variable value.

Add a case to the CompileOptions test covering '#' in a COMPILE_OPTIONS
value, at least on compilers where it is known to be supported.
2014-08-12 13:56:21 -04:00
Brad King 1f8cfc3b5f Merge topic 'vs-windows-sdk-desktop-arm'
2b20110f MSVC: Select default standard libraries for ARM platform
2dfcf0ed VS: Fix generation of desktop applications for ARM
dbb5a7ee CMakeDetermineCompilerId: Fix detection for VS ARM platform
2014-08-12 10:17:22 -04:00
Brad King 6fe770e163 VS: Add a source file property to set the hlsl shader type
Create a VS_SHADER_TYPE source file property.

Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2014-08-12 10:08:49 -04:00
Brad King 9b4dc2ad4a VS: Add a source file property to mark content for Windows App deployment
Create a VS_DEPLOYMENT_CONTENT source file property, supporting
generator expressions, to compute whether a source file should be marked
as DeploymentContent or ExcludedFromBuild in Windows Phone and Windows
Store projects.

Inspired-by: Minmin Gong <minmin.gong@gmail.com>
2014-08-12 10:08:47 -04:00
Brad King f063a914c6 VS: Re-arrange WriteExtraSource to support tool configuration
Add a code path to write the tool open and close elements separately
so that we can add content in between to configure it.
2014-08-12 10:08:44 -04:00
Gilles Khouzam 2dfcf0ed07 VS: Fix generation of desktop applications for ARM
Add WindowsSDKDesktopARMSupport to the .vcxproj to avoid 'error MSB8022:
Compiling Desktop applications for the ARM platform is not supported.'
from VS.
2014-08-12 10:08:40 -04:00
Brad King 7365a9fe92 Merge topic 'vs-windows-phone-and-store'
5d3d9a22 Help: Add notes for topic 'vs-windows-phone-and-store'
401a00d9 VS: Set WindowsPhone and WindowsStore min VS version required
709cebde VS: Generate WindowsPhone and WindowsStore application types
72395ab2 VS: Add .sln "Deploy" mark for WindowsPhone and WindowsStore binaries
2074f581 MSVC: Add system libs for WindowsPhone and WindowsStore
c72f0887 MSVC: Add default WindowsPhone and WindowsStore compile flags
1c94558a MSVC: Disable incremental linking for WindowsPhone and WindowsStore
592098e2 Define 'WINDOWS_PHONE' and 'WINDOWS_STORE' variables
aa42a78f Add WindowsPhone and WindowsStore platform information modules
b94ddf6c CMakeDetermineCompilerId: Recognize WindowsPhone and WindowsStore
d7938bff VS: Select WindowsPhone and WindowsStore default toolsets
3abd150c VS: Save WindowsPhone and WindowsStore system internally
2014-08-12 10:03:03 -04:00
Brad King 354c792c9d Merge topic 'update-kwsys'
6c32d43c Merge branch 'upstream-kwsys' into update-kwsys
137a0251 KWSys 2014-08-11 (32023afd)
51c82c3a Merge branch 'upstream-kwsys' into update-kwsys
fe587db4 KWSys 2014-08-07 (4d526097)
2014-08-12 09:48:30 -04:00
Kitware Robot 9c103ae80a CMake Nightly Date Stamp 2014-08-12 00:01:14 -04:00
Brad King 401d82b3db Merge topic 'wix-acl'
975dc871 Help: Add notes for topic 'wix-acl'
12418f5c CPackWIX: Implement CPACK_WIX_ACL (Access Control List) property
2014-08-11 09:54:19 -04:00
Brad King 348999a125 Merge topic 'fix-CMP0047-IS_GNU-vars'
70796ef0 CMP0047: Fix CMAKE_COMPILER_IS_GNU(CC|CXX) in OLD behavior
2014-08-11 09:54:12 -04:00
Brad King 2fdd5d88a1 Merge topic 'cpack-ifw-generator'
ebe8d51b CPackIFW: Refactor and revise this generator
82382479 Doxygen: Add STRIP_FROM_PATH variable to doxyfile.in
3040ab8f Doxygen: Add CPack/IFW subdir to doxyfile.in INPUT section
2014-08-11 09:54:10 -04:00
Konstantin Podsvirov ebe8d51b11 CPackIFW: Refactor and revise this generator
Split the monolithic cmCPackIFWGenerator source into three parts:
cmCPackIFWGenerator, cmCPackIFWInstaller, and cmCPackIFWPackage
to isolate the implementations somewhat.

Add a COMMON option to the cpack_ifw_configure_component command to make
the data component common to its parent group.

Change the default packaging method to ONE_PACKAGE_PER_COMPONENT.
This is not incompatible because the CPack IFW generator has not
yet been in a release.
2014-08-11 09:40:28 -04:00
Brad King 6c32d43ce2 Merge branch 'upstream-kwsys' into update-kwsys 2014-08-11 09:31:29 -04:00
Brad King 51c82c3a66 Merge branch 'upstream-kwsys' into update-kwsys 2014-08-11 09:30:22 -04:00
Kitware Robot 3b0d634f70 CMake Nightly Date Stamp 2014-08-11 00:01:07 -04:00
Kitware Robot 58aca7be56 CMake Nightly Date Stamp 2014-08-10 00:01:08 -04:00
Nils Gladitz 12418f5c26 CPackWIX: Implement CPACK_WIX_ACL (Access Control List) property 2014-08-09 15:30:21 +02:00
Kitware Robot 35a8355b61 CMake Nightly Date Stamp 2014-08-09 00:01:12 -04:00
Kitware Robot a99b42a410 CMake Nightly Date Stamp 2014-08-08 00:01:12 -04:00
Brad King 70796ef026 CMP0047: Fix CMAKE_COMPILER_IS_GNU(CC|CXX) in OLD behavior
The implementation of CMP0047 detects the QNX compiler id internally,
then changes it to GNU after the language is fully enabled.  This is too
late to correctly set the old IS_GNU variables, so set them as part of
the policy OLD behavior.

Reported-by: Mike Lattanzio <mlattanzio@blackberry.com>
2014-08-07 11:24:57 -04:00
Brad King 6f0d1a38c8 Merge topic 'genex-build-property-no-head'
3f476bea Genex: Do not consider 'head' when evaluating build properties
2014-08-07 10:07:51 -04:00
Brad King df08d8575b Merge topic 'genex-context-makefile-non-null'
c6acbc90 Genex: Remove unnecessary check of context->Makefile
2014-08-07 10:07:49 -04:00
Kitware Robot 029edcdf3e CMake Nightly Date Stamp 2014-08-07 00:01:10 -04:00
Brad King 3f476beaf7 Genex: Do not consider 'head' when evaluating build properties
When $<TARGET_PROPERTY> names a build property like COMPILE_DEFINITIONS
but not the usage requirement (INTERFACE_) version of it, the value
should be that used to build the target.  It should not be influenced by
a dependent 'head' target like usage requirements are.

Extend the CompileDefinitions test with a case covering the corrected
behavior.

Reviewed-by: Stephen Kelly <steveire@gmail.com>
2014-08-06 10:13:04 -04:00
Brad King e56db93a7b Merge topic 'fix_value_not_used'
2cac483e Fix used value warning.
2014-08-06 09:26:34 -04:00
Brad King 78efe8d4fd Merge topic 'file-strings-encoding'
5b30ec28 file: Add ENCODING option to file(STRINGS) command (#10519)
ffa373e7 file: Refactor internal implementation of file(STRINGS)
2014-08-06 09:26:28 -04:00
Clinton Stimpson 5b30ec28f9 file: Add ENCODING option to file(STRINGS) command (#10519)
Support extraction of UTF-8 strings.
2014-08-06 09:23:47 -04:00
Clinton Stimpson ffa373e711 file: Refactor internal implementation of file(STRINGS)
Make room for encoding support.
2014-08-06 09:23:15 -04:00
Brad King c6acbc9063 Genex: Remove unnecessary check of context->Makefile
The context->Makefile is never NULL, but our checks for it convince
Clang scan-build that it might be NULL.  Then it warns about later
unchecked uses.  Drop the unnecessary checks.
2014-08-06 09:11:41 -04:00
Kitware Robot 4ec6ff8f9f CMake Nightly Date Stamp 2014-08-06 00:01:14 -04:00
Brad King 662daff0b2 Merge topic 'vs-default-ignore-libs'
c1580a92 VS: Always add IgnoreSpecificDefaultLibraries to .vcxproj files
29410df2 cmIDEOptions: Add an AppendFlag method to update multi-valued options
2014-08-05 10:53:27 -04:00
Bill Hoffman 2cac483e64 Fix used value warning.
packageFileName no longer has only one value in this function.  Move the
declaration into the loop and remove its initial and unused asignment.
2014-08-05 10:22:36 -04:00
Brad King 6548e171e3 Merge topic 'fix_truncation_logic_valgrind_output'
b35a7730 Fix truncation of valgrind output logic.
2014-08-05 09:22:35 -04:00
Brad King 99f6eab851 Merge topic 'fix_value_not_used'
aea40fcb Fix scan-build warning parsed is never read after being set.
2014-08-05 09:22:33 -04:00
Brad King 8fef9dd271 Merge topic 'pass_output_by_reference'
7762fffa Change output to be a reference and not a pointer.
2014-08-05 09:22:31 -04:00
Brad King e76b72fa83 Merge topic 'update-kwsys'
60c78367 Merge branch 'upstream-kwsys' into update-kwsys
158c6d1c KWSys 2014-08-04 (e787837a)
2014-08-05 09:22:30 -04:00
Kitware Robot a6c1d58a09 CMake Nightly Date Stamp 2014-08-05 00:01:08 -04:00
Bill Hoffman aea40fcb43 Fix scan-build warning parsed is never read after being set. 2014-08-04 15:38:56 -04:00
Bill Hoffman b35a7730ce Fix truncation of valgrind output logic.
This showed up because scan-build noticed outputFull was basically
a constant. Logic should be output all valgrind output.  Then output
regular test output until output limit is reached.
2014-08-04 15:28:48 -04:00
Bill Hoffman 7762fffa23 Change output to be a reference and not a pointer.
This avoids having to check the pointer value at each use which
was not being done.
2014-08-04 15:16:40 -04:00
Brad King 60c783676c Merge branch 'upstream-kwsys' into update-kwsys 2014-08-04 10:16:34 -04:00
Brad King ba60ff99ed Merge topic 'cmGlobalGenerator-Build-output-ref'
30983ebe cmGlobalGenerator: Take Build output argument by reference
2014-08-04 10:02:28 -04:00
Brad King ba62b3495b Merge topic 'vs-internal-system-apis'
0a5fe279 VS: Add internal API to get system name and version
2014-08-04 10:02:27 -04:00
Brad King 7338d4c211 Merge topic 'vs-refactor-sln-deploy'
fe161dc3 VS: Refactor logic deciding to add "Deploy" to the .sln file
2014-08-04 10:02:25 -04:00
Brad King 4e22fcf215 Merge topic 'vs-vcxproj-missing-newline'
66edd065 VS: Add missing newline after .vcxproj user prop import line
2014-08-04 10:02:23 -04:00
Brad King 628f02ba35 Merge topic 'link-line-dedup'
ccec6df8 Help: Add notes for topic 'link-line-dedup'
9f7e27fc De-duplicate shared library targets in generated link lines
2014-08-04 10:02:16 -04:00
Kitware Robot 1238b3656a CMake Nightly Date Stamp 2014-08-04 00:01:06 -04:00
Kitware Robot 6e1c35f25c CMake Nightly Date Stamp 2014-08-03 00:01:13 -04:00
Kitware Robot ed4b52b025 CMake Nightly Date Stamp 2014-08-02 00:01:09 -04:00
Kitware Robot b0f6d3eb99 CMake Nightly Date Stamp 2014-08-01 00:01:08 -04:00
Gilles Khouzam 401a00d9f9 VS: Set WindowsPhone and WindowsStore min VS version required
Generate the MinimumVisualStudioVersion element in the .vcxproj file
based on the version of WindowsPhone or WindowsStore to be targeted.
2014-07-31 14:09:05 -04:00
Gilles Khouzam 709cebde66 VS: Generate WindowsPhone and WindowsStore application types
Generate the ApplicationType and ApplicationTypeRevision elements in
.vcxproj files.
2014-07-31 14:09:03 -04:00
Gilles Khouzam 72395ab23e VS: Add .sln "Deploy" mark for WindowsPhone and WindowsStore binaries 2014-07-31 14:09:01 -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 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 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
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 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 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
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
Brad King 143b40051a VS: Convert 'WriteSource' tool argument to std::string 2014-07-29 15:06:24 -04:00
Daniel Pfeifer f931a18c33 CPack: add generators for .7z and .tar.xz (#13072, #14519) 2014-07-29 09:48:41 -04:00
Nils Gladitz 028ad31878 Genex: Simplify filesytem artifact code 2014-07-29 09:21:34 -04:00
Brad King 38065563b6 Merge topic 'vs10-system-hook'
e58f9753 VS: Add a hook to adapt to SystemName and SystemVersion
d0dd28fa VS: Save system name and version in global generator members
2014-07-29 08:52:24 -04:00
Brad King 104a4cb783 Merge topic 'vs10-comment-typo'
99e14a38 cmGlobalVisualStudio10Generator: Fix typo KHLM => HKLM
2014-07-29 08:52:23 -04:00
Brad King 05d064fec3 Merge topic 'xcode-6-librarian-flags'
608cf814 Xcode: Fix static library creation for Xcode 6 (#15038)
2014-07-29 08:52:17 -04:00
Kitware Robot b6acd96f7f CMake Nightly Date Stamp 2014-07-29 00:01:12 -04:00
Brad King e58f97531a VS: Add a hook to adapt to SystemName and SystemVersion
Add a virtual cmGlobalVisualStudio10Generator::InitializeSystem method
called from SetSystemName once the SystemName and SystemVersion members
have been populated.  This will give VS version-specific generators a
chance to recognize and adapt to the target system.
2014-07-28 16:26:00 -04:00
Brad King d0dd28fa92 VS: Save system name and version in global generator members
Add to cmGlobalVisualStudio10Generator members for SystemName and
SystemVersion and populate them in SetSystemName.
2014-07-28 16:25:08 -04:00
Gilles Khouzam 99e14a3865 cmGlobalVisualStudio10Generator: Fix typo KHLM => HKLM 2014-07-28 16:23:54 -04:00
Brad King 608cf8149c Xcode: Fix static library creation for Xcode 6 (#15038)
Xcode 6 introduced an 'OTHER_LIBTOOLFLAGS' setting for the "Other
Librarian Flags" of a static library.  Now 'OTHER_LDFLAGS' are ignored.
Teach the Xcode generator to choose the correct name for the build
setting based on the type of target and the version of Xcode.

Inspired-by: Jamie Kirkpatrick <jkp@spotify.com>
2014-07-28 13:06:33 -04:00
Brad King 0f06bb52ba Merge topic 'sanitizer_handle_more_pids'
5d40d88e Handle more than one process with sanitizer errors.
2014-07-28 10:35:54 -04:00
Brad King 2699ac5ef7 Merge topic 'fix-re-cmake-with-compiler'
8981513a CMakeDetermineCompiler: Simplify CMAKE_<LANG>_COMPILER default force-cache
731427a6 cmGlobalGenerator: Do not re-add CMAKE_<LANG>_COMPILER
2014-07-28 10:35:53 -04:00