Commit Graph

571 Commits

Author SHA1 Message Date
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
Brad King 5ce40619db Merge topic 'COMPILE_FEATURES-genex'
0dfe395e Features: Add COMPILE_FEATURES generator expression.
aa8a6fce cmMakefile: Add methods for checking availability of a feature.
b6dedf03 cmMakefile: Extract CheckNeeded{C,Cxx}Language methods.
8dd129df cmMakefile: Extract CompileFeaturesAvailable method.
6b9b2fff cmMakefile: Extract CompileFeatureKnown method.
2014-05-22 10:37:48 -04:00
Ben Boeckel d849800351 variable_watch: Remove undocumented and redundant access type
The ALLOWED_UNKNOWN_VARIABLE_READ_ACCESS access type was switched on an
undocumented variable and its lookup caused an unnecessary performance
impact.  Remove it.
2014-05-22 10:36:49 -04:00
Stephen Kelly 0dfe395e3c Features: Add COMPILE_FEATURES generator expression.
Allow setting build properties based on the features available
for a target.  The availability of features is determined at
generate-time by evaluating the link implementation.

Ensure that the <LANG>_STANDARD determined while evaluating
COMPILE_FEATURES in the link implementation is not lower than that
provided by the INTERFACE of the link implementation.  This is
similar to handling of transitive properties such as
POSITION_INDEPENDENT_CODE.
2014-05-21 17:22:32 +02:00
Stephen Kelly 96eb97f89e Help: Fix whitespace in doc link. 2014-05-20 16:44:06 +02:00
Brad King c1edede31f Merge topic 'compile-features-C-language'
e0890d03 Features: Extend concept to C language.
2014-05-20 09:40:14 -04:00
Brad King 567ca4c79e Merge topic 'xcode-file-type'
a339ea65 Xcode: Add source file property to control file type (#14854)
ae80cb9f Xcode: Refactor internal source file type selection
2014-05-16 10:21:06 -04:00
Brad King a339ea6529 Xcode: Add source file property to control file type (#14854)
Add source file properties to control Xcode file type attributes:

  XCODE_EXPLICIT_FILE_TYPE   => explicitFileType
  XCODE_LAST_KNOWN_FILE_TYPE => lastKnownFileType

Add a RunCMake.XcodeProject test to verify generated project content.
2014-05-15 14:34:52 -04:00
Brad King 209cd475eb Help: Add notes for topic 'cmake-gui-capture-output' 2014-05-15 11:10:52 -04:00
Stephen Kelly e0890d03a4 Features: Extend concept to C language.
Add properties and variables corresponding to CXX equivalents.

Add features for c_function_prototypes (C90), c_restrict (C99),
c_variadic_macros (C99) and c_static_assert (C11). This feature
set can be extended later.

Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader
to conditionally represent the c_restrict feature.
2014-05-15 00:15:18 +02:00
Brad King 2e347eb183 Merge topic 'WriteCompilerDetectionHeader-module'
62a4a67d Add the WriteCompilerDetectionHeader module.
2014-05-14 13:58:30 -04:00
Stephen Kelly 62a4a67dc5 Add the WriteCompilerDetectionHeader module.
Provide a function to write a portable header to detect compiler
features.  Generate a preprocessor #error for unknown compilers
and compiler versions whose features are not yet recorded.  This
error condition might be relaxed in the future, but for now it
is useful for verification of expectations.
2014-05-14 13:57:30 -04:00
Brad King 58fcd57c40 Merge topic 'package-disable-registry'
ba387cb8 Help: Add notes for topic 'package-disable-registry'
be8ae960 Allow the Package Registry to be disabled (#14849)
d09fda5d Tests: Improve FindPackageTest for in-source builds
ac24a1c0 Tests: Improve FindPackageTest exported package version
2014-05-12 10:45:51 -04:00
Brad King ba387cb871 Help: Add notes for topic 'package-disable-registry' 2014-05-12 09:50:03 -04:00
Daniele E. Domenichelli be8ae96098 Allow the Package Registry to be disabled (#14849)
When a project is packaged for redistribution the local package
registries should not be updated or consulted.  They are for developers.

Add variables to disable use of package registries globally:

* CMAKE_EXPORT_NO_PACKAGE_REGISTRY that disables the export(PACKAGE)
  command
* CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY that disables the User Package
  Registry in all the find_package calls.
* CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY that disables the
  System Package Registry in all the find_package calls.

Update documentation and unit tests.
2014-05-12 09:50:01 -04:00
Brad King 90f66381d3 Help: Add release notes for policy CMP0053 2014-05-08 13:24:50 -04:00