summaryrefslogtreecommitdiffstats
path: root/Help/policy
Commit message (Collapse)AuthorAgeFilesLines
* add_custom_command: Diagnose MAIN_DEPENDENCY limitation.Nils Gladitz2015-03-091-0/+21
| | | | | The new policy CMP0057 diagnoses reuse of the same MAIN_DEPENDENCY across multiple custom commands.
* Merge topic 'doc-CMP0054-example'Brad King2014-12-121-3/+31
|\ | | | | | | | | f2f1c95d Help: Extend policy CMP0054 documentation with an example
| * Help: Extend policy CMP0054 documentation with an exampleNils Gladitz2014-12-121-3/+31
| |
* | try_compile: Pass linker flags into test project (#14066)Brad King2014-12-031-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | Copy CMAKE_EXE_LINKER_FLAGS into the test project generated by try_compile, just like we already copy CMAKE_<LANG>_FLAGS. Add CMake Policy CMP0056 to activate this behavior in a compatible way, but do not warn by default when the policy is not set since it will affect all try_compile calls. Extend the RunCMake.try_compile test with a case covering this behavior for each policy setting.
* | Merge topic 'doc-CMP0053-dedup-char'Brad King2014-12-011-1/+1
|\ \ | |/ | | | | | | 191d2b20 Help: Remove duplicate '#' in CMP0053 valid character list
| * Help: Remove duplicate '#' in CMP0053 valid character listChristoph Grüninger2014-12-011-1/+1
| |
* | break: Add policy CMP0055 to check calls strictlyGregor Jasny2014-11-251-0/+17
|/ | | | | | Reject break() without loop scope or any arguments. Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* If: Introduce policy CMP0054 - don't dereference quoted variables in if()Nils Gladitz2014-09-111-0/+18
|
* Merge topic 'doc-CMP0022-compat-version-typo'Brad King2014-08-131-1/+1
|\ | | | | | | | | 91857e04 CMP0022: Fix version documented to support LINK_PUBLIC/LINK_PRIVATE
| * CMP0022: Fix version documented to support LINK_PUBLIC/LINK_PRIVATEBrad King2014-08-131-1/+1
| | | | | | | | These have been available since 2.8.7, not 2.8.9 as the docs said.
* | Help: Add missing space in policy CMP0020 descriptionPeter Kümmel2014-05-301-1/+1
| |
* | EVIS: Add policy CMP0053Ben Boeckel2014-05-082-0/+47
| | | | | | | | | | This policy switches between the old EVIS parser and the new, faster parser.
* | Help: Link to cmake-buildsystem from CMP0052 docs.Stephen Kelly2014-04-171-0/+3
| |
* | Help: Fix typo in CMP0051.Stephen Kelly2014-04-141-1/+1
| | | | | | | | STRIP_GENEX -> GENEX_STRIP.
* | Export: Disallow exported interface includes in src/build tree (#14592).Stephen Kelly2014-04-091-0/+21
| | | | | | | | | | | | | | | | | | | | | | Allow directories in the source tree or build tree only if the install tree is a subdirectory of the source tree or build tree, as appropriate. Re-use the test files in the RunCMake.include_directories test to run in multiple scenarios. Bump the required CMake version in the test to 3.0 to ensure that the new policy warnings are emitted correctly.
* | Merge topic 'target-sources-refactor'Brad King2014-04-031-0/+24
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ...
| * cmTarget: Include TARGET_OBJECTS genex in target SOURCES property.Stephen Kelly2014-04-021-0/+24
| | | | | | | | Add policy CMP0051 to control this behavior.
* | Do not warn by default when policy CMP0025 or CMP0047 is not setBrad King2014-04-022-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* cmTarget: Restore <CONFIG>_LOCATION to CMP0026 OLD behavior (#14808)Stephen Kelly2014-03-171-3/+4
| | | | | | | Restore support for the undocumented <CONFIG>_LOCATION target property removed by commit v3.0.0-rc1~175^2 (cmTarget: Remove support for <CONFIG>_LOCATION property, 2013-12-30) as part of the CMP0026 OLD behavior.
* CMP0043: Document old and new interfaces for setting directory property.Stephen Kelly2014-03-031-1/+7
|
* add_custom_command: Disallow use of SOURCE signatures.Stephen Kelly2014-02-121-0/+18
| | | | Add CMP0050 to control this behavior.
* Add policy CMP0049 to avoid variable expansion in source listsStephen Kelly2014-02-121-0/+23
|
* Merge topic 'doc-policy-version-3.0'Brad King2014-02-1025-29/+29
|\ | | | | | | | | aab11bca Help: Change version 3.0.0 -> 3.0 in policy docs
| * Help: Change version 3.0.0 -> 3.0 in policy docsBrad King2014-02-1025-29/+29
| | | | | | | | | | | | Starting with 3.0 we will use only two components for the feature level, and policies are only ever introduced with a bump to the feature level version.
* | Help: Fix typo.Stephen Kelly2014-02-071-1/+1
|/ | | | 'to not to' -> 'not to'
* project: Manage VERSION variablesBrad King2014-01-291-0/+22
| | | | | | | | | | | | | | | | Teach the project() command to set variables {PROJECT,<PROJECT-NAME>}_VERSION{,_MAJOR,_MINOR,_PATCH,_TWEAK} holding the project version number and its components. Add project() command option "VERSION" to specify the version explicitly, and default to the empty string when it is not given. Since this clears variables when no VERSION is given, this may change behavior for existing projects that set the version variables themselves prior to calling project(). Add policy CMP0048 for compatibility. Suggested-by: Alex Neundorf <neundorf@kde.org>
* QNX: Introduce QCC compiler id for that QNX platform compiler.Stephen Kelly2014-01-221-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | Introduce policy CMP0047 to control resetting the id for compatibility. De-duplicate content in the QNX platform file by including the GNU one. QNX is a form of GNU platform. Do not clear CMAKE_SHARED_LIBRARY_${lang}_FLAGS variables. They are populated again later by the Compiler/GNU.cmake file anyway. Modify the CMAKE_CXX_COMPILE_OBJECT variable only when the QCC compiler id is in use, and the language is CXX. Use the QNX recommended flag for QCC instead of the gcc compatible -x flag. Populate new module files to handle system includes and depfiles when using the QCC compiler. Remove code which unsets the system include and depfiles related variables. When a GNU driver is used instead of the QCC one, the appropriate flags will be used. These variables were previously cleared for lowest-common-denominator compatibility with both drivers.
* AddDependencies: new policy requires dependencies to existNils Gladitz2014-01-121-0/+17
| | | | | Added new policy CMP0046 which requires dependencies added by add_dependencies() to actually exist.
* Merge topic 'policies'Brad King2014-01-093-0/+75
|\ | | | | | | | | | | | | | | | | 73e9340 get_target_property: Error on non-existent target. ab9f58f FindQt4: Ensure target exists before calling get_target_property. 37ebeb9 FindQt4: Fix use of get_target_property to use actual target name. 6aabb6a Genex: Use case-sensitive comparison for COMPILER_ID. 5bb53f6 cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy.
| * get_target_property: Error on non-existent target.Stephen Kelly2014-01-081-0/+17
| | | | | | | | Introduce policy CMP0045 to control this behavior.
| * Genex: Use case-sensitive comparison for COMPILER_ID.Stephen Kelly2014-01-081-0/+19
| |
| * cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy.Stephen Kelly2014-01-081-0/+39
| |
* | Note how to write CMP0022 compatible code with CMake 2.8.9.Stephen Kelly2014-01-081-0/+4
|/ | | | This has come up on the mailing list, and various other places.
* Merge topic 'rpath-default'Brad King2014-01-021-0/+19
|\ | | | | | | | | d25ad48 OS X: Add CMP0042 to enable MACOSX_RPATH by default
| * OS X: Add CMP0042 to enable MACOSX_RPATH by defaultClinton Stimpson2014-01-021-0/+19
| | | | | | | | | | Also adding documentation for CMAKE_MACOSX_RPATH, and improving documentation for MACOSX_RPATH.
* | Help: Fix CMP0037 docs.Stephen Kelly2013-12-191-1/+1
| | | | | | | | | | INTERFACE libraries may not use double-colons, but IMPORTED targets may.
* | Help: Add missing period.Stephen Kelly2013-12-191-1/+1
|/
* Merge topic 'export-includes'Brad King2013-12-021-0/+25
|\ | | | | | | | | | | | | | | | | | | 5838aba Export: Report error on relative include with genex. 7a3e45b Export: Prefix relative items with genexes in INSTALL_INTERFACE. f088a32 Export: Process INSTALL_INTERFACE in INCLUDES DESTINATION. 9eedc85 Export: Process relative includes after genex evaluation. 80790f3 Export: Test existing behavior of exporting includes with genexes. 38afc82 target_include_directories: Allow relative path with genex
| * Export: Report error on relative include with genex.Stephen Kelly2013-11-261-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | Diagnostics which check the sanity of exported include paths previously skipped over any path containing a generator expression. Introduce a policy to issue an error message in such cases. The export files created in the OLD behavior are not usable, because they contain relative paths or paths to the source or build location which are not suitable for use on installation. CMake will report an error on import.
* | Help: Fix typo in CMP0040 docs.Stephen Kelly2013-11-261-1/+1
|/ | | | 'report and error' -> 'report an error'
* Add policy CMP0040 to disallow custom commands on missing targetsNils Gladitz2013-11-211-0/+16
|
* CMP0037: Extend policy to reserved names and custom targetsNils Gladitz2013-11-191-6/+11
| | | | | | | | Teach add_custom_target to check the policy too. Extend the policy to disallow reserved target names that we use for builtin targets like "all". Extend the RunCMake.CMP0037 test to cover these cases.
* CMP0038: Add missing '.' to policy summary lineBrad King2013-11-121-1/+1
|
* CMP0039: Add missing '.' to policy summary lineDaniele E. Domenichelli2013-11-121-1/+1
|
* Disallow linking to utility targets (#13902).Stephen Kelly2013-11-071-0/+17
|
* Disallow link-to-self (#13947).Stephen Kelly2013-11-071-0/+16
|
* Disallow invalid target names (#13140)Stephen Kelly2013-11-071-0/+21
| | | | | Exclude Borland and NMake from the CMP0037 test. They do not accept the colon in a target name.
* Add policy CMP0036 to disallow build_nameBrad King2013-10-221-0/+12
|
* Add policy CMP0035 to disallow variable_requiresBrad King2013-10-221-0/+10
|