summaryrefslogtreecommitdiffstats
path: root/Help/manual/cmake-properties.7.rst
Commit message (Collapse)AuthorAgeFilesLines
* Add 'ANDROID_API' target property to set Android Target APIBrad King2014-09-301-0/+1
| | | | Also add a 'CMAKE_ANDROID_API' variable to set the property default.
* Add 'ANDROID_GUI' target property to mark Android applicationsBrad King2014-09-291-0/+1
| | | | | | | Also add a 'CMAKE_ANDROID_GUI' variable to set the property default so a project can easily make all executables Android applications. An Android application executable file has the same extension as a shared library (.so).
* VS: Add VS_WINRT_COMPONENT property to enable CompileAsWinRTGilles Khouzam2014-08-211-0/+1
| | | | | | | | 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>
* Merge topic 'vs-special-source-file-properties'Brad King2014-08-181-0/+2
|\ | | | | | | | | | | | | | | 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
| * VS: Add a source file property to set the hlsl shader typeBrad King2014-08-121-0/+1
| | | | | | | | | | | | Create a VS_SHADER_TYPE source file property. Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
| * VS: Add a source file property to mark content for Windows App deploymentBrad King2014-08-121-0/+1
| | | | | | | | | | | | | | | | | | 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>
* | CPackWIX: Implement CPACK_WIX_ACL (Access Control List) propertyNils Gladitz2014-08-091-0/+1
|/
* Help: Document deprecated properties.Nils Gladitz2014-07-211-5/+29
| | | | | | 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.
* Merge topic 'cpack-properties'Brad King2014-05-281-0/+9
|\ | | | | | | | | | | d0b1d2a6 CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties 15a8af21 Add an "installed file" property scope
| * CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT propertiesNils Gladitz2014-05-281-0/+3
| |
| * Add an "installed file" property scopeNils Gladitz2014-05-281-0/+6
| | | | | | | | | | | | | | 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.
* | Merge topic 'compile-features-C-language'Brad King2014-05-201-0/+4
|\ \ | | | | | | | | | | | | e0890d03 Features: Extend concept to C language.
| * | Features: Extend concept to C language.Stephen Kelly2014-05-141-0/+4
| |/ | | | | | | | | | | | | | | | | | | | | 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.
* | Xcode: Add source file property to control file type (#14854)Brad King2014-05-151-0/+2
|/ | | | | | | | | 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.
* cmTarget: Add CXX_STANDARD_REQUIRED to control decay.Stephen Kelly2014-05-071-0/+1
|
* Help: Fix order of help entries.Stephen Kelly2014-05-071-1/+1
|
* Features: Make CMAKE_CXX_KNOWN_FEATURES a property.Stephen Kelly2014-05-021-0/+1
| | | | | As a 'built-in' variable it imposes a cost on all variable lookups and it is expected to be rarely used.
* cmTarget: Transitively evaluate compiler features.Stephen Kelly2014-04-071-0/+1
| | | | | | | | | | | Extend the interface of the target_compile_features command with PUBLIC and INTERFACE keywords. Populate the INTERFACE_COMPILER_FEATURES target property if they are set. Consume the INTERFACE_COMPILER_FEATURES target property from linked dependent targets to determine the final required compiler features and the compile flag, if needed. Use the same pattern of origin-debugging which is used for other build properties.
* cmTarget: Add COMPILE_FEATURES target property.Stephen Kelly2014-04-071-0/+1
| | | | | | | Use the contents of it to upgrade the CXX_STANDARD target property, if appropriate. This will have the effect of adding the -std=c++11 compile flag or other language specification on GNU when that is needed for the feature.
* cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.Stephen Kelly2014-04-071-0/+2
| | | | | These are used to determine whether to add -std=c++11, -std=gnu++11 etc flags on the compile line.
* cmTarget: Allow transitive evaluation of SOURCES property.Stephen Kelly2014-04-021-0/+1
| | | | | | | Extend the cmGeneratorExpressionDAGChecker with an interface returning the name of the top target. Use that to determine when there is a DAG violation, as required by the RunCMake.Languages tests.
* MSVC: Add properties to configure compiler PDB files (#14762)Brad King2014-02-261-0/+4
| | | | | | | | | | Since commit v2.8.12~437^2~2 (VS: Separate compiler and linker PDB files 2013-04-05) we no longer set /Fd with the PDB_NAME or PDB_OUTPUT_DIRECTORY properties. Those properties now exclusively handle linker PDB files. Since STATIC libraries do not link their compiler PDB file becomes more important. Add new target properties "COMPILE_PDB_NAME[_<CONFIG>]" and "COMPILE_PDB_OUTPUT_DIRECTORY[_<CONFIG>]" to specify the compiler PDB file location and pass the value to the MSVC /Fd option.
* Allow projects to specify extra inputs to CMakeBrad King2014-01-211-0/+1
| | | | | | | Define a new 'CMAKE_CONFIGURE_DEPENDS' directory property that projects can use to specify input files to the CMake configuration process. Extend the RunCMake.Configure test to verify that the build system re-runs CMake when this input changes.
* allow to mark a test as "Not Run" with a specific return code (#8466)Rolf Eike Beer2014-01-141-0/+1
|
* QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property.Stephen Kelly2013-11-271-0/+1
| | | | | | | | | | | | | | | | | | | | Transitively consume the property from linked dependents. Implement configuration-specific support by following the pattern set out for compile definitions and includes in cmQtAutoGenerators. Implement support for origin-tracking with CMAKE_DEBUG_TARGET_PROPERTIES. This is motivated by the needs of KDE, which provides a separate translation system based on gettext instead of the Qt linguist translation system. The Qt uic tool provides command line options for configuring the method used to translate text, and to add an include directive to the generated file to provide the method. http://thread.gmane.org/gmane.comp.kde.devel.frameworks/7930/focus=7992 Implement the interface to provide the uic options as a usage-requirement on the KI18n target, as designed for KDE.
* Merge topic 'ninja-compile-link-pool'Brad King2013-11-261-0/+3
|\ | | | | | | | | 7605e37 Ninja: job pool support for compiling and linking
| * Ninja: job pool support for compiling and linkingPeter Kümmel2013-11-251-0/+3
| | | | | | | | | | Could be tested by setting the environment variable NINJA_STATUS=[%r]
* | cmQtAutogen: Allow specifying depends for autogen targets.Stephen Kelly2013-11-251-0/+1
|/ | | | | Test this by generating files with a custom target, which moc requires to be present when it is run.
* eclipse: Support custom natures via a global propertyBen Boeckel2013-11-191-0/+1
| | | | | This is useful for enabling natures not recognized by the Eclipse generator directly in a project.
* Help: Limit reference manual toctree depth to 1Brad King2013-11-011-0/+12
| | | | | | Add a :maxdepth: option to all toctree directives to limit their depth to 1. We do not want subheadings from individual documents to pollute the already large lists of CMake Domain objects.
* Help: Glob manual/*.rst in Sphinx configurationBrad King2013-10-301-0/+2
| | | | | | | Add the man page description line as explicit markup at the top of each Help/manual/*.rst file and scan it from conf.py to automatically generate the man_pages Sphinx configuration value. This reduces the number of places that need to be changed when a new manual is added.
* Merge topic 'Qt-auto-generators'Brad King2013-10-281-0/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c87d9c Add automatic rcc invocation for Qt. 84218e1 Add automatic uic invocation for Qt. 94a0ca6 Record which files are skipped by automoc. 18fb758 Run the main executable created in the autogen tests. e485ba1 Rename the QtAutomoc tests to QtAutogen. 7ce65c3 Add extra checks for the AUTOMOC target property. 32771fc Update output messages for generic use. f371ab5 Rename RunAutomoc to RunAutogen. 85b3d6e Extract an SetupAutoMocTarget method. ca124a1 Rename the AutomocInfo.cmake file to be more generic. a342c9f Move some makefile definitions up away from moc-specific code. 98632ef Add the AUTOGEN_TARGETS_FOLDER and obsolete AUTOMOC_TARGETS_FOLDER. 63378ba Rename some variables to reflect broader scope. 97f1aa3 Rename method to reflect generic use. 4abb111 Rename local variable to reflect generic use. 03878c9 Move variable set to where it is used. ...
| * Add automatic rcc invocation for Qt.Stephen Kelly2013-10-241-0/+3
| | | | | | | | | | This replaces the need to invoke qt4_add_resources by allowing adding the source .qrc file directly to the target sources.
| * Add automatic uic invocation for Qt.Stephen Kelly2013-10-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | The source files are already processed by cmQtAutomoc to look for moc includes, so extend that to also look for ui_ includes and find corresponding .ui files to process. This replaces the need to invoke qt4_wrap_ui(). As the ui files are not likely to be part of the SOURCES of the target, store the options associated with them separately in the cmMakefile for querying during the autogen run.
| * Add the AUTOGEN_TARGETS_FOLDER and obsolete AUTOMOC_TARGETS_FOLDER.Stephen Kelly2013-10-241-0/+1
| |
* | cmTarget: Add interface for compatible numeric propertiesStephen Kelly2013-10-241-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the boost MPL library, one can set a define to increase the limit of how many variadic elements should be supported. The default for BOOST_MPL_LIMIT_VECTOR_SIZE is 20: http://www.boost.org/doc/libs/1_36_0/libs/mpl/doc/refmanual/limit-vector-size.html If the foo library requires that to be set to 30, and the independent bar library requires it to be set to 40, consumers of both need to set it to 40. add_library(foo INTERFACE) set_property(TARGET foo PROPERTY INTERFACE_boost_mpl_vector_size 30) set_property(TARGET foo PROPERTY COMPATIBLE_INTERFACE_NUMBER_MAX boost_mpl_vector_size) target_compile_definitions(foo INTERFACE BOOST_MPL_LIMIT_VECTOR_SIZE=$<TARGET_PROPERTY:boost_mpl_vector_size>) add_library(bar INTERFACE) set_property(TARGET bar PROPERTY INTERFACE_boost_mpl_vector_size 40) # Technically the next two lines are redundant, but as foo and bar are # independent, they both set these interfaces. set_property(TARGET bar PROPERTY COMPATIBLE_INTERFACE_NUMBER_MAX boost_mpl_vector_size) target_compile_definitions(bar INTERFACE BOOST_MPL_LIMIT_VECTOR_SIZE=$<TARGET_PROPERTY:boost_mpl_vector_size>) add_executable(user) target_link_libraries(user foo bar) Because the TARGET_PROPERTY reads the boost_mpl_vector_size property from the HEAD of the dependency graph (the user target), and because that property appears in the COMPATIBLE_INTERFACE_NUMBER_MAX of the dependencies of the user target, the maximum value for it is chosen for the compile definition, ie, 40. There are also use-cases for choosing the minimum value of a number. In Qt, deprecated API can be disabled by version. Setting the definition QT_DISABLE_DEPRECATED_BEFORE=0 disables no deprecated API. Setting it to 0x501000 disables API which was deprecated before Qt 5.1 etc. If two dependencies require the use of API which was deprecated in different Qt versions, then COMPATIBLE_INTERFACE_NUMBER_MIN can be used to ensure that both can compile.
* Convert builtin help to reStructuredText source filesKitware Robot2013-10-151-0/+262
Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.