Commit Graph

686 Commits

Author SHA1 Message Date
Pascal Bach db54d87287 Help: Add Windows CE cross-compiling to cmake-toolchains.7 manual 2014-09-19 13:18:31 -04:00
Pascal Bach 0d72451a05 Help: Add Cross Compiling subsections in cmake-toolchains.7 manual
Organize the "Cross Compiling" section into subsections by platform.
This will make it easier to add more subsections for more platforms.
2014-09-19 13:10:31 -04:00
Brad King 0f2defba7d Merge topic 'doc-set_test_properties-example'
d8054987 Help: Fix set_tests_properties documentation typo
2014-09-15 10:27:41 -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 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
Andrew Bauer d805498701 Help: Fix set_tests_properties documentation typo
The example for FAIL_REGULAR_EXPRESSION should actually name it.
2014-09-12 11:32:50 -04:00
Nils Gladitz 188a1f236e If: Introduce policy CMP0054 - don't dereference quoted variables in if() 2014-09-11 21:23:17 +02:00
Pascal Bach 4b4555de3e Help: Document the WINCE variable 2014-09-11 08:44:20 -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 3d290c111a Merge topic 'string-uuid-doc-fix'
e6ba52e8 StringUuid: Mark UPPER flag optional in sub-command synopsis
2014-09-10 11:23:15 -04:00
Nils Gladitz e6ba52e8e0 StringUuid: Mark UPPER flag optional in sub-command synopsis 2014-09-10 16:10:13 +02:00
Brad King a5c6ae69f3 Merge topic 'doc-add_custom_command-multiple-commands'
1fdf4ff0 Help: Suggest in add_custom_command how to create a script (#15112)
2014-09-09 11:23:32 -04:00
Brad King 1fdf4ff06a Help: Suggest in add_custom_command how to create a script (#15112) 2014-09-08 14:17:36 -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 4f7d0c421a Help: Document CMAKE_VS_PLATFORM_NAME variable 2014-09-05 14:23:35 -04:00
Brad King ecf43f0dc7 Merge topic 'doc-add_custom_command-multiple-commands'
412926d0 Help: Clarify add_custom_command multiple command behavior (#15112)
2014-09-04 09:48:32 -04:00
Brad King 0ad4f28fc0 Merge topic 'doc-try_compile-debug-advice'
abbe91c5 Help: Clarify --debug-trycompile usage with try_compile
2014-09-04 09:48:30 -04:00
Brad King 9651cb70ae Merge topic 'InstallRequiredSystemLibraries-vs-openmp'
d538c55e Help: Add notes for topic 'InstallRequiredSystemLibraries-vs-openmp'
bdb5007b InstallRequiredSystemLibraries: Install OpenMP runtime libs (#15117)
2014-09-04 09:48:17 -04:00
Brad King d538c55ea4 Help: Add notes for topic 'InstallRequiredSystemLibraries-vs-openmp' 2014-09-04 09:44:49 -04:00
Alan W. Irwin abbe91c58c Help: Clarify --debug-trycompile usage with try_compile
Explain that try_compile calls need to be protected with conditions to
avoid running more than once so that it is easy to isolate a single
try_compile to perform with --debug-trycompile.
2014-09-03 11:19:52 -04:00
Brad King 412926d03a Help: Clarify add_custom_command multiple command behavior (#15112)
Explicitly say that the commands are not composed into a stateful
script.
2014-09-02 15:13:50 -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 87e476e8e4 Help: Add notes for topic 'string-uuid' 2014-09-02 10:33:39 -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 ed7f085f96 Help: Add notes for topic 'vs-windows-apps' 2014-09-02 10:17:03 -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
Nils Gladitz 328e869433 StringUuid: Implement new string(UUID) sub-command. 2014-08-28 15:13:54 +02: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
Brad King b4d3e7a7b0 Merge topic 'FindXerces'
20407006 FindXerces: New module to find Apache Xerces-C++
2014-08-22 10:37:53 -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
Roger Leigh 050caef3aa FindIce: New module to find ZeroC Ice
- autodetects Ice on all major platforms
- allows building with all supported Visual Studio versions on Windows
- autodetects the slice path on most platforms
- separately detects the Ice programs, headers, slice files and
  libraries so that any Ice configuration or installation errors can
  be accurately reported, making diagnosis of Ice problems simpler
2014-08-21 14:45:01 +02:00
Roger Leigh 204070068d FindXerces: New module to find Apache Xerces-C++ 2014-08-21 14:30:30 +02:00
Brad King cbd1d42b34 Help: Add notes for topic 'vs-masm' 2014-08-20 14:58:47 -04:00
Brad King c91a65f812 Merge topic 'FindOpenMP-add-Fortran-support'
d0678408 FindOpenMP: Add support for Fortran (#14656)
2014-08-19 09:48:41 -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
Nicolas Bock d067840854 FindOpenMP: Add support for Fortran (#14656) 2014-08-18 11:25:21 -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
Brad King fc8a888d2c Merge topic 'add-CheckFortranSourceCompiles'
7386d0d6 Add CheckFortranSourceCompiles module (#14656)
2014-08-18 11:21:50 -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 7386d0d6df Add CheckFortranSourceCompiles module (#14656)
Copy the CheckCSourceCompiles module and port it to Fortran.
Extend the FortranOnly test to try using the new module.

Suggested-by: Nicolas Bock <nicolasbock@gmail.com>
2014-08-18 11:18:48 -04:00
Brad King e619964052 Merge topic 'doc-CMP0022-compat-version-typo'
91857e04 CMP0022: Fix version documented to support LINK_PUBLIC/LINK_PRIVATE
2014-08-13 11:10:54 -04:00
Brad King 91857e0423 CMP0022: Fix version documented to support LINK_PUBLIC/LINK_PRIVATE
These have been available since 2.8.7, not 2.8.9 as the docs said.
2014-08-13 10:59:30 -04:00
Brad King aa21001bd3 Help: Add notes for topic 'vs-special-source-file-properties' 2014-08-12 10:09:20 -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 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 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 52584050c2 Merge topic 'CMakePackageConfigHelpers-INSTALL_PREFIX'
704830ae Help: Add notes for topic 'CMakePackageConfigHelpers-INSTALL_PREFIX'
e3007c92 CMakePackageConfigHelpers: Add unit tests for INSTALL_PREFIX option
d057bf85 CMakePackageConfigHelpers: Add INSTALL_PREFIX option
f3dd116c CMakePackageConfigHelpers: restructure documentation and document commands
64eca30d CMakePackageConfigHelpers: Remove unused variable
2014-08-11 09:54:08 -04:00
Brad King 704830ae1f Help: Add notes for topic 'CMakePackageConfigHelpers-INSTALL_PREFIX' 2014-08-11 09:49:14 -04:00
Brad King 975dc87174 Help: Add notes for topic 'wix-acl' 2014-08-11 09:47:09 -04:00
Nils Gladitz 12418f5c26 CPackWIX: Implement CPACK_WIX_ACL (Access Control List) property 2014-08-09 15:30:21 +02:00
Brad King a16a344b4b Merge topic 'doc-add_custom_command'
5bf1c5cc Help: Document add_custom_command PRE_BUILD/PRE_LINK for exe/lib only (#15059)
2a58c872 Help: Revise and format 'add_custom_command' docs
cb88742d Help: Remove stray content from 'add_custom_command' docs
2014-08-06 09:26:32 -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
Brad King 5d3d9a22b2 Help: Add notes for topic 'vs-windows-phone-and-store' 2014-08-05 10:49:09 -04:00
Brad King 5bf1c5cce1 Help: Document add_custom_command PRE_BUILD/PRE_LINK for exe/lib only (#15059)
State explicitly that the PRE_LINK mode is not for targets created by
the add_custom_target command.  The existing wording for PRE_BUILD being
treated as PRE_LINK by non-VS generators will now imply this restriction
for PRE_BUILD too.
2014-08-05 10:14:35 -04:00
Brad King 2a58c872d7 Help: Revise and format 'add_custom_command' docs
Format the reStructuredText markup manually.  Organize the command
options into a definition list.  Use inline markup to cross-reference
related documents.
2014-08-05 10:12:59 -04:00
Brad King cb88742da4 Help: Remove stray content from 'add_custom_command' docs
Remove leftover generator expression documentation that is now in
the cmake-generator-expressions(7) manual.
2014-08-05 09:59:10 -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
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 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
Brad King ccec6df85f Help: Add notes for topic 'link-line-dedup' 2014-07-30 11:41:05 -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
Daniel Pfeifer f931a18c33 CPack: add generators for .7z and .tar.xz (#13072, #14519) 2014-07-29 09:48:41 -04:00
Brad King 56e6975ce9 ExternalProject: Recognize lzma-compressed files (#13515)
Add .7z, .tar.xz, and .txz file extensions.

Inspired-by: Joke de Buhr <joke@seiken.de>
Inspired-by: David Cole <DLRdave@aol.com>
2014-07-29 09:32:27 -04:00
Brad King 99a9034759 Merge topic 'doc-tll-flags'
8c03f157 Help: Clarify target_link_libraries treatment of flags (#15034)
2014-07-29 08:52:15 -04:00
Brad King 4d574ee3a1 Merge topic 'add-liblzma'
65a0ea45 Help: Add notes for topic 'add-liblzma'
8436d181 CMake: Enable use of liblzma in libarchive (#14504)
73eab246 liblzma: Avoid defining a 'restrict' macro
90e7a4d4 liblzma: Disable warnings to avoid changing 3rd party code
c20b4502 liblzma: Port to VS 6, 7.0
7a92eddb liblzma: Port from C99 to C89/90
b2a07ca4 liblzma: Add CMake build system
d44ad161 liblzma: Remove unused Makefile.* files
a53caea3 liblzma: Add README-CMake.txt
133d42fe Merge branch 'liblzma-upstream' into add-liblzma
c289e634 liblzma 5.0.5-gb69900ed (reduced)
8510533f liblzma: Add .gitattributes to ignore whitespace checks
2014-07-29 08:52:08 -04:00
Brad King 65a0ea456d Help: Add notes for topic 'add-liblzma' 2014-07-29 08:45:36 -04:00
Brad King 8c03f15776 Help: Clarify target_link_libraries treatment of flags (#15034)
Explain that link flags should not be used in transitive contexts.
2014-07-28 12:45:06 -04:00
Brad King b9be4d2177 Help: Add notes for topic 'cpack-ifw-generator' 2014-07-28 10:24:03 -04:00
Konstantin Podsvirov 44850a267d CPack: Add an "IFW" generator for Qt Framework Installer
Add support for packaging with the Qt Framework Installer tools:

 http://qt-project.org/doc/qtinstallerframework/index.html

Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
2014-07-28 10:24:03 -04:00
Nils Gladitz 5bbec4e398 Help: Document deprecated properties.
Document the COMPILE_DEFINITIONS_<Config> properties as deprecated.
Add new sections for deprecated properties and move POST_INSTALL_SCRIPT
and PRE_INSTALL_SCRIPT there as well.
2014-07-21 19:48:48 +02:00
Brad King 10c5c82c1e Help: Add notes for topic 'generalize-LINK_ONLY' 2014-07-16 14:26:18 -04:00
Brad King 0400cd5dd1 Make $<LINK_ONLY> available to projects (#14751)
Previously this generator expression was used internally by the
target_link_libraries command to honor private linking requirements of
static libraries in their INTERFACE_LINK_LIBRARIES.  Remove the check
that limits $<LINK_ONLY> to this use case to make it available for
project code to use too.
2014-07-16 13:28:44 -04:00
Brad King 0bbebd3ca1 Merge topic 'doc-package-target-import-once'
0fee3f47 Revert "Help: Update cmake-packages.7 examples to import targets only once"
2014-07-15 10:48:13 -04:00
Brad King 0fee3f4712 Revert "Help: Update cmake-packages.7 examples to import targets only once"
This reverts commit cfab942e5f.
Since commit v2.8.11~362^2 (Generate an early-return guard in target
Export files, 2012-11-30) an external include guard is not needed.
2014-07-15 08:59:11 -04:00
Brad King 9124ec1c94 Merge topic 'doc-genex-id-values'
5690a963 Help: Link to variables corresponding to id and version expressions (#15012)
2014-07-14 09:38:02 -04:00
Brad King 47bf22e121 Merge topic 'interface-sources-target-objects'
affe9d56 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)
2014-07-14 09:37:52 -04:00
Brad King 5690a963e9 Help: Link to variables corresponding to id and version expressions (#15012)
In the cmake-generator-expressions(7) manual, link to the variables
that correspond to the PLATFORM_ID, C_COMPILER_ID, CXX_COMPILER_ID,
C_COMPILER_VERSION, and CXX_COMPILER_VERSION generator expressions.
2014-07-14 09:35:23 -04:00
Brad King affe9d56a2 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)
Fix cmTarget::GetSourceFiles to set EvaluateForBuildsystem on the
$<TARGET_PROPERTY:...,INTERFACE_SOURCES> generator expression so that
the $<TARGET_OBJECTS> generator expression is allowed within an
INTERFACE_SOURCES value.

Extend the InterfaceLibrary test to cover this case.  Extend the
RunCMake.TargetObjects test to cover failure of $<TARGET_OBJECTS>
when used through $<TARGET_PROPERTY:...,INTERFACE_SOURCES> in a
non-buildsystem context.
2014-07-14 09:09:32 -04:00
Brad King cfab942e5f Help: Update cmake-packages.7 examples to import targets only once
Package configuration files should load their targets files at most once
in a given scope.  Update our ClimbingStats example to show how to do
this.
2014-07-09 12:57:19 -04:00
Brad King 55d3e88fb7 Merge topic 'thread-sanitizer'
7c80ce6f Help: Add notes for topic 'thread-sanitizer'
49948f72 ctest_memcheck: Add support for ThreadSanitizer
2014-07-09 10:02:48 -04:00
Brad King e187351c5f Merge topic 'allow-OBJECT-library-extra-sources'
2c470b77 add_library: Allow arbitrary non-linked sources in OBJECT libraries
de4f3e2c Tests: Fix broken dependency in ObjectLibrary test
54bf5858 Tests: Resolve TODO comment left in ObjectLibrary test
2014-07-09 10:02:45 -04:00
Brad King 7c80ce6f05 Help: Add notes for topic 'thread-sanitizer' 2014-07-09 09:50:45 -04:00
Bill Hoffman 49948f7221 ctest_memcheck: Add support for ThreadSanitizer
This commit adds support for ThreadSanitizer to ctest.  ThreadSanitizer
is part of the clang compiler and also gcc 4.8 and later. You have to
compile the code with special flags. Then your code gets the the
ThreadSanitizer ability built into it. To pass options to the
ThreadSanitizer you use an environment variable. This commit teaches
ctest to parse the output from ThreadSanitizer and send it to CDash.
2014-07-09 09:48:35 -04:00
Brad King 2c470b775a add_library: Allow arbitrary non-linked sources in OBJECT libraries
Loosen this restriction on OBJECT libraries to allow source files of any
name to be generated by custom commands or listed for reference in IDE
projects so long as they would not affect linking of a normal library.
Update the rejection message to be more specific about the looser
restriction.

Extend the ObjectLibrary test to cover a ".cmake" file generated by a
custom command in an OBJECT library.
2014-07-09 09:43:42 -04:00
Brad King d17688e425 Help: Add notes for topic 'export-from-obj-libs' 2014-07-07 14:44:28 -04:00
Brad King 31ec558be1 Merge topic 'FindVTK-drop-4.0-support'
117e7e11 FindVTK: Drop support for finding VTK 4.0
2014-07-01 09:23:15 -04:00
Brad King 117e7e1177 FindVTK: Drop support for finding VTK 4.0
Convert to a simple thin-wrapper around the find_package(VTK NO_MODULE).
This makes the code much simpler and improves error messages.
2014-07-01 08:41:52 -04:00
Brad King 1563668fd0 Merge topic 'vs14-generator'
f0e298ad Help: Add notes for topic 'vs14-generator'
5c105140 Tests: Simplify LoadCommand tests
b1cbd577 FindBoost: Add -vc140 mangling for VS 14
bdc7d9c8 VS14: Fix Cl and Link flag tables as previous versions
d96b3f68 VS14: Generate flag tables from MSBuild v140 tool files
65624c39 VS14: Add Visual Studio 14 generator (#14982)
8635ac23 Tests/Preprocess: Remove unnecessary VS version tests
2014-06-30 14:50:34 -04:00
Brad King f0e298ad66 Help: Add notes for topic 'vs14-generator' 2014-06-27 10:19:27 -04:00
Brad King 3138da6e67 Merge topic 'install-messages'
d19b64d6 install(DIRECTORY): Add MESSAGE_NEVER option to avoid output (#13761)
c9568de5 install: Add CMAKE_INSTALL_MESSAGE variable (#13761)
ec7cf7ea install: Thread message level setting through internal API
abebcd23 file(INSTALL): Add undocumented options to control output verbosity
464567a5 file(INSTALL): Report existing DIRECTORY as Up-to-date
f701b0b7 file(INSTALL): Do not pre-create DESTINATION for DIRECTORY
f0a01962 cmInstallTargetGenerator: Drop default constructor arguments
67815894 Help: Add install() command document section headers
2014-06-27 09:42:42 -04:00
Brad King 65624c39e3 VS14: Add Visual Studio 14 generator (#14982)
Call the generator "Visual Studio 14" without any year because this
version of VS does not provide a year in the product name.

Copy cmGlobalVisualStudio12Generator to cmGlobalVisualStudio14Generator
and update version numbers accordingly.  Add the VS14 enumeration value.
Teach the platform module Windows-MSVC to set MSVC14 and document the
variable.  Teach module InstallRequiredSystemLibraries to look for the VS
14 runtime libraries.

Teach tests CheckCompilerRelatedVariables, VSExternalInclude, and
RunCMake.GeneratorToolset to treat VS 14 as they do VS 10, 11, and 12.

Co-Author: Pawel Stopinski <diokhan@go2.pl>
2014-06-25 14:51:19 -04:00
Brad King bb2b374dc1 Merge topic 'find-module-targets'
1d8de85d Help: Add notes for topic 'find-module-targets'
144b255b FindGLUT.cmake: Add imported targets and documentation
c90c7fca FindX11: fix documentation formatting error
3d82a223 FindGLEW: Add imported target and documentation
5a7ff421 FindZLIB: Add imported target and documentation
2014-06-25 10:53:03 -04:00
Brad King 1d8de85d4e Help: Add notes for topic 'find-module-targets' 2014-06-25 10:50:11 -04:00
Brad King d19b64d671 install(DIRECTORY): Add MESSAGE_NEVER option to avoid output (#13761)
Installing large directories, e.g., the output of a doxygen run, prints
one line per file resulting in too much noise in the build output.  Add
an option to the install(DIRECTORY) command to not print anything upon
make install.

Extend the RunCMake.install test with cases covering MESSAGE_NEVER
behavior of the install(DIRECTORY) command.

Suggested-by: Stefan Eilemann <Stefan.Eilemann@epfl.ch>
2014-06-24 13:18:20 -04:00
Brad King c9568de52c install: Add CMAKE_INSTALL_MESSAGE variable (#13761)
Create a variable to allow users to control which installation
messages are printed.  In particular, provide a "LAZY" setting
that prints "Installing" messages but not "Up-to-date" messages.
This is desirable for incremental re-installations.

Suggested-by: J Decker <d3ck0r@gmail.com>
2014-06-24 13:18:20 -04:00
Brad King 67815894ca Help: Add install() command document section headers
Use section headers instead of horizontal dividers so that one may link
to the sections.
2014-06-24 12:52:11 -04:00
Brad King 7abd574798 cmake: Add '-E env' command-line tool
Extend the cmake command-line interface to support

 cmake -E env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...

This will be useful to run processes with modified environments
without using a shell or a full "cmake -P" script to wrap it.

Extend the RunCMake.CommandLine test to cover success and failure cases.

Inspired-by: Jonathan Bohren <jbo@jhu.edu>
2014-06-23 16:47:49 -04:00
Brad King e2789429aa Merge topic 'features-cleanups'
f0a0f3dc WCDH: Fix compiler id test for compatibility macros.
627ad96b Project: Detect other compilers before detecting Clang.
bc950169 WCDH: Remove noise from generated defines.
eecd93fc Features: Escape the COMPILE_OPTIONS for dialects.
2014-06-16 08:54:48 -04:00
Stephen Kelly bc950169c7 WCDH: Remove noise from generated defines.
The DECL part is redundant, and the language part is not needed. The
source language and context already determines the language, so there
is no need to repeat it in the define name.
2014-06-13 18:50:10 +02:00
Brad King 20f5460288 Help: Link to Object Library docs from add_library 2014-06-12 13:59:13 -04:00
Brad King a81531817e Help: Organize add_library command documentation
Add a section for each library type signature.  Add a table of contents
at the top for the html builder.
2014-06-12 13:59:00 -04:00
Brad King d8319f0fc9 Help: Update style guide to use section headers for command signatures
In order to be able to link to specific command signatures we need to
use a section header instead of a horizontal separator.
2014-06-12 13:57:36 -04:00
Brad King 50dca47106 Help: Organize Binary Targets section of cmake-buildsystem.7
Add a subsection for Binary Executables just before Binary Library
Types.  Divide the library section into Normal Libraries and Object
Libraries.
2014-06-12 13:42:01 -04:00
Brad King 4054534cc6 Help: Mention INTERFACE_SOURCES as settable for INTERFACE libs
The add_library(INTERFACE) and Interface Libraries documentation
list all the INTERFACE_* properties and target_* commands that
can be used to define the interface.  Add INTERFACE_SOURCES
and target_sources() to these lists for completeness.
2014-06-12 13:31:01 -04:00
Brad King 5f18b28916 Merge topic 'FindOpenGL-target'
4883813f Help: Add notes for topic 'FindOpenGL-target'
2014-06-09 16:26:57 -04:00
Brad King 4883813f49 Help: Add notes for topic 'FindOpenGL-target' 2014-06-09 11:19:25 -04:00
Brad King 559ae18901 Help: Add notes about new OpenWatcom compiler id and versioning 2014-06-05 14:50:59 -04:00
Brad King 88818b6805 Merge topic 'delay-generator-toolset'
528e8af1 Allow a toolchain file to specify a generator toolset
98afb454 VS: Split user- and generator-provided PlatformToolset
3e9f6e36 Xcode: Rename internal variable {Platform => Generator}Toolset
2014-06-05 11:31:00 -04:00
Brad King e319a3e1e5 Merge topic 'minor-help-cleanup'
7eef823e Help: Add comma to assist parsing of ctest_build command docs.
5fb9b16d Help: Document that file(GENERATE) re-writes only when needed.
95135ac3 Help: Add missing external link marker.
2014-06-05 10:55:33 -04:00
Stephen Kelly 7eef823e14 Help: Add comma to assist parsing of ctest_build command docs. 2014-06-05 11:58:49 +02:00
Stephen Kelly 5fb9b16d0c Help: Document that file(GENERATE) re-writes only when needed. 2014-06-05 11:58:02 +02:00
Stephen Kelly 95135ac336 Help: Add missing external link marker. 2014-06-05 11:57:25 +02:00
Brad King 528e8af19f Allow a toolchain file to specify a generator toolset
Delay use of CMAKE_GENERATOR_TOOLSET until the CMakeSystem.cmake
file has been configured and loaded during the first project() or
enable_language() command.  This gives the toolchain file named by
CMAKE_TOOLCHAIN_FILE a chance to set CMAKE_GENERATOR_TOOLSET.  This
point is still early enough to set the generator toolset prior to
the initialization of any languages that might use the toolset.

The cmake::GeneratorToolset member variable remains an indication
of what was specified by the -T option or loaded from the cache.
It does not need to be updated based on the toolchain file setting.
The cmMakefile::TryCompile can still pass cmake::GeneratorToolset
into the inner instance because the try-compiled project will do
platform and language initialization using the CMakeSystem module
configured for the outer project.

Extend the RunCMake.GeneratorToolset test with cases that use a
toolchain file to set CMAKE_GENERATOR_TOOLSET.
2014-06-04 14:27:02 -04:00
Joseph Snyder 50daf239b0 CTest: Generalize Cobertura coverage format handling
Add support for Cobertura coverage files written by Java.

Add a test which uses the report from a Java run of Cobertura to calculate coverage.

In the documentation of CTEST_COVERAGE_COMMAND, give a sample .sh file to merge
the Cobertura .ser files and generate the XML report from the merged file.
2014-06-04 14:26:19 +00:00
Brad King 34c6fd3ac0 Help: Convert CTest Script variable references to cross-references
In the ctest(1) manual and ctest_start() command documentation, convert
mentions of CTest Script variables to cross-references so they will be
rendered as links.
2014-06-03 14:34:13 -04:00
Brad King de710f37e8 Help: Add placeholder documents for CTest Script variables
Provide a minimal explanation of each variable by simply naming
the corresponding ctest(1) setting and linking to the ctest(1)
manual.
2014-06-03 14:33:07 -04:00
Brad King a38cc33824 Merge topic 'doc-include-dir-props'
907e422b Help: Explain build/install-tree include dirs in more places (#14946)
2014-06-03 09:03:51 -04:00
Brad King 793b64e499 Help: Document section header underline hierarchy in cmake-developer.7
Explicitly specify the sequence of underline characters we use in the
CMake documentation.  It is the same sequence as that suggested in the
Sphinx documentation, but we have our own descriptions.
2014-06-02 14:04:00 -04:00
Brad King 05bd31ab3e Help: Organize documentation style sections in cmake-developer.7
Now that the style guidelines have section titles instead of numbers,
organize them into more well-defined sections.
2014-06-02 14:02:47 -04:00
Brad King eaafe756d5 Help: Add documentation style section headers to cmake-developer.7
Give the style guides titles instead of numbers so we can link to them.
2014-06-02 14:01:24 -04:00
Brad King 4207b3a3bb Help: Use "^^^^" for subsubsection headers
This is the convention suggested in the Sphinx documentation and is
already used in several other places in the CMake documentation.
Update a few places where we were using other characters.
2014-06-02 14:00:33 -04:00
Brad King 907e422bc8 Help: Explain build/install-tree include dirs in more places (#14946)
Explain how to use $<BUILD_INTERFACE> and $<INSTALL_INTERFACE> directly
in the documentation of the target_include_directories command and
INTERFACE_INCLUDE_DIRECTORIES target property.  Otherwise readers need
to notice the link to the cmake-buildsystem(7) manual and find the
example in that to understand the need for these expressions.

Also fix the explanation in cmake-buildsystem(7) to not claim that
relative paths may be used inside a BUILD_INTERFACE expression.
2014-06-02 10:49:28 -04:00
Brad King 7b888a5624 Merge topic 'feature-extensions-by-default'
60a981ea Features: Enable compiler extensions by default.
2014-06-02 10:44:28 -04:00
Brad King 4b8ec7514a Merge topic 'doc-ctest-settings'
2d57a390 Help: Document ctest dashboard client usage
28f73dff Help: Document ctest_start initial checkout command variables
2014-06-02 10:44:26 -04:00
Stephen Kelly 6fbd9a8f3d Help: Add code example for INSTALL_INTERFACE to cmake-buildsystem. 2014-06-02 10:28:23 -04:00
Stephen Kelly 60a981ea8e Features: Enable compiler extensions by default.
Compilers enable their extensions by default, and disabling them
implicitly can lead to results which are surprising or non-obvious
to debug.

 http://public.kitware.com/pipermail/cmake-developers/2014-May/010575.html
 http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/10214
 https://www.mail-archive.com/cmake-developers@cmake.org/msg10116.html
 (Compiler feature extensions by default, 29 May 2014)
2014-05-31 12:16:12 +02:00
Brad King b1f4e6206b Help: Reference cmake_minimum_required from cmake_policy docs
Note in a few places of the cmake_policy() command documentation
that the cmake_minimum_required() command can set policies too.

Inspired-by: Peter Kümmel <syntheticpp@gmx.net>
2014-05-30 15:20:24 -04:00
Brad King 69a23cb2a2 Help: Format cmake_policy command documentation
Add reStructuredText markup manually to improve formatting of the
documentation.  Organize the documentation into subsections.
2014-05-30 15:20:24 -04:00
Peter Kümmel 0c4835a3e8 Help: Add missing space in policy CMP0020 description 2014-05-30 15:20:13 -04:00
Brad King 2d57a390da Help: Document ctest dashboard client usage
Extend the ctest(1) manual with a section describing configuration
and usage of CTest as a CDash software quality dashboard client.
2014-05-30 14:16:47 -04:00
Brad King 28f73dffbf Help: Document ctest_start initial checkout command variables
Describe the behavior of the ctest_start() command when the
CTEST_CHECKOUT_COMMAND or CTEST_CVS_CHECKOUT variable is set.
2014-05-30 14:15:55 -04:00
Brad King 1468e986e1 Merge topic 'cxx14-features'
dd043c3f Features: Add support for C++14 features.
2014-05-29 09:58:37 -04:00
Brad King 8df4d03d99 Merge topic 'cpack-properties'
d0b1d2a6 CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties
15a8af21 Add an "installed file" property scope
2014-05-28 12:34:36 -04:00
Nils Gladitz d0b1d2a65b CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties 2014-05-28 12:30:44 -04:00
Nils Gladitz 15a8af21e8 Add an "installed file" property scope
Teach set_property and get_property an "INSTALL" property type to be
associated with install-tree file paths.  Make the properties available
to CPack for use during packaging.  Add a "prop_inst" Sphinx domain
object type for documentation of such properties.
2014-05-28 12:28:18 -04:00
Brad King 41a0fde1c9 Merge topic 'doc-file-command'
d74ed543 Help: Format and revise file() command documentation
2014-05-27 09:46:41 -04:00
Brad King 07994577fc Merge topic 'doc-CTEST_BUILD_FLAGS'
b8d6ab60 Help: describe CTEST_BUILD_FLAGS
2014-05-27 09:46:39 -04:00
Brad King c531552462 Merge topic 'compile-features-manual'
ca5d990f Help: Add a manual for compiler feature control.
b4d33f64 Features: Add missing variable reference in docs.
2014-05-27 09:46:35 -04:00
Brad King 03a3ee222b Merge topic 'variable_watch-no-allowed-access'
d8498003 variable_watch: Remove undocumented and redundant access type
2014-05-27 09:46:32 -04:00
Stephen Kelly ca5d990f02 Help: Add a manual for compiler feature control.
Link to it from the documentation of related properties, variables
and commands.

Extend the cmake-developer(7) documentation with notes on
extending feature support for compilers.
2014-05-27 09:35:00 -04:00
Brad King d74ed5431a Help: Format and revise file() command documentation
Organize the documentation by sub-command to keep the signatures and
their descriptions nearby.  Use inline and explicit reST markup.  Revise
wording as necessary for the updated layout.  Clarify behavior of the
file(GENERATE) command w.r.t. conflicting file names.
2014-05-23 16:16:47 -04:00
Rolf Eike Beer b8d6ab6040 Help: describe CTEST_BUILD_FLAGS 2014-05-23 19:45:33 +02:00
Stephen Kelly dd043c3f21 Features: Add support for C++14 features.
Record the features implemented by GNU 4.9 and Clang 3.4.
2014-05-22 18:01:23 +02:00
Stephen Kelly b4d33f6484 Features: Add missing variable reference in docs. 2014-05-22 17:59:51 +02:00