summaryrefslogtreecommitdiffstats
path: root/Help
Commit message (Collapse)AuthorAgeFilesLines
* Features: Add cxx_inheriting_constructors.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_explicit_conversions.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_deleted_functions.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_defaulted_functions.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_decltype.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_strong_enums.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_auto_function.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_override.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_final.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_static_assert.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_constexpr.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_variadic_templates.Stephen Kelly2014-04-081-0/+5
| | | | | | | Expect cxx_variadic_templates to implement N2555. N2555 is essentially a bugfix and predates most compiler releases which aimed to experimentally support variadic templates.
* Features: Add cxx_delegating_constructors.Stephen Kelly2014-04-081-0/+5
|
* Add target_compile_features command.Stephen Kelly2014-04-074-0/+38
| | | | | | | | | | | This can be used to set the compiler features required by particular targets. An error is issued at CMake time if the compiler does not support the required feature. If a language dialect flag is required by the features used, that will be added automatically. Base the target_compile_features command on cmTargetPropCommandBase. This gives us 'free' handling of IMPORTED, ALIAS, INTERFACE, non-compilable and missing targets.
* cmTarget: Transitively evaluate compiler features.Stephen Kelly2014-04-073-1/+16
| | | | | | | | | | | 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: Allow populating COMPILE_FEATURES using generator expressions.Stephen Kelly2014-04-071-0/+4
| | | | | | Delay validation of the content as a feature if it contains a generator expression. It will be checked again at generate-time after evaluation.
* Features: Add cxx_auto_type.Stephen Kelly2014-04-071-0/+7
| | | | | | | | | | | | | | Record the availability of this feature for GNU 4.8 on (UNIX AND NOT APPLE) only. In the future, availability can be recorded for earlier GNU, for other platforms and for other compilers. Initially the affected configurations are as restricted as possible to allow for easy testing while extending the features vector in only one dimension. The error message when using the set_property API directly is not very good, but follow up commits will provide origin debugging of the property and a target_compile_features command which will provide a configure-time backtrace when possible.
* cmTarget: Add COMPILE_FEATURES target property.Stephen Kelly2014-04-073-0/+14
| | | | | | | 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.
* project: Add infrastructure for recording CXX compiler featuresStephen Kelly2014-04-073-0/+18
| | | | | | | | | | | | | | Add a feature test using the compiler macros and the preprocessor to determine available features. Add a CMAKE_CXX_COMPILE_FEATURES variable which contains all features known to the loaded compiler, and a CMAKE_CXX_KNOWN_FEATURES variable containing all features known to CMake. Add language standard specific variables for internal use to determine the standard-specific compile flags to use. This will be extended to other languages in the future. Follow-up commits will add features which will be recorded by the feature test.
* cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.Stephen Kelly2014-04-077-0/+50
| | | | | These are used to determine whether to add -std=c++11, -std=gnu++11 etc flags on the compile line.
* Merge topic 'ExternalProject_exclude-from-all'Brad King2014-04-031-0/+11
|\ | | | | | | | | f4fe6322 Help: Add notes for topic 'ExternalProject_exclude-from-all'
| * Help: Add notes for topic 'ExternalProject_exclude-from-all'Brad King2014-04-031-0/+11
| |
* | Merge topic 'target-transitive-sources'Brad King2014-04-039-3/+64
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9407174b target_sources: New command to add sources to target. 81ad69e0 Make the SOURCES target property writable. 6e636f2e cmTarget: Make the SOURCES origin tracable. 3676fb49 cmTarget: Allow transitive evaluation of SOURCES property. e6971df6 cmTarget: Make the source files depend on the config. df753df9 cmGeneratorTarget: Don't add computed sources to the target. 869328aa cmComputeTargetDepends: Use valid config to compute target depends.
| * | target_sources: New command to add sources to target.Stephen Kelly2014-04-023-0/+34
| | |
| * | Make the SOURCES target property writable.Stephen Kelly2014-04-022-2/+7
| | |
| * | cmTarget: Make the SOURCES origin tracable.Stephen Kelly2014-04-021-1/+2
| | |
| * | cmTarget: Allow transitive evaluation of SOURCES property.Stephen Kelly2014-04-023-0/+21
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge topic 'target-sources-refactor'Brad King2014-04-038-4/+62
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5de63265 Genex: Only evaluate TARGET_OBJECTS to determine target sources. aa0a3562 cmGeneratorTarget: Compute target objects on demand 042c1c83 cmTarget: Compute languages from object libraries on demand. fdcefe3c cmGeneratorTarget: Compute consumed object libraries on demand. c355d108 cmComputeTargetDepends: Track object library depends. e5da9e51 cmTarget: Allow any generator expression in SOURCES property. 5702e106 cmTarget: Include TARGET_OBJECTS genex in target SOURCES property. 857d30b5 cmGlobalGenerator: Add interface to call ForceLinkerLanguages 28e1d2f8 cmStringCommand: Add GENEX_STRIP subcommand. bf98cc25 Genex: Evaluate TARGET_OBJECTS as a normal expression. 8cd113ad cmTarget: Store strings instead of cmSourceFile* to represent SOURCES. 4959f341 cmSourceFileLocation: Collapse full path for directory comparisons. fcc92878 cmSourceFileLocation: Remove unused Update method. 59e8740a cmTarget: Remove AddSourceFile method 26d494ba cmTarget: Use string API to add sources to cmTarget objects. d38423ec cmTarget: Add a method to obtain list of filenames for sources. ...
| * | | Genex: Only evaluate TARGET_OBJECTS to determine target sources.Stephen Kelly2014-04-022-7/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | The output of this expression may contain macros for IDEs to replace such as $(Configuration), $(CURRENT_ARCH) etc. To avoid generating content which is not usable in other contexts, report an error if there is an attempt to use it in other contexts. This commit may be reverted in the future if a solution to the above difference is implemented.
| * | cmTarget: Allow any generator expression in SOURCES property.Stephen Kelly2014-04-023-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove use of UseObjectLibraries from Makefile and Ninja generators. It is not needed now because those generators use GetExternalObjects which already contains the objects from object libraries. The VS10 generator calls both the UseObjectLibraries and the GetExternalObjects methods. Ensure that duplicates are not created by skipping objects from object libraries in handling of GetExternalObjects. Similarly, fix VS6, VS7 and Xcode object handling by skipping external objects from OBJECT_LIBRARY usage as appropriate. The error message in the BadSourceExpression1 test is now reported by the generator expression evaluator, so it has different text.
| * | cmTarget: Include TARGET_OBJECTS genex in target SOURCES property.Stephen Kelly2014-04-023-0/+32
| | | | | | | | | | | | Add policy CMP0051 to control this behavior.
| * | cmStringCommand: Add GENEX_STRIP subcommand.Stephen Kelly2014-03-312-0/+11
| | | | | | | | | | | | Strip out any generator expressions in the input string.
| * | Genex: Evaluate TARGET_OBJECTS as a normal expression.Stephen Kelly2014-03-312-0/+9
| |/
* | Merge topic 'revise-compiler-id-policies'Brad King2014-04-034-24/+60
|\ \ | | | | | | | | | | | | | | | | | | | | | 13684e2b cmMakefile: Port PolicyOptionalWarningEnabled to string APIs 8018fcca Merge branch 'master' into revise-compiler-id-policies a41c0a9d Do not warn by default when policy CMP0025 or CMP0047 is not set d339653e Help: Revise and format policy CMP0025 and CMP0047 docs
| * \ Merge branch 'master' into revise-compiler-id-policiesBrad King2014-04-0244-46/+236
| |\ \ | | |/
| * | Do not warn by default when policy CMP0025 or CMP0047 is not setBrad King2014-04-024-7/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These policies are triggered by the use of a particular compiler rather than outdated CMake code in a project. Avoid warning in every project that enables a language by not displaying the policy warning by default. Add variable CMAKE_POLICY_WARNING_CMP<NNNN> to control the warning explicitly; otherwise enable the warning with --debug-output or --trace. This breaks with strict policy convention because it does not provide developers with any warning about the behavior change by default. Existing projects will continue to build without a warning or change in behavior. When a developer changes the minimum required version of CMake in a project to a sufficiently high value (3.0), the project will suddenly get the new compiler id and may break, but at least the breakage comes with a change to the project rather than the version of CMake used to build it. Breaking strict policy convention is worthwhile in this case because very few projects will be affected by the behavior change but every project would have to see the warning if it were enabled by default.
| * | Help: Revise and format policy CMP0025 and CMP0047 docsBrad King2014-04-022-20/+31
| | | | | | | | | | | | | | | | | | Add inline reST markup as appropriate. Word CMP0047 docs more like those of CMP0025. State explicitly that the policies must be set before the project or enable_language command calls.
* | | Help: Rewrite the cmake-developer.7 find module documentationAlex Merry2014-04-021-175/+370
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | As well as the traditional variables, providing imported targets is suggested, and the relative advantages and disadvantages briefly discussed. A mini-tutorial walking through creating a simple find module is provided. This changes the recommended version variable from Foo_VERSION_STRING to Foo_VERSION, because there is really no need to have different variable names for package version files vs. find modules. It notes the old variable name, though, and suggests setting it for compatibility.
* | Merge topic 'fix-Qt-manual-typo'Brad King2014-03-261-1/+1
|\ \ | | | | | | | | | | | | dcfbbe87 Help: Fix typo in cmake-qt manual.
| * | Help: Fix typo in cmake-qt manual.Stephen Kelly2014-03-261-1/+1
| |/ | | | | | | Do -> To.
* | ninja: Add support for custom depfile formatsBen Boeckel2014-03-241-0/+5
| | | | | | | | | | | | | | | | Not everything that isn't MSVC is GCC. I have support for LDC's depfile format on its way upstream[1], but its future is uncertain. CMake should at least support this for future depfile formats. [1]https://github.com/martine/ninja/pull/721
* | Merge topic 'ExternalProject-no-download-progress'Brad King2014-03-201-0/+6
|\ \ | | | | | | | | | | | | | | | f1b953ec Help: Add notes for topic 'ExternalProject-no-download-progress' 7d35b550 ExternalProject: Add option to disable download progress (#14807)
| * | Help: Add notes for topic 'ExternalProject-no-download-progress'Brad King2014-03-171-0/+6
| | |
* | | add_custom_command: Evaluate generator expressions in DEPENDSStephen Kelly2014-03-202-0/+9
|/ / | | | | | | | | | | | | Rely on evaluation in cmCustomCommandGenerator for the generators. When tracing target dependencies, depend on the union of dependencies for all configurations.
* | Merge branch 'master' into CONFIG-LOCATION-CMP0026Brad King2014-03-1739-45/+215
|\ \ | |/ |/|
| * Merge topic 'cpack-deb-compression-types'Brad King2014-03-141-0/+6
| |\ | | | | | | | | | | | | 16caa6ec Help: Add release notes for topic 'cpack-deb-compression-types'
| | * Help: Add release notes for topic 'cpack-deb-compression-types'Brad King2014-03-141-0/+6
| | |
| * | Merge topic 'ctest-intel-coverage'Brad King2014-03-141-0/+5
| |\ \ | | | | | | | | | | | | | | | | | | | | 3a7501d9 Help: Add release notes for topic 'ctest-intel-coverage' 9840320d CTest: Add support for Intel coverage files
| | * | Help: Add release notes for topic 'ctest-intel-coverage'Brad King2014-03-141-0/+5
| | |/
| * | Help: Drop cmStdString from cmake-developer(7) examplesBrad King2014-03-131-6/+6
| |/ | | | | | | The type no longer exists within CMake.