Commit Graph

184 Commits

Author SHA1 Message Date
Stephen Kelly 28ffb7e0be Note how to write CMP0022 compatible code with CMake 2.8.9.
This has come up on the mailing list, and various other places.
2014-01-08 13:41:24 +01:00
Brad King 855e8759fd Merge topic 'minor-cleanups'
3917d86 Genex: Add a nullary form for CONFIG
5169130 Help: Document the target properties exported to IMPORTED targets.
ee21f1c CompatibleInterface: Test debugging of not-set property.
80e9fe9 Help: Note that language-specific 'built-ins' are set by the project command.
0b5bf8a Help: Mention CMAKE_DISABLE_FIND_PACKAGE_<PackageName> in package docs.
28c865b Tests: simplify Qt4 target usage
6cfe6b8 Help: Fix typo: 'target' -> 'target property'
b7deca4 Test: Remove obsolete commented code.
9c9f69f Genex: Make EQUAL support upper case binary literals
6eb3218 Genex: Fix case of methods in the dag checker.
646c6ec Genex: Use a preprocessor loop to implement transitive DAG check.
711fb38 Genex: List transitive properties and methods as a table, not two lists.
802a28f Add cmHasLiteralSuffix API.
2014-01-07 09:39:22 -05:00
Stephen Kelly 3917d86b26 Genex: Add a nullary form for CONFIG
This is consistent with other similar expressions such as PLATFORM_ID,
and makes the CONFIGURATION expression obsolete.

Fix an off-by-one error in
GeneratorExpressionContent::EvaluateParameters exposed by a unit test.

Remove the test for 'bad' nullary use of $<CONFIG>.

Add a unit test to verify that $<CONFIG> and $<CONFIGURATION> have
the same value.
2014-01-07 09:38:01 -05:00
Stephen Kelly 5169130539 Help: Document the target properties exported to IMPORTED targets. 2014-01-07 09:38:01 -05:00
Stephen Kelly 80e9fe9cee Help: Note that language-specific 'built-ins' are set by the project command. 2014-01-07 09:38:01 -05:00
Stephen Kelly 0b5bf8ad0b Help: Mention CMAKE_DISABLE_FIND_PACKAGE_<PackageName> in package docs. 2014-01-07 09:38:00 -05:00
Stephen Kelly 6cfe6b881d Help: Fix typo: 'target' -> 'target property' 2014-01-07 09:38:00 -05:00
Stephen Kelly 58c174e945 Help: Document the C++ subset permitted for CMake code.
This may be incomplete, but further limitations can be added when
needed.
2014-01-06 19:15:31 +01:00
Stephen Kelly 9eb06d0dde add_library: Disallow invalid signatures for INTERFACE_LIBRARY.
Document the valid signatures. Add a test for the IMPORTED GLOBAL
signature.
2014-01-06 17:25:10 +01:00
Stephen Kelly 2af966d9ab Genex: Add EQUAL expression.
Support decimal, hex, octal and binary literals.
2014-01-06 17:25:09 +01:00
Brad King b225dbbd02 Merge topic 'minor-cleanups'
a55c70d cmTarget: Remove support for <CONFIG>_LOCATION property.
c9f9b3c cmTarget: Test impliedByUse number-compatible properties.
fbe1fa7 cmTarget: Don't repeat property origin debug information.
01c545c cmTarget: Fix debug report for interface-set compatibility types.
c67e1a6 cmTarget: Fix reporting interface-set properties which are FALSE.
07b0f54 Qt Tests: Remove commented and unneeded line.
79db8ef cmTarget: Fix the property compatibility error message
43340a9 Help: Reformat Qt autogenerator documentation.
d98ea6c Help: Mark some code blocks as containing cmake code.
ea78935 GenerateExportHeader: Reformat docs.
272a20f cmTarget: Don't update IMPORTED target compilation properties
03d842a Run the add_compile_options command unit test.
cd3d0b6 get_property: Fix testing ALIASED_TARGET target property (#14670)
6a62228 install: Ensure that install(TARGETS) works with no DESTINATION
af3d3b8 export: Only generate and install configuration files if needed.
0de81bb Help: Workaround pygments reporting an error for genexes.
...
2014-01-06 11:15:34 -05:00
Stephen Kelly 0d9cdab93d Help: Add cmake-buildsystem.7 manual
Describe how to define a buildsystem of binary targets, how to
express dependencies between them, how to add build specifications,
how to specify usage requirements, transitive and compatible
propagation and the various pseudo targets.
2014-01-06 10:25:24 -05:00
Stephen Kelly 43340a9c96 Help: Reformat Qt autogenerator documentation. 2014-01-04 11:28:57 +01:00
Stephen Kelly d98ea6c0b8 Help: Mark some code blocks as containing cmake code. 2014-01-04 11:28:57 +01:00
Brad King 6cff2afc8b Merge topic 'export-EXPORT-subcommand'
98b9f52 Help: Document export(EXPORT) in the cmake-packages manual.
a1d2bda Don't copy find_dependency in configure_package_config_file.
f4f6529 Help: cmake-packages: Add missing slash.
cbe7e8f export: Implement EXPORT subcommand (#9822)
2014-01-02 14:44:08 -05:00
Brad King 0d63bdd2d9 Merge topic 'rpath-default'
d25ad48 OS X: Add CMP0042 to enable MACOSX_RPATH by default
2014-01-02 14:23:09 -05:00
Clinton Stimpson d25ad482e9 OS X: Add CMP0042 to enable MACOSX_RPATH by default
Also adding documentation for CMAKE_MACOSX_RPATH, and improving
documentation for MACOSX_RPATH.
2014-01-02 13:41:49 -05:00
Stephen Kelly 98b9f52bc9 Help: Document export(EXPORT) in the cmake-packages manual. 2013-12-24 13:02:49 +01:00
Stephen Kelly a1d2bda23e Don't copy find_dependency in configure_package_config_file.
There is not really any need to. Downstreams can either rely on it
being provided by CMake, or copy and distribute it.

Change the documented include for the find_dependency macro.
2013-12-24 13:02:49 +01:00
Stephen Kelly f4f6529354 Help: cmake-packages: Add missing slash. 2013-12-24 13:02:49 +01:00
Stephen Kelly cbe7e8fae4 export: Implement EXPORT subcommand (#9822)
Teach the export command to handle export sets defined by invocations
of install(TARGETS ... EXPORT foo).  This makes maintenance of targets
exported to both the build tree and install tree trivial.
2013-12-24 13:02:49 +01:00
Brad King 12862e939f Help: Simplify top-level index organization
Revise the organization introduced in commit 2c7cd95c (Help: Organize
top-level index, 2013-10-28) to drop "Other Manuals" and put them in
"Reference Manuals" because the distinction between them has blurred.
Perhaps a better breakdown of the reference manuals will emerge in
the future.

While at it, sort the reference manual toctree by name.
2013-12-20 15:10:10 -05:00
Brad King 4372365177 Merge topic 'cmake-packages-manual'
3fe4ac8 Help: Add a CMake manual for Packages related docs.
20cafa2 Split the find_dependency macro into a separate file.
2013-12-20 15:01:26 -05:00
Stephen Kelly 3fe4ac828d Help: Add a CMake manual for Packages related docs. 2013-12-20 19:20:31 +01:00
Brad King 6820882be5 Merge topic 'extend-policies-manual'
8f849b9 Help: Mention if(POLICY) and NO_POLICY_SCOPE in policies manual.
2013-12-20 09:41:52 -05:00
Brad King 053c39c4d9 Merge topic 'doc-clarify-CMAKE_VERBOSE_MAKEFILE'
0227ece Help: Clarify CMAKE_VERBOSE_MAKEFILE initialization (#14658)
2013-12-20 09:41:47 -05:00
Stephen Kelly 8f849b9071 Help: Mention if(POLICY) and NO_POLICY_SCOPE in policies manual. 2013-12-20 12:32:43 +01:00
Brad King 0227ece0a6 Help: Clarify CMAKE_VERBOSE_MAKEFILE initialization (#14658)
Explain that it is initialized to false by the project() command and
intended for configuration by the end user performing a build.
2013-12-19 14:48:51 -05:00
Stephen Kelly 4cb7d792af Help: Fix CMP0037 docs.
INTERFACE libraries may not use double-colons, but IMPORTED
targets may.
2013-12-19 16:17:58 +01:00
Stephen Kelly 5187580bcd Help: Add missing period. 2013-12-19 16:17:58 +01:00
Brad King b375c18b9e Merge topic 'doc-clarify-if-TARGET'
6b8662e Help: Clarify if(TARGET) behavior (#14646)
b74819e Help: Format 'if' command documentation
2013-12-19 10:13:53 -05:00
Brad King 6b8662e681 Help: Clarify if(TARGET) behavior (#14646)
Define the meaning of a "target" clearly and link to the commands
that create them.
2013-12-18 12:15:43 -05:00
Brad King b74819e4fe Help: Format 'if' command documentation
Manually update reStructuredText formatting.  Use a definition list
for the possible if() tests supported.  Add inline literal markup
as appropriate.  Also make minor wording tweaks to make it flow
better with the new markup.
2013-12-18 12:14:24 -05:00
Stephen Kelly 20cafa2e1f Split the find_dependency macro into a separate file.
This allows Config file authors to use it without having to use
CONFIGURE_PACKAGE_CONFIG_FILE.
2013-12-13 16:14:02 +01:00
Stephen Kelly e2cb3e7d43 Help: Note that COMPATIBLE_INTERFACE_ properties may be origin-debugged.
Link to other properties mentioned in the docs already.
2013-12-13 14:48:19 +01:00
Brad King 0060e955db Help: Format and clarify source_group() documentation (#14631)
Refine the .rst formatting.  Document the FILES option explicitly
and specify how it treats relative paths.
2013-12-05 13:22:57 -05:00
Brad King 998d7c8f4a Merge topic 'minor-cleanups'
259bf09 Make the cmStrictTargetComparison operate on const cmTarget*.
8cc3cdb Help: Fix up the VISIBILITY_INLINES_HIDDEN docs.
1396ab8 Don't generate self-references for system include directories.
2013-12-05 09:25:34 -05:00
Brad King 520ead7200 Merge topic 'cleanup-build-commands'
e420124 CMakeDetermineCompilerId: Use CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND
0c55729 VS: Add CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND variables
2013-12-05 09:24:59 -05:00
Brad King 0c55729c13 VS: Add CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND variables
Since commit 5f5c92b9 (VS: Add internal APIs to find MSBuild,
devenv/VCExpress, and msdev, 2013-11-13) the VS generators have
known how to lookup the locations of their build tools directly.
Expose this information to CMake language code by defining new
variables to hold the paths to these tools.
2013-12-04 11:05:05 -05:00
Brad King a6b45087a1 Merge topic 'cmake-toolchains-manual'
c45b5ce Help: Add cmake-toolchains.7 manual
3e3f8b4 Help: Document the CMAKE_FIND_ROOT_PATH* variables.
531c108 Help: Document the CMAKE_TOOLCHAIN_FILE.
2013-12-03 09:45:28 -05:00
Stephen Kelly c45b5ceb66 Help: Add cmake-toolchains.7 manual
Create a manual for toolchain related docs.
2013-12-03 09:44:31 -05:00
Stephen Kelly 8cc3cdb614 Help: Fix up the VISIBILITY_INLINES_HIDDEN docs.
Resolve some sentence fragments, remove a copy-pasto from other docs
and use a link to the CMAKE_VISIBILITY_INLINES_HIDDEN variable.
2013-12-03 11:19:07 +01:00
Brad King 65fb49ba35 Merge topic 'doc-pdb-not-for-static-libs'
c0897cf Help: Document PDB behavior w.r.t. static libraries explicitly (#14600)
09c05f3 Help: Format PDB_NAME and PDB_OUTPUT_DIRECTORY documentation
cb7b907 Help: Document CMAKE_PDB_OUTPUT_DIRECTORY_<CONFIG> variable
2013-12-02 12:07:50 -05:00
Brad King ea8d1a9cca Merge topic 'INTERFACE_AUTOUIC_OPTIONS'
98093c4 QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property.
02542b4 QtAutoUic: Handle new -include command line parameter.
1242f4e Genex: Add {UPPER,LOWER}_CASE and MAKE_C_IDENTIFIER.
754b321 QtAutogen: Use config without prefix in map key.
2013-12-02 12:07:31 -05:00
Brad King 9d51c764f7 Merge topic 'export-includes'
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
2013-12-02 12:06:43 -05:00
Brad King 9c56366250 Merge topic 'KateProjectGenerator2'
b54c336 kate: add some documentation
9414217 kate: insert build targets
644e012 kate: add project generator for the Kate project plugin
2013-12-02 12:06:27 -05:00
Brad King c0897cfad0 Help: Document PDB behavior w.r.t. static libraries explicitly (#14600)
Document PDB_NAME and PDB_OUTPUT_DIRECTORY as applying only to shared
libraries and executables.  Add an explicit note to explain why they
do not work for static libraries.
2013-12-02 11:32:41 -05:00
Brad King 09c05f37cf Help: Format PDB_NAME and PDB_OUTPUT_DIRECTORY documentation
Add reStructuredText inline markup.
2013-12-02 11:11:40 -05:00
Brad King cb7b90726c Help: Document CMAKE_PDB_OUTPUT_DIRECTORY_<CONFIG> variable 2013-12-02 11:11:07 -05:00
Stephen Kelly 98093c45db QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property.
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.
2013-11-27 19:06:12 +01:00