Commit Graph

348 Commits

Author SHA1 Message Date
Jiri Malak 06986afc4b Help: Update CMAKE_SYSTEM* and CMAKE_HOST_SYSTEM* documentation
Update to documentation for HOST/TARGET system related variables to be
consistent with current functionality.
2014-03-04 10:01:26 -05:00
Brad King 54a4c93087 Merge branch 'doc-find_package-build-paths' into release 2014-03-03 14:43:36 -05:00
Brad King 69d73d27cb Help: Mention in find_package that cmake-gui step is Windows-only (#14781)
Recently used cmake-gui locations are searched only on Windows because
the Windows registry is used to record the values.  This behavior is
historical and may be removed by a policy in the future so rather than
implementing it on other platforms simply document the current behavior.
2014-03-03 14:36:48 -05:00
Brad King 8982a4b301 Merge topic 'add_definitions-no-genex'
1a9316a8 add_definitions: Don't document genex support.
2014-03-03 10:32:05 -05:00
Brad King d838c477ae Merge topic 'CMP0043-dir-prop'
38df26bc CMP0043: Document old and new interfaces for setting directory property.
2014-03-03 10:31:53 -05:00
Brad King c69a84c308 Merge branch 'CMP0043-dir-prop' into release 2014-03-03 10:12:05 -05:00
Brad King 9efba5d956 Merge branch 'add_definitions-no-genex' into release 2014-03-03 10:12:01 -05:00
Stephen Kelly 38df26bc6f CMP0043: Document old and new interfaces for setting directory property. 2014-03-03 10:11:19 -05:00
Stephen Kelly 1a9316a808 add_definitions: Don't document genex support.
This command does not support generator expressions. The documentation
was mistakenly extended to claim it in commit v3.0.0-rc1~60^2~3 (Help: Mark
up the buildsystem commands documentation, 2014-02-03).
2014-03-03 10:10:39 -05:00
Brad King d57bc8797d Merge topic 'FindRuby-2'
57abfeaa Help: Add FindRuby-2 topic release notes
165f6430 FindRuby: Add support for Ruby 2.0 and 2.1
2014-03-03 10:06:24 -05:00
Brad King eafd2a8511 Merge topic 'FindPkgConfig-PKG_CONFIG'
80aa18b4 Help: Add release notes for topic 'FindPkgConfig-PKG_CONFIG'
c53b5cd2 FindPkgConfig: Prefer PKG_CONFIG to find pkg-config (#13175)
2014-02-28 09:48:38 -05:00
Brad King e62102bef1 Merge topic 'FindGTest-AUTO-SOURCES'
ac42bca8 Help: Add FindGTest-AUTO-SOURCES topic release notes
c50325b8 FindGTest: Optionally detect sources automatically (#14775)
2014-02-28 09:48:36 -05:00
Brad King 27defbd6d4 Merge topic 'add-FindOpenCL'
1b08e609 Help: Add release notes for topic 'add-FindOpenCL'
041485bc Add FindOpenCL module
2014-02-28 09:48:30 -05:00
Brad King 2a93843f3f Merge topic 'ExternalProject-BUILD_ALWAYS'
755b378e Help: Add ExternalProject-BUILD_ALWAYS topic release notes
2014-02-28 09:48:27 -05:00
Brad King 244b7696ed Merge topic 'FindHg-add-WC_INFO'
02a74a7d Help: Add FindHg-WC_INFO topic release notes
2014-02-28 09:48:25 -05:00
Brad King 80aa18b4a8 Help: Add release notes for topic 'FindPkgConfig-PKG_CONFIG' 2014-02-28 09:48:20 -05:00
Brad King 1b08e6095b Help: Add release notes for topic 'add-FindOpenCL' 2014-02-28 09:18:06 -05:00
Brad King 42f981987e Merge branch 'FindRuby-2' into release 2014-02-28 08:50:32 -05:00
Brad King 5161f7bc36 Help: Consolidate FindRuby-2 release notes for 3.0.0 2014-02-28 08:50:05 -05:00
Brad King 57abfeaac5 Help: Add FindRuby-2 topic release notes 2014-02-28 08:47:12 -05:00
Brad King 755b378e57 Help: Add ExternalProject-BUILD_ALWAYS topic release notes 2014-02-27 09:09:02 -05:00
Brad King 02a74a7d9f Help: Add FindHg-WC_INFO topic release notes 2014-02-27 09:03:32 -05:00
Brad King ac42bca833 Help: Add FindGTest-AUTO-SOURCES topic release notes 2014-02-27 08:54:13 -05:00
Brad King 041ba1eefd Merge topic 'INTERFACE-property-docs'
ad75afbf Help: List the whitelist of properties for INTERFACE libraries.
2014-02-26 09:38:58 -05:00
Brad King 6223621e9a Merge topic 'msvc-compiler-pdb-files'
fba51b09 MSVC: Add properties to configure compiler PDB files (#14762)
3737860a cmTarget: Add per-config compilation info
718a9532 cmTarget: Refactor ComputePDBOutputDir interface
aae5184c Help: Refactor PDB_NAME and PDB_OUTPUT_DIRECTORY docs
b4aac0ca Makefile: Fix per-config linker PDB output directory
2014-02-26 09:38:51 -05:00
Brad King fba51b096e MSVC: Add properties to configure compiler PDB files (#14762)
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.
2014-02-26 09:34:38 -05:00
Matthäus G. Chajdas 041485bc16 Add FindOpenCL module 2014-02-26 08:53:00 -05:00
Stephen Kelly ad75afbfb4 Help: List the whitelist of properties for INTERFACE libraries. 2014-02-26 10:40:49 +01:00
Brad King 958cd84431 Merge topic 'dev/faster-parsers'
048be205 Help: Add release notes for the 'faster-parsers' topic
7c565d2f cmGeneratorExpression: Improve parsing in StripEmptyListElements
68eb1757 cmGeneratorExpressionLexer: Use a switch statement to parse
67253133 ExpandListArguments: Optimize the parser
2014-02-25 11:18:14 -05:00
Ben Boeckel 048be20536 Help: Add release notes for the 'faster-parsers' topic 2014-02-25 10:56:10 -05:00
Brad King aae5184c16 Help: Refactor PDB_NAME and PDB_OUTPUT_DIRECTORY docs
Move the note about VS 6 into the PDB_NOTE.txt common include file
and include it from the per-config properties too.  Also re-word
the note to clarify the separate compiler and linker flags involved
and state explicitly that compiler flags are not affected.
2014-02-24 13:44:27 -05:00
Brad King cf42f93d07 Merge topic 'install-FILES-genex'
6e89c8a5 install: Support generator expressions in FILES and PROGRAMS mode
f11f7b34 cmInstallFilesGenerator: Add reference to calling cmMakefile
e190236c Help: Format install() command documentation
2014-02-24 10:40:04 -05:00
Brad King c124c7de1d Merge topic 'doc-add_test-cleanup'
8afa5fe8 Help: Revise and format add_test() command documentation
2014-02-24 10:40:03 -05:00
Brad King b686154b61 Merge branch 'install-FILES-genex' into release 2014-02-24 09:16:36 -05:00
Brad King 6e89c8a5f1 install: Support generator expressions in FILES and PROGRAMS mode
Teach the install(FILES) and install(PROGRAMS) commands to evaluate
generator expressions in the list of files.

Extend the ExportImport test to cover installation cases involving
generator expressions.
2014-02-21 17:05:26 -05:00
Brad King e190236c74 Help: Format install() command documentation
Add inline markup and explicit markup blocks as appropriate.
2014-02-21 17:05:26 -05:00
Brad King 549b4d02d4 Merge branch 'doc-add_test-cleanup' into release 2014-02-20 09:53:08 -05:00
Brad King 8afa5fe8ce Help: Revise and format add_test() command documentation
Favor the add_test(NAME) signature and document the limitations of
the plain signature.
2014-02-20 08:58:13 -05:00
Brad King 28dcccface Begin post-3.0 development 2014-02-19 09:30:37 -05:00
Brad King 7cbab17871 Change version scheme to use only two components for feature levels
Historically CMake used three version components for the feature level.
We released new features while incrementing only the third version
component.  Since commit v2.8.2~105^2~4 (New version scheme to support
branchy workflow, 2010-04-23) we used the fourth version component for
bug-fix releases and the development date:

 <major>.<minor>.<patch>[.<tweak>][-rc<n>] = Release
 <major>.<minor>.<patch>.<date>[-<id>]     = Development

This solidified use of three components for the feature level, and was
necessary to continue releasing 2.x versions because:

* Some existing projects performed floating-point comparisons of
  ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} to 2.x numbers
  so ``x`` could never be higher than 9.

* Version 2.9.<date> was used briefly in post-2.8.0 development in
  CVS prior to the transition to Git, so using it in releases may
  have caused confusion.

Now that we are moving to 3.x versions, these two restrictions go away.
Therefore we now change to use only two components for the feature
level and use the scheme:

 <major>.<minor>.<patch>[-rc<n>] = Release
 <major>.<minor>.<date>[-<id>]   = Development
2014-02-19 09:30:13 -05:00
Brad King f8ccb6d038 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2014-02-19 09:30:12 -05:00
Brad King db68dd2454 Help: Rename 3.0 release notes to 3.0.0
Bug-fix releases 3.0.x may have their own notes so this will look more
consistent.
2014-02-19 09:30:00 -05:00
Brad King d30e4fa703 Help: Consolidate remaining 3.0 release notes 2014-02-19 08:39:44 -05:00
Brad King a7c956b867 Merge topic 'doc-usage-requirements'
0c54b775 Help: Document the purpose of usage requirements clearly.
2014-02-19 08:34:29 -05:00
Brad King 9304d09613 Merge topic 'FindBoost-namespace'
17485e37 FindBoost: Add suport for custom namespaces
2014-02-19 08:34:24 -05:00
Brad King 5a607c4a6f Merge topic 'doc-package-registry'
bf012e0c Help: Format find_package() command documentation
bd6887e4 Help: Document the package registry in cmake-packages.7
2014-02-19 08:34:22 -05:00
Stephen Kelly 0c54b775a4 Help: Document the purpose of usage requirements clearly.
People will be tempted to put things there for convenience, thereby
causing conflicts similar to

 http://thread.gmane.org/gmane.comp.compilers.clang.devel/35162/focus=35169

where it is conceivable that the LLVM developers could put a flag on
a target for convenience, which would cause conflicts for some downstreams.
2014-02-18 16:08:44 +01:00
Chuck Atkins 17485e37a2 FindBoost: Add suport for custom namespaces
When building boost with an alternate namespace the libraries generated
will have a different naming convention.  This is often done to ensure
no symbol conflicts with external libraries built against a different
version of boost.  If the namespace used is "myprivateboost::" instead
of "boost::" then the libraries built will be named myprivateboost_foo
instead of boost_foo.  Add an option to specify a custom namespace used
to alter the library names that get searched for.
2014-02-17 16:05:48 -05:00
Brad King bf012e0cb6 Help: Format find_package() command documentation
Add inline markup and explicit markup block syntax as needed.
Add cross-references to other documentation as appropriate.
2014-02-17 15:37:04 -05:00
Brad King bd6887e4d6 Help: Document the package registry in cmake-packages.7
Port documentation from the CMake Wiki page at:

 http://www.cmake.org/Wiki/CMake/Tutorials/Package_Registry

as of 2014-02-17 into our main documentation.
2014-02-17 15:34:48 -05:00
Stephen Kelly a74d125a7c Help: Fix typo
binary_find -> binary_search.
2014-02-17 11:07:59 +01:00
Stephen Kelly f2eee72fac add_custom_command: Disallow use of SOURCE signatures.
Add CMP0050 to control this behavior.
2014-02-12 11:19:27 -05:00
Stephen Kelly c248a437c4 Add policy CMP0049 to avoid variable expansion in source lists 2014-02-12 11:17:38 -05:00
Brad King 10f90d644c Help: Add CMake 3.0 Release Notes
Manually read through version control history since the 2.8.12.2
release and write release notes for important user-facing changes.

Co-Author: Stephen Kelly <steveire@gmail.com>
2014-02-11 09:07:14 -05:00
Brad King 5d05124cb7 Merge topic 'doc-policy-version-3.0'
aab11bca Help: Change version 3.0.0 -> 3.0 in policy docs
2014-02-10 15:40:33 -05:00
Brad King aab11bcab4 Help: Change version 3.0.0 -> 3.0 in policy docs
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.
2014-02-10 11:40:21 -05:00
Brad King 89d49eccc5 Merge topic 'extend-docs'
0b3e98d9 Help: Don't list debuggable properties in cmake-buildsystem manual.
39d08b92 Help: Add additional hyperlink targets
ef17e293 Help: Document SYSTEM treatment of IMPORTED target INTERFACE_INCLUDE_DIRS
2014-02-10 11:25:10 -05:00
Brad King f67ab2a920 Merge topic 'release-notes-prep'
4b7f2f52 Help: Add hyperlink targets for argument types in cmake-language(7)
113df227 Remove ChangeLog.manual
79f55909 Remove ChangeLog.txt
d25dbc90 Tests/BundleTest: Drop use of ChangeLog.txt
2014-02-10 11:24:58 -05:00
Stephen Kelly 0b3e98d913 Help: Don't list debuggable properties in cmake-buildsystem manual. 2014-02-10 09:03:53 +01:00
Stephen Kelly 39d08b929e Help: Add additional hyperlink targets 2014-02-09 12:11:09 +01:00
Stephen Kelly ef17e29389 Help: Document SYSTEM treatment of IMPORTED target INTERFACE_INCLUDE_DIRS
Document how the behavior can be controlled.
2014-02-09 12:11:09 +01:00
Brad King 4b7f2f5213 Help: Add hyperlink targets for argument types in cmake-language(7)
Add reStructuredText hyperlink targets for the bracket, quoted, and
unquoted argument sections.
2014-02-07 13:35:50 -05:00
Stephen Kelly f02b5fb5a0 Help: Fix typo.
'to not to' -> 'not to'
2014-02-07 14:25:19 +01:00
Stephen Kelly cc46b702d0 Help: Adjust the QtAutogen properties to the common style.
Link to the cmake-qt manual.
2014-02-06 16:15:54 -05:00
Stephen Kelly f371545d3b Help: Use ``True`` and ``False`` for IMPORTED values.
Only the first letter is capitalized. It is marked up.
2014-02-06 16:15:54 -05:00
Stephen Kelly 3879c84782 Help: Document relation of properties to the rest of the buildsystem. 2014-02-06 16:15:53 -05:00
Stephen Kelly ba4c2fa8fd Help: Mark up the buildsystem commands documentation
Cross-link to the cmake-buildsystem manual.
2014-02-06 16:15:53 -05:00
Stephen Kelly a683262a72 Help: Note that the compatible interface properties must not intersect. 2014-02-06 16:15:53 -05:00
Stephen Kelly fbe01bedbe Help: Specify how to order and modify transitively set property values. 2014-02-06 16:15:53 -05:00
Stephen Kelly 645500b413 Help: Add hyperlink targets to some manual sections.
These can be refered to from the command documentation and other
relevant locations.
2014-02-06 16:15:53 -05:00
Stephen Kelly 85a4fad78c Help: Use ``inline-literals`` to mark generator expressions. 2014-02-06 16:15:52 -05:00
Stephen Kelly a0fa025377 Help: Mark up references to NEW and OLD policy settings properly. 2014-02-06 16:15:52 -05:00
Stephen Kelly 6c02e7f427 Help: Add a style guide. 2014-02-06 16:15:50 -05:00
Stephen Kelly 91fbff8820 Help: Fix typos
Psuedo -> Pseudo

 behaviour -> behavior

CMake uses American spelling.
2014-02-06 16:14:13 -05:00
Brad King fed3f88f8c Merge topic 'doc-version-components'
52e7beb6 Help: Expand documentation of CMAKE_VERSION and related variables
2014-02-05 09:34:37 -05:00
Brad King 0bae76b439 Merge topic 'release-notes'
ccc87047 Help: Add documents to collect notes between releases
70309e70 Help: Add documents for release notes
34ea1f15 Utilities/Sphinx: Add option to build 'text' format
2014-02-05 09:34:30 -05:00
Brad King 52e7beb6ab Help: Expand documentation of CMAKE_VERSION and related variables
Describe the meaning of each version component in more detail in the
documentation of CMAKE_VERSION.  Simplify the per-component version
variable documentation by referencing the main variable.

Include information about how to compare version strings.  Also add
an historical note about the version scheme used prior to commit
v2.8.2~105^2~4 (New version scheme to support branchy workflow,
2010-04-23).
2014-02-05 09:24:41 -05:00
Brad King ccc8704777 Help: Add documents to collect notes between releases
Add a release/dev.txt file and include it from release/index.rst in
development versions.  Add a "Changes Since Release" section with a
toctree that globs adjacent "dev/*" documents.  Add a sample topic
document explaining how topic-specific release note documents work.

This approach will allow developers to write release notes for their
changes as they are made.  The release manager may then consolidate and
organize the notes for a specific release version.
2014-02-04 11:48:54 -05:00
Brad King 70309e7083 Help: Add documents for release notes
Add a release/index.rst document titled "CMake Release Notes" to hold
the toctree for release notes.  Add a "Release Notes" section to the
top-level html document index to link to the new document.
2014-02-04 11:15:12 -05:00
Alex Merry 635e96dde2 Help: Be clearer about which header files are considered for AUTOMOC
The old documentation stated that "all header files" were considered,
which was not true for any sensible definition of "all header files".
Only header files with certain names are considered.

Document the filename patterns matched for parsing.
2014-02-04 13:42:39 +01:00
Brad King 2e2552af65 Merge topic 'cmake-qt-manual'
4271a4ed Help: Add information about INTERFACE_AUTOUIC_OPTIONS.
7935f4de Help: Note that AUTOMOC consumes the defines and includes from targets.
2739a6f9 Help: Move Qt tool invocation information to a generic cmake-qt manual.
2014-02-03 11:11:14 -05:00
Stephen Kelly 4271a4ed35 Help: Add information about INTERFACE_AUTOUIC_OPTIONS. 2014-02-02 11:50:16 +01:00
Stephen Kelly 7935f4dec8 Help: Note that AUTOMOC consumes the defines and includes from targets. 2014-02-02 11:34:04 +01:00
Stephen Kelly 2739a6f97e Help: Move Qt tool invocation information to a generic cmake-qt manual.
Add an introduction about the use of different package types, and the
ability to use Qt 4 and 5 versions together in a single buildsystem.

Add a section about automatic linking of the qtmain.lib library and
how to disable it.
2014-02-02 11:28:12 +01:00
Brad King 7e142c5ac2 project: Manage VERSION variables
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>
2014-01-29 09:45:18 -05:00
Brad King 16d040c958 project: Add optional LANGUAGES keyword
Teach the project() command to recognize an optional "LANGUAGES"
keyword after the project name and prior to the list of languages.
Do not allow multiple copies of the keyword.  If the keyword is
specified and no languages are listed, imply NONE.
2014-01-29 09:40:51 -05:00
Brad King 00007dcc36 Help: Format project command and variable documentation
Also add document for CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE variable.
2014-01-29 09:15:20 -05:00
Stephen Kelly ed632736e3 Help: Note that std::string::clear may not be used.
As found in commit 519c0a5d (Can't use std::string::clear() in
cmake., 2012-09-15).
2014-01-27 13:02:59 -05:00
Stephen Kelly cc04bb6c16 Help: Document non-use of std::set::insert.
As found in commit 8e7c207e (Use a manual loop to insert into
set::set., 2012-09-15).
2014-01-27 13:02:59 -05:00
Brad King 0bd4157886 Merge topic 'cmake-rerun-depends'
82d43175 Allow projects to specify extra inputs to CMake
1ef444d6 Add test case to verify CMake does not re-run on first build
2014-01-22 08:47:59 -05:00
Brad King d8d3e9241e Merge topic 'cmake-E-sleep'
94389f63 cmake: Add '-E sleep' command
2014-01-22 08:47:57 -05:00
Stephen Kelly e00db59d6c QNX: Introduce QCC compiler id for that QNX platform compiler.
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.
2014-01-22 08:47:32 -05:00
Brad King 82d4317503 Allow projects to specify extra inputs to CMake
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.
2014-01-21 14:14:49 -05:00
Brad King 94389f6388 cmake: Add '-E sleep' command
Add a cmake command-line interface to provide a cross-platform 'sleep'.
2014-01-21 13:50:49 -05:00
Brad King 25d414625a Merge topic 'update-qt4-docs'
f81e67c6 Help: Update Qt4 documentation.
2014-01-20 10:59:19 -05:00
Brad King 45056264bb Help: Document CMAKE_OSX_* variables
Add documentation entries for variables

 CMAKE_OSX_ARCHITECTURES
 CMAKE_OSX_DEPLOYMENT_TARGET
 CMAKE_OSX_SYSROOT

Explain what each does and when/how they should be set.
2014-01-16 10:21:47 -05:00
Brad King c700a623c1 Merge topic 'fix-help-if-typo'
5968b6e0 Help: Fix typo in 'if()' command documentation
2014-01-16 09:24:17 -05:00
Raphael Kubo da Costa 5968b6e030 Help: Fix typo in 'if()' command documentation
s/argumemnts/arguments/
2014-01-15 15:47:59 -05:00
Stephen Kelly f81e67c616 Help: Update Qt4 documentation.
Remove independent doc listing for Qt4ConfigurationSettings, Qt4Macros
and UseQt4. These are implementation details.

Recommend the use of IMPORTED targets.

Remove references to the UseQt4 file, which is obsolete in light of
the IMPORTED targets.

Add documentation for automatic tool invocation and options.

Remove reference to variables which should not be needed in modern
implementations.
2014-01-15 16:23:51 +01:00
Rolf Eike Beer 3a0d164bb2 allow to mark a test as "Not Run" with a specific return code (#8466) 2014-01-14 23:57:40 +01:00