summaryrefslogtreecommitdiffstats
path: root/Help/manual
Commit message (Collapse)AuthorAgeFilesLines
* Help: Document the CMAKE_TOOLCHAIN_FILE.Stephen Kelly2013-11-271-0/+1
| | | | Link to the new docs from existing references to the variable.
* Merge topic 'ninja-compile-link-pool'Brad King2013-11-262-0/+5
|\ | | | | | | | | 7605e37 Ninja: job pool support for compiling and linking
| * Ninja: job pool support for compiling and linkingPeter Kümmel2013-11-252-0/+5
| | | | | | | | | | Could be tested by setting the environment variable NINJA_STATUS=[%r]
* | Merge topic 'minor-cleanups'Brad King2013-11-261-1/+1
|\ \ | | | | | | | | | | | | | | | ebeb31d Help: Fix typo in CMP0040 docs. 97b0abb Help: Fix typo in genex docs.
| * | Help: Fix typo in genex docs.Stephen Kelly2013-11-261-1/+1
| |/ | | | | | | would be require -> would require
* | 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.
* Help: Organize and revise the cmake-generators.7 manualBrad King2013-11-251-24/+62
| | | | | | | | | | | Move "extra" generators to their own section instead of duplicating them for each corresponding main generator. Divide the list of main generators into command-line and IDE sections and sort the names within each section. Document the environment from which each kind of generator may be used. Add a section to each "extra" generator documenting which main generators may be used with it.
* Help: Document $ENV{VAR} syntax in cmake-language.7 manualBrad King2013-11-251-0/+3
|
* Merge topic 'cross-compiling-toolchain-variables'Brad King2013-11-221-0/+1
|\ | | | | | | | | 7521da2 Introduce CMAKE_STAGING_PREFIX variable.
| * Introduce CMAKE_STAGING_PREFIX variable.Stephen Kelly2013-11-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This variable can be useful in cross-compiling contexts where the sysroot is read-only or where the sysroot should otherwise remain pristine. If the new CMAKE_STAGING_PREFIX variable is set, it is used instead of CMAKE_INSTALL_PREFIX when generating the installation rules in cmake_install.cmake. This way, the CMAKE_INSTALL_PREFIX variable always refers to the installation prefix on the target device, regardless of whether host==target. If any -rpath paths passed to the linker contain the CMAKE_STAGING_PREFIX, the matching path fragments are replaced with the CMAKE_INSTALL_PREFIX. Matching paths in the -rpath-link are not transformed. The cross-prefix usr-move workaround is assumed not to require extension regarding CMAKE_STAGING_PREFIX. The staging area is a single prefix, so there is no scope for cross-prefix symlinks. The CMAKE_INSTALL_PREFIX is still used to determine the workaround path, and that variable remains the relevant one even if CMAKE_STAGING_PREFIX is used. If the generated export files are deployed to the target, the workaround will still be in place, and still be employed if required.
* | Help: Reformat cmake-generator-expressions.7 manualStephen Kelly2013-11-211-77/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use definition lists instead of a preformatted block to enumerate the genex documentation. Consistently capitalize the description. Use ``...`` to format genex parameters in the description. Turn references to commands into links. Add high level documentation about the motivation for generator expressions. Regroup expressions into subsections for different genex types. Add a high-level description and example of the expressions in each section. Explode the documentation for filesystem artifacts, instead of only referring to the variations.
* | Merge topic 'missing-target-error'Brad King2013-11-211-0/+1
|\ \ | | | | | | | | | | | | a02f3d2 Add policy CMP0040 to disallow custom commands on missing targets
| * | Add policy CMP0040 to disallow custom commands on missing targetsNils Gladitz2013-11-211-0/+1
| | |
* | | Merge topic 'find_backtrace'Brad King2013-11-211-0/+1
|\ \ \ | |/ / |/| | | | | | | | c6f339c Add FindBacktrace.cmake module.
| * | Add FindBacktrace.cmake module.Vadim Zhukov2013-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | It designed to search for implementation of backtrace(3) routine. Currently it is used in OpenBSD Ports for building Clementine music player. A lot of input from brad.king@ and neundorf@.
* | | Merge topic 'dev/better-eclipse-language-support'Brad King2013-11-201-0/+1
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | a990722 eclipse: Support custom natures via a global property 51726cc eclipse: Add natures for Eclipse based on enabled languages 4a352d4 Notify extra generators about languages
| * | 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.
* | | Merge topic 'cross-compiling-toolchain-variables'Brad King2013-11-191-0/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 7cd65c9 Add CMAKE_SYSROOT variable to set --sysroot when cross compiling. 5096967 Allow toolchain files to specify an external toolchain. 76552d5 Add compiler target compile options. f41ecd1 CMakeDetermineCompilerId: Look for internal file only on host
| * | Add CMAKE_SYSROOT variable to set --sysroot when cross compiling.Stephen Kelly2013-11-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As CMAKE_ROOT_FIND_PATH can be a list, a new CMAKE_SYSROOT is introduced, which is never a list. The contents of this variable is passed to supporting compilers as --sysroot. It is also accounted for when processing implicit link directories reported by the compiler, and when generating RPATH information.
| * | Allow toolchain files to specify an external toolchain.Stephen Kelly2013-11-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Clang can compile code, but uses the gcc tools for other tasks such as linking. The -gcc-toolchain option can be used for that, but generalize so that other compilers can be treated the same. If such a location is specified, use it as a hint for finding the binutils executables.
| * | Add compiler target compile options.Stephen Kelly2013-11-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For clang, this allows passing -target <triple> to the compiler, and for qcc, -V<arch> using toolchain files containing something like set(triple arm-linux-gnueabihf) set(CMAKE_C_COMPILER "/usr/bin/clang") set(CMAKE_C_COMPILER_TARGET ${triple}) set(CMAKE_CXX_COMPILER "/usr/bin/clang++") set(CMAKE_CXX_COMPILER_TARGET ${triple}) or set(arch gcc_ntoarmv7le) set(CMAKE_C_COMPILER /opt/qnx650/host/linux/x86/usr/bin/qcc) set(CMAKE_C_COMPILER_TARGET ${arch}) set(CMAKE_CXX_COMPILER /opt/qnx650/host/linux/x86/usr/bin/QCC) set(CMAKE_CXX_COMPILER_TARGET ${arch}) Both clang and qcc are inherently cross compiler( driver)s. When cross-compiling with clang, use the CMAKE_${lang}_COMPILER_TARGET as the _CMAKE_TOOLCHAIN_PREFIX to find the appropriate binutils. When cross-compiling with QNX qcc, use the CMAKE_${lang}_COMPILER_TARGET to set the appropriate _CMAKE_TOOLCHAIN_PREFIX.
* | | ctest: Make the --build-makeprogram optional for --build-and-testBrad King2013-11-181-3/+3
|/ / | | | | | | | | | | | | | | | | | | GenerateBuildCommand now knows how to lookup CMAKE_MAKE_PROGRAM or choose a generator-provided default build tool. Therefore the --build-makeprogram can now be optional and simply override the default selection when provided. Note that with --build-nocmake we now need to load the cache in order to make the CMAKE_MAKE_PROGRAM entry available to GenerateBuildCommand.
* | Help: Format manual/*.1.rst options as definition listsKitware Robot2013-11-146-417/+527
| | | | | | | | | | Convert the command-line option documentation formatting from bullet lists to definition lists.
* | Merge topic 'tll-target-policies'Brad King2013-11-081-0/+3
|\ \ | | | | | | | | | | | | | | | | | | 596b2a8 Disallow linking to utility targets (#13902). 301bb5c Disallow link-to-self (#13947). 05f5fde Disallow invalid target names (#13140)
| * | Disallow linking to utility targets (#13902).Stephen Kelly2013-11-071-0/+1
| | |
| * | Disallow link-to-self (#13947).Stephen Kelly2013-11-071-0/+1
| | |
| * | Disallow invalid target names (#13140)Stephen Kelly2013-11-071-0/+1
| | | | | | | | | | | | | | | Exclude Borland and NMake from the CMP0037 test. They do not accept the colon in a target name.
* | | Help: Reference cmake-language.7 comment docs from cmake-developer.7Brad King2013-11-081-2/+3
| | | | | | | | | | | | | | | | | | The cmake-language.7 manual now documents comment syntax. Reference it from cmake-developer.7 when discussing how to add comment-enclosed documentation to modules.
* | | Help: Add cmake-language.7 manualBrad King2013-11-081-0/+470
|/ /
* | Merge topic 'remove-cmake-i-wizard'Brad King2013-11-051-2/+1
|\ \ | | | | | | | | | | | | 0fa9aea Help: Drop mention of cmake -i wizard mode
| * | Help: Drop mention of cmake -i wizard modeBrad King2013-11-041-2/+1
| | | | | | | | | | | | | | | The parent commit removed support for this mode, so do not mention it in the documentation.
* | | Help: Refine manual/*.1.rst usage summariesBrad King2013-11-045-14/+28
| | | | | | | | | | | | | | | Use a parsed-literal block to list possible command-line signatures. Add an "Options" section header before the list of options.
* | | Merge topic 'doc-CMAKE_INCLUDE_DIRECTORIES_BEFORE'Brad King2013-11-041-0/+2
|\ \ \ | | | | | | | | | | | | | | | | 12d10a0 Add missing documentation for include dirs related variables. (#12611)
| * | | Add missing documentation for include dirs related variables. (#12611)Stephen Kelly2013-11-021-0/+2
| | | | | | | | | | | | | | | | | | | | Document CMAKE_INCLUDE_DIRECTORIES_BEFORE and CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.
* | | | Merge topic 'doc-rst-note-and-productionlist'Brad King2013-11-021-0/+10
|\ \ \ \ | |/ / / |/| | | | | | | | | | | 450b515 cmRST: Add support for the note and productionlist directives
| * | | cmRST: Add support for the note and productionlist directivesBrad King2013-10-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Simply print out the lines as normal paragraph text. Teach the CMakeLib.testRST test to cover this syntax. Update the cmake-developer.7 manual to document support for the directives.
* | | | Help: Limit reference manual toctree depth to 1Brad King2013-11-016-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic 'add-CMAKE_FIND_NO_INSTALL_PREFIX'Brad King2013-11-011-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | fe057ab Allow disabling adding the install prefix to the prefix search path.
| * | | | Allow disabling adding the install prefix to the prefix search path.Stephen Kelly2013-10-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In certain scenarios, it is preferable to keep a 'dirty' install prefix than to clear it, and to expect that content will not be found there. Add a CMAKE_FIND_NO_INSTALL_PREFIX variable that can be set to disable searching the install prefix.
* | | | | Merge topic 'vs-generator-names'Brad King2013-10-311-3/+3
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | 29071fe VS: Add version year to generator names
| * | | | VS: Add version year to generator namesBrad King2013-10-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename the Visual Studio >= 10 generators to indicate the version year: Visual Studio 10 => Visual Studio 10 2010 Visual Studio 11 => Visual Studio 11 2012 Visual Studio 12 => Visual Stduio 12 2013 Report the names with the year to the list of available generators so that the cmake-gui drop-down shows the years. When selecting a generator from the "-G" option or from an existing CMAKE_GENERATOR cache entry, recognize names without the years for compatibility and map them to the names with years. Update the generator names in the cmake-generators.7 manual.
* | | | | Help: Glob manual/*.rst in Sphinx configurationBrad King2013-10-3013-0/+26
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 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-282-0/+11
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-242-0/+5
| | | | | | | | | | | | | | | | | | | | 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-242-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | |
* | | | Merge topic 'compatible-interface-numbers'Brad King2013-10-261-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ff6c401 cmTarget: Add interface for compatible numeric properties e4e20c1 cmTarget: Add enumeration for consistency to expect from properties. 9877769 cmTarget: Assign consistent content back to the property being evaluated. 816b4a8 cmTarget: Make consistentProperty return consistent content. 030800a cmTarget: Add a template to create correct implied content.
| * | | | 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.
* | | | cmRST: Teach cmake-module directive to scan bracket commentsBrad King2013-10-231-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When scanning CMake module files for .rst comments, recognize bracket comments starting in ".rst:" too. For example: #[[.rst: Include the bracket comment content terminated by the closing bracket. Exclude the line containing the bracket if it starts in "#". Teach the CMakeLib.testRST test to cover multiple bracket lengths and ending brackets on lines with and without "#". Update the cmake-developer.7 manual to document the bracket-comment syntax for .rst documentation.
* | | | cmake-developer.7: Improve flow of module documentation instructionsBrad King2013-10-231-17/+18
|/ / / | | | | | | | | | | | | Use prose instead of enumerated steps and re-order the steps so that the cmake-module directive is covered contiguously.