Commit Graph

1359 Commits

Author SHA1 Message Date
Robert Goulet 809159c9b7 Add generator expression support to OUTPUT_NAME target property 2015-07-09 11:48:10 -04:00
Brad King 9a1ef0dcfd Help: Improve OUTPUT_NAME documentation formatting
Also link to its variants.
2015-07-09 11:28:52 -04:00
Brad King 889b22e2ca Help: Add notes for topic 'FindIce-imported-targets' 2015-07-09 09:48:15 -04:00
Brad King c66d232c9c Merge topic 'string-append'
2b18cdca string: add APPEND subcommand
2015-07-08 09:21:52 -04:00
Brad King 8c1460653e Merge topic 'add-apple-swift-language'
bf112531 Add rudimentary support for the Apple Swift language with Xcode
2015-07-08 09:19:10 -04:00
Brad King ad91d0edd5 Merge topic 'auto_export_dll_symbols'
8f86407c Windows: Optionally generate DLL module definition files automatically
069aa93b bindexplib: Add support for "/bigobj" format objects
61bbbdcf bindexplib: Fix treatment of some symbols
de70c922 bindexplib: Teach DumpFile to return errors
8ea69dfe bindexplib: Build source as part of CMakeLib
2963cb2a bindexplib: Wrap long lines
4ff09893 bindexplib: Drop code that CMake does not need
7de8276c bindexplib: Add copyright/license notice block
65086ad7 bindexplib: Import original implementation from CERN
2015-07-08 09:19:07 -04:00
Daniel Pfeifer 2b18cdcaba string: add APPEND subcommand 2015-07-07 09:23:21 -04:00
Brad King bf11253163 Add rudimentary support for the Apple Swift language with Xcode
Allow the `Swift` language to be enabled with the Xcode generator for
Xcode >= 6.1.  Reject it on other generators and with older Xcode
versions.  Since Apple is the only vendor implementing the language
right now, the compiler id can be just `Apple`.
2015-07-06 16:15:49 -04:00
James Johnston e494763997 ExternalProject: Added new USES_TERMINAL options
Added new USES_TERMINAL option to the ExternalProject_Add_Step
function.  This option passes USES_TERMINAL to the underlying
add_custom_command call so that the Ninja console pool is used.
Also, corresponding new USES_TERMINAL_<step> options were added
to the ExternalProject_Add function.

Justification: if using Ninja with a CMake superbuild, it's often
desirable to limit the superbuild to ONE sub-Ninja process at a
time to avoid oversubscribing the CPU.  Using the console pool also
makes it easy to monitor the progress of the sub-Ninja process.

Independent USES_TERMINAL_<step> arguments are passed to
ExternalProject_Add instead of one USES_TERMINAL argument that
controls everything.  Users may wish to run some steps in parallel
but not others (e.g. parallelize configure but not build).
2015-07-06 14:51:40 -04:00
Bill Hoffman 8f86407cfd Windows: Optionally generate DLL module definition files automatically
Create target property WINDOWS_EXPORT_ALL_SYMBOLS to automatically
generate a module definition file from MS-compatible .obj files and give
it to the linker in order to export all symbols from the .dll part of a
SHARED library.
2015-07-06 11:11:02 -04:00
Brad King d59ab78585 Merge topic 'ctest-test-load'
f62d301b ctest: Optionally avoid starting tests that may exceed a given CPU load
07c550ca cmCTestMultiProcessHandler: Refactor RUN_SERIAL implementation
8bf5a80b cmSystemTools: Add StringToULong helper
dffc307c Tests: Teach RunCMake infrastructure to optionally timeout
2015-07-02 10:00:51 -04:00
Betsy McPhail f62d301b92 ctest: Optionally avoid starting tests that may exceed a given CPU load
Add a TestLoad setting to CTest that can be set via a new --test-load
command-line option, CTEST_TEST_LOAD variable, or TEST_LOAD option to
the ctest_test command.  Teach cmCTestMultiProcessHandler to measure
the CPU load and avoid starting tests that may take more than the
spare load currently available.  The expression

 <current_load> + <test_processors> <= <max-load>

must be true to start a new test.

Co-Author: Zack Galbreath <zack.galbreath@kitware.com>
2015-06-30 10:21:37 -04:00
Brad King 2a56a21c83 Merge topic 'doc-find-path-variables'
3117b5fe Help: Revise CMAKE_*_PATH and CMAKE_SYSTEM_*_PATH variable docs (#15631)
2015-06-25 10:39:25 -04:00
Brad King 3117b5feec Help: Revise CMAKE_*_PATH and CMAKE_SYSTEM_*_PATH variable docs (#15631)
Improve reStructuredText formatting and cross-references.  Specify
explicitly that each variable may be set to a ;-list of multiple values.
2015-06-25 10:05:23 -04:00
Zack Galbreath 93904772d7 Help: Fix typo in ctest_test documentation
s/acorss/across/
2015-06-24 11:15:19 -04:00
Brad King 8848298831 Merge topic 'doc-cmake-buildsystem-typo'
17c51521 Help: Fix a typo in cmake-buildsystem(7) manual
2015-06-22 13:00:25 -04:00
Erik Sjölund 17c5152170 Help: Fix a typo in cmake-buildsystem(7) manual
Add the property name INTERFACE_INCLUDE_DIRECTORIES that was missing
from a set_property command.
2015-06-22 09:02:55 -04:00
Brad King 41cd8547c4 Merge topic 'GNUInstallDirs-special-prefixes'
8bcec4d2 Help: Add notes for topic 'GNUInstallDirs-special-prefixes'
c8bd37ec GNUInstallDirs: Add special cases for certain prefixes
5f30f175 GNUInstallDirs: Add test cases
2015-06-19 08:51:45 -04:00
Brad King a53f1af79f Merge topic 'ConcurrentFortran-compiler-id'
54676a0e Help: Add notes for topic 'ConcurrentFortran-compiler-id'
7cd539b1 Add support for Concurrent Fortran 77 Compiler
0d204c1c CMakeDetermineCompilerId: Try matching compiler output to detect id
5f0dad75 CMakeDetermineCompilerId: Refactor id build/check loop logic
c65a060e CMakeDetermineCompilerId: Optionally try some flags before no flags
2015-06-19 08:51:43 -04:00
Brad King c780524a96 Merge topic 'doc-CMAKE_GENERATOR_PLATFORM-typo'
1c9db7db Help: Fix typo in CMAKE_GENERATOR_PLATFORM docs (#15621)
2015-06-19 08:51:41 -04:00
Brad King 54676a0e4c Help: Add notes for topic 'ConcurrentFortran-compiler-id' 2015-06-18 16:16:50 -04:00
Brad King 7cd539b163 Add support for Concurrent Fortran 77 Compiler
The Concurrent Fortran compiler (ccur.com) is available on Linux and can
be used much like the GNU Fortran compiler.  Currently it has no
preprocessor symbols to identify it so we need to detect it by matching
compiler output.

Suggested-by: Anthony Ette <Anthony.R.Ette@controlsdata.com>
2015-06-18 11:36:12 -04:00
Brad King 1c9db7db2c Help: Fix typo in CMAKE_GENERATOR_PLATFORM docs (#15621)
s/toolset/platform/
2015-06-18 09:16:43 -04:00
Brad King 8bcec4d229 Help: Add notes for topic 'GNUInstallDirs-special-prefixes' 2015-06-18 08:59:34 -04:00
Brad King c1113705d7 Merge topic 'compiler-launcher'
698f7597 Add options to launch the compiler through tools like ccache or distcc
2015-06-15 09:45:28 -04:00
Bill Hoffman 698f75971b Add options to launch the compiler through tools like ccache or distcc
Create a <LANG>_COMPILER_LAUNCHER target property (initialized by a
CMAKE_<LANG>_COMPILER_LAUNCHER variable) to specify a compiler launcher
tool.  This will supersede the CMAKE_<LANG>_COMPILER_ARG1 approach to
using such tools.  The old approach set CMAKE_<LANG>_COMPILER to the
launcher tool while the new approach leaves this variable set to the
actual compiler.

Implement this property for Makefile and Ninja generators.  It cannot be
implemented for VS or Xcode generators as the IDE build tools offer no
such hooks.
2015-06-15 09:36:48 -04:00
Brad King 31ce82d46d Merge topic 'FindBISON-DEFINES_FILE'
6863c0d5 Help: Add notes for topic 'FindBISON-DEFINES_FILE'
12e534c2 FindBISON: Add DEFINES_FILE option to pass --defines=FILE
eb859263 FindBISON: Use CMAKE_PARSE_ARGUMENTS to parse arguments
29985ad8 FindBISON: Use BISON_TARGET macro argument names internally
801b799f FindBISON: Improve documentation formatting
2015-06-11 13:16:20 -04:00
Brad King 6863c0d52c Help: Add notes for topic 'FindBISON-DEFINES_FILE' 2015-06-11 11:32:09 -04:00
Brad King ab660b8d22 Merge topic 'doc-policy-OLD-deprecated'
482a3bf3 Help: Document explicitly that policy OLD behavior is deprecated
2015-06-09 10:29:38 -04:00
Brad King 482a3bf3f0 Help: Document explicitly that policy OLD behavior is deprecated
The most likely documentation page a project author will read in
response to a policy warning is the page for the policy itself.
Add to every policy documentation page a note explicitly stating
that the OLD behavior is deprecated.  Also mention this in the
cmake_policy() command documentation that explains how to set a
policy to OLD.

Suggested-by: Fraser Hutchison <fraser.hutchison@gmail.com>
2015-06-09 09:29:41 -04:00
Brad King 1adcec3983 Merge topic 'doc-formatting'
c3f40f4f Help: Improve formatting of command documentation
2015-06-09 09:18:54 -04:00
Brad King 7f14943e5c Merge topic 'doc-find-versioned-location'
7ab0806f Help: Document find_* command versioned/unversioned name ordering
2015-06-09 09:18:52 -04:00
Brad King 3e49888ff0 Merge topic 'doc-find-command-cleanup'
3de3544f Help: Improve documentation formatting of find_* commands
8c64c478 Help: Document CMAKE_FIND_APPBUNDLE and CMAKE_FIND_FRAMEWORK
25b4483e Help: Document CMAKE_SYSTEM_APPBUNDLE_PATH variable
e2f34986 Help: Document CMAKE_SYSTEM_FRAMEWORK_PATH variable
2015-06-09 09:18:50 -04:00
Brad King f7be278a30 Merge topic 'doc-drop-incorrect-cmake-developer-advice'
972853b1 Help: Drop incorrect advice from cmake-developer.7 manual
2015-06-09 09:18:48 -04:00
Brad King a53d920290 Merge topic 'revert-mingw-no-find_library-dll'
f5dbf00d Windows-GNU: Restore find_library treatment of '.dll' as linkable (#15409)
2015-06-09 09:18:44 -04:00
Michael Scott c3f40f4fd9 Help: Improve formatting of command documentation
Use inline reStructuredText markup and add cross-references in more
places.
2015-06-08 16:28:31 -04:00
Brad King 7ab0806fef Help: Document find_* command versioned/unversioned name ordering
Suggest in the NAMES option that unversioned names go first to prefer
local builds over distro-provided files.
2015-06-08 16:13:56 -04:00
Brad King 3de3544fcd Help: Improve documentation formatting of find_* commands
Use inline reStructuredText markup and add cross-references in more
places.
2015-06-08 15:52:21 -04:00
Brad King 8c64c4783d Help: Document CMAKE_FIND_APPBUNDLE and CMAKE_FIND_FRAMEWORK
Add dedicated documents for these and link to them instead of
duplicating their documentation in every find command.
2015-06-08 15:45:59 -04:00
Brad King 25b4483ef8 Help: Document CMAKE_SYSTEM_APPBUNDLE_PATH variable 2015-06-08 15:21:47 -04:00
Brad King e2f349864d Help: Document CMAKE_SYSTEM_FRAMEWORK_PATH variable 2015-06-08 15:15:47 -04:00
Brad King 972853b15b Help: Drop incorrect advice from cmake-developer.7 manual
Drop the comment on the purpose of PATH_SUFFIXES in our Find Module
example.  It was incorrect.
2015-06-08 14:50:03 -04:00
Brad King 534cc47cd6 Merge topic 'doc-add_custom_command-clarify-TARGET_FILE'
0e708d17 Help: Reference TARGET_FILE genex in add_custom_command docs (#15605)
2015-06-08 10:34:51 -04:00
Brad King 092133b1ba Merge topic 'ExternalProject_init_selected_submodules'
77ee6db5 Help: Add notes for topic 'ExternalProject_init_selected_submodules'
124243c0 ExternalProject: Add unit tests for GIT_SUBMODULES argument
14e2c3ad ExternalProject: Initialize only selected git submodules (#15590)
2015-06-08 10:34:49 -04:00
Brad King 77ee6db505 Help: Add notes for topic 'ExternalProject_init_selected_submodules' 2015-06-08 10:27:06 -04:00
Brad King f5dbf00da6 Windows-GNU: Restore find_library treatment of '.dll' as linkable (#15409)
Revert commit v3.3.0-rc1~435^2 (Windows-GNU: Do not tell find_library to
treat '.dll' as linkable, 2015-02-18).  MinGW tools support linking to
'.dll' files directly and many non-CMake build systems still do not
provide a separate '.dll.a' file.
2015-06-08 10:16:18 -04:00
Brad King 0e708d17e9 Help: Reference TARGET_FILE genex in add_custom_command docs (#15605)
When documenting in the COMMAND option how to reference an executable,
we previously only explicitly covered how to do it for argv[0] and left
it to the reader to follow the reference to the generator expressions
manual.  Add explicit mention of the TARGET_FILE genex in this
documentation since it will be a commonly used generator expression in
this context.
2015-06-08 09:06:26 -04:00
Stephen Kelly 1335992c8f Remove CMAKE_USE_RELATIVE_PATHS variable.
The test for this variable was removed in commit v2.8.8~330^2~7 (complex:
Remove ancient unused ComplexRelativePaths test, 2011-12-23).

Commit v3.1.0-rc1~425^2~2 (backtrace: Convert to local paths in
IssueMessage, 2014-03-12) appears to have accidentally made some backtraces
print relative paths with the variable because conversions which used to be
done at configure time, before the variable had an effect are now potentially
done at generate time.

The documentation of the variable says not to use it, and the docs are wrong in
that the variable actually applies in per-directory scope.

The read of the variable makes it harder to split conversion methods from
cmLocalGenerator where they don't belong.  Remove it now.
2015-06-03 11:43:31 -04:00
Brad King d3bb5da929 Begin post-3.3 development 2015-06-02 11:19:44 -04:00
Brad King 9805fd90af Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2015-06-02 11:12:33 -04:00
Brad King c952d790de Help: Organize and revise 3.3 release notes
Add section headers similar to the 3.2 release notes and move each
individual bullet into an appropriate section.  Revise and consolidate
some bullets covering related areas.
2015-06-02 11:08:33 -04:00
Brad King 8ce87ac6ef Help: Consolidate 3.3 release notes
Move all development release notes into a new version-specific document:

 tail -q -n +3 Help/release/dev/* > Help/release/3.3.rst
 git rm -- Help/release/dev/*

except the sample topic:

 git checkout HEAD -- Help/release/dev/0-sample-topic.rst

Reference the new document from the release notes index document.
Add a title and intro sentence to the new document by hand.
2015-06-02 09:10:30 -04:00
Brad King 40bad51490 Merge topic 'doc-add_dependencies-no-install'
9504d7a9 Help: Explicitly mention lack of 'install' support in add_dependencies
2015-06-01 09:37:31 -04:00
Brad King 9504d7a99b Help: Explicitly mention lack of 'install' support in add_dependencies
CMake-generated targets are not supported by add_dependencies.  State
this explicitly and use 'install' as an example since this may be
commonly attempted.
2015-06-01 09:13:23 -04:00
Erik Sjölund a9b1838f97 Help: Fix typo in cmake-compile-features(7) manual (#15594)
target_link_libraries() is being used in the example code but
target_include_directories() was probably meant to be used. The sentence
that starts with "Consuming code then" indicates that the example is
about using the appropriate include directory.
2015-05-29 11:23:37 -04:00
Brad King 12b9005d7c Merge topic 'extend-visibility-properties'
700f1c3b Honor visibility properties for all target types (#15556)
50de5dbb Help: Format visibility property and variable documentation
771f1b00 Tests: Rename Visibility{InlinesHidden =>}
ab55b3b5 Tests: Refactor RunCMake.VisibilityPreset test setup
2015-05-26 09:24:00 -04:00
Brad King 129bf45dee Merge topic 'ExternalData-no-symlinks'
0de47b05 ExternalData: Add option to disable use of symlinks
2015-05-26 09:23:57 -04:00
Brad King 700f1c3b2b Honor visibility properties for all target types (#15556)
The <LANG>_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN were first
merged in commit v2.8.12~322 (Merge topic 'VISIBILITY_PRESET-property',
2013-06-05) but worked only for shared libraries and executables with
exports.  Prior to commit v3.0.0-rc1~581^2 (GenerateExportHeader:
Deprecate add_compiler_export_flags function., 2013-09-02) the
add_compiler_export_flags function was used to add visibility flags to
all targets.

The visibility flags are useful for sources in all target types because
they may be later linked into shared libraries or executables with
exports.  Introduce policy CMP0063 to enable them for all target types
while preserving compatibility with existing projects that do not expect
this.
2015-05-26 09:03:16 -04:00
Brad King 50de5dbbf5 Help: Format visibility property and variable documentation
Add reStructuredText markup appropriately.
2015-05-22 15:25:31 -04:00
Brad King 0de47b05f7 ExternalData: Add option to disable use of symlinks
Add an ExternalData_NO_SYMLINKS to enable use of copies instead of
symlinks to populate the real data files behind a DATA{} reference.
This will be useful on UNIX-like systems when the underlying filesystem
does not actually support symbolic links.

Suggested-by: Matt McCormick <matt.mccormick@kitware.com>
2015-05-22 09:21:47 -04:00
Brad King deec97d8ec Revert "Qbs: Add new 'extra' generator for qbs project files"
This reverts commit f85db2f323.

Discussion by the QtCreator community at

  https://bugreports.qt.io/browse/QTCREATORBUG-13695

raises concerns about this particular approach to working with CMake
projects using QtCreator.  Also, the functionality and design of the QBS
extra generator was never discussed on the CMake mailing list or with
QtCreator developers.  There may be better ways to make the two tools
work together.

In order to avoid committing to long-term support of this generator
prior to such discussion taking place, revert it from CMake for now.
We may restore this or use an alternative design based on results of
such discussion.
2015-05-21 09:05:58 -04:00
Brad King 2c54622ff5 Merge topic 'cmake-gui-osx-install-command-line'
e462ef74 Help: Add notes for topic 'cmake-gui-osx-install-command-line'
8ea2db26 cmake-gui: Replace command-line install dialog with information box
438ce4a0 cmake-gui: Add --install option to add command-line tools on OS X
41477d5c cmake-gui: Drop undocumented and unused --mac-install option
2015-05-21 09:03:50 -04:00
Brad King f3e4e3ecde Merge topic 'doc-cache-option-space'
b0ea3673 Help: Spell '-D' option consistently across documentation (#15575)
2015-05-21 09:03:48 -04:00
Brad King a23fdec8d2 Merge topic 'doc-cmake-buildsystem-typo'
7412d100 Help: Fix typo in cmake-buildsystem(7) manual
2015-05-21 09:03:43 -04:00
Brad King e462ef74e5 Help: Add notes for topic 'cmake-gui-osx-install-command-line' 2015-05-21 08:59:32 -04:00
Brad King b0ea367308 Help: Spell '-D' option consistently across documentation (#15575)
Always show the option with its argument separate in summary text.
State in the main documentation that the option and its argument can be
given together too.
2015-05-20 08:30:36 -04:00
Brad King 7412d100a2 Help: Fix typo in cmake-buildsystem(7) manual 2015-05-19 13:24:11 -04:00
Brad King ada5ffce7b Add options to run include-what-you-use with the compiler
Create a <LANG>_INCLUDE_WHAT_YOU_USE target property (initialized by a
CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE variable) to specify an IWYU command
line to be run along with the compiler.
2015-05-19 13:16:29 -04:00
Brad King 00ccfff2bc Merge topic 'cpack-ifw-updates'
342d15cb Update packaging of CMake for QtIFW 2.0
9a0ba4d2 CPackIFW: Add QtIFW 2.0 support
2015-05-18 09:56:17 -04:00
Brad King e5f8ead50b Help: Document behavior of cmake_minimum_required in a function
Add a note to the cmake_minimum_required documentation about the
limits of calling it in a function.
2015-05-15 14:48:15 -04:00
Konstantin Podsvirov 9a0ba4d24a CPackIFW: Add QtIFW 2.0 support
Add variables:

- CPACK_IFW_FRAMEWORK_VERSION
- CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
- CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
- CPACK_IFW_PACKAGE_CONTROL_SCRIPT
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
- CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
- CPACK_IFW_VERBOSE
2015-05-15 11:02:49 -04:00
Stephen Kelly b85d3b66c6 install: Disallow installing export() result. 2015-05-14 21:38:29 +02:00
Brad King 53bb51fc31 Merge topic 'ctest-no-make-i'
226df303 CTest: Stop telling 'make' to ignore errors with -i
28e7a135 Help: Fix build_command alternative signature docs
231601b6 build_command: Choose configuration consistently across signatures
2015-05-12 09:12:56 -04:00
Brad King 70d48e1287 Merge topic 'cpack-deb-component-dependencies'
1237d5fa Help: Add notes for topic 'cpack-deb-component-dependencies'
e3f522f6 CPack/DEB per component dependencies
2015-05-12 09:12:54 -04:00
Brad King ffd5d09225 Merge topic 'find_package-no-cmake-gui-paths'
1506f9ca find_package: Drop search in recent cmake-gui locations
8d484463 FindFLTK: Drop search in recent cmake-gui locations
2015-05-12 09:12:50 -04:00
Brad King 733ca510a6 Merge topic 'doc-file-COPY-preserves-structure'
f39d26ca Help: Clarify file(COPY) directory semantics (#15561)
2015-05-12 09:12:46 -04:00
Brad King 226df303f9 CTest: Stop telling 'make' to ignore errors with -i
Add policy CMP0061 to maintain compatibility for existing projects.
2015-05-12 09:06:49 -04:00
Brad King 28e7a135e0 Help: Fix build_command alternative signature docs
Do not specify that --config will not be added, because the
command does add it.
2015-05-12 09:06:49 -04:00
Brad King 1237d5fa8c Help: Add notes for topic 'cpack-deb-component-dependencies' 2015-05-12 09:05:17 -04:00
Brad King 1506f9ca56 find_package: Drop search in recent cmake-gui locations
The find_package command, on Windows, has always searched build trees
recently visited by cmake-gui (or CMakeSetup at one time).  This was
done when the command was created with the intention of simplifying
workflows involving building multiple dependent projects.  However,
this behavior depends on recent developer interaction and therefore
can create different find results based on transient system states.
It can lead to surprising results and user confusion.

Since this behavior was first added CMake has gained many more search
options, better error messages when a package is not found, and a
package registry.  The latter in particular allows projects to make
their build trees available for dependent projects to find without
user intervention.  Therefore the originally intended workflow can
be achieved in other, more stable ways.

After the above evoluion of find_package we have now decided that
the magic search-where-cmake-gui-was behavior does more harm than
good.  Drop it.  We do not need a policy for this behavior change
because it only affects interactive use.
2015-05-08 11:27:02 -04:00
Brad King 6831f91a6c Merge topic 'doc-ctest-command-formatting'
695d6f62 Help: Revise ctest_* command documentation (#15559)
f8716c8b Help: Update cmake-generators(7) organization for GHS
2015-05-08 09:41:24 -04:00
Brad King f39d26caa7 Help: Clarify file(COPY) directory semantics (#15561)
State explicitly that directory structure is preserved.
2015-05-08 09:29:05 -04:00
Brad King 695d6f62d3 Help: Revise ctest_* command documentation (#15559)
Revise documentation for the major dashboard client step ``ctest_*``
commands.  Modernize the documentation formatting.  Add some missing
options.
2015-05-07 16:10:20 -04:00
Brad King f8716c8b44 Help: Update cmake-generators(7) organization for GHS 2015-05-07 15:52:29 -04:00
Brad King f65bb82f36 execute_process: Improve stdout/stderr merging
Use the KWSys Process "MergeOutput" option to give the child process
the same pipe (or file) for both stdout and stderr.  This allows
natural merging of stdout and stderr together instead of merging
on arbitrary buffered read boundaries as before.
2015-05-07 14:40:38 -04:00
Brad King ee1ddec4c1 Merge topic 'update-ctest_build-docs'
5731fb2e ctest_build: mention CTEST_BUILD_COMMAND in the docs
753da8c6 ctest_build: update the default target documentation
5ab896ae ctest_build: spruce up the documentation a bit
2015-05-07 14:32:11 -04:00
Brad King 18527c4991 Merge topic 'vs-install-in-default-build'
a6e4e73d VS: Add option to put INSTALL target in .sln default build
562e69dd Tests: Enable devenv tests on VS >= 10
2015-05-07 14:25:37 -04:00
Raffi Enficiaud 4588a1697f CPack/DEB component dependency auto-discovery
Dependency auto-discovery can now be set per component
2015-05-07 14:21:57 -04:00
Ben Boeckel 5731fb2e5e ctest_build: mention CTEST_BUILD_COMMAND in the docs 2015-05-07 13:05:54 -04:00
Ben Boeckel 753da8c6f1 ctest_build: update the default target documentation 2015-05-07 13:05:54 -04:00
Ben Boeckel 5ab896aede ctest_build: spruce up the documentation a bit
Adds markup and links to other sections.
2015-05-07 13:05:54 -04:00
Robert Goulet a6e4e73da3 VS: Add option to put INSTALL target in .sln default build
Add a CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD variable to control
this behavior.
2015-05-06 10:31:39 -04:00
Brad King 735b7092e8 Merge topic 'if-IN_LIST'
aed6239e if: Implement new IN_LIST operator
2015-04-30 10:32:03 -04:00
Brad King b39929ab42 Merge topic 'revert-CMP0057'
32a2f414 Revert "add_custom_command: Diagnose MAIN_DEPENDENCY limitation."
2015-04-30 10:32:01 -04:00
Brad King e2f72ebdbe Merge topic 'doc-CMP0054-example'
9535b86d Help: Replace CMP0054 example to show when it makes a difference
2015-04-30 10:31:59 -04:00
Brad King 9d1dc38ffc Merge topic 'doc-target-file-types'
d401aa21 Help: Revise buildsystem artifact file type documentation (#15539)
2015-04-30 10:31:55 -04:00
Brad King 769facf0b6 Merge topic 'doc-cmake_minimum_required-first'
6ac3712d Help: Document that cmake_minimum_required should be called first
2015-04-30 10:31:53 -04:00
Nils Gladitz aed6239e40 if: Implement new IN_LIST operator 2015-04-30 10:21:19 -04:00
Nils Gladitz 32a2f41402 Revert "add_custom_command: Diagnose MAIN_DEPENDENCY limitation."
This reverts commit 242c3966 (add_custom_command: Diagnose
MAIN_DEPENDENCY limitation, 2015-03-09) and the follow up commit
b372a99a (UseSWIG: Do not use MAIN_DEPENDENCY on custom commands,
2015-03-26).

I misdiagnosed the underlying issue that prompted creation of policy CMP0057.
The actual issue surfaces when a single custom command's MAIN_DEPENDENCY
is listed in more than one target; this issue will have to be addressed
independently.
2015-04-30 10:20:20 -04:00
Tamás Kenéz 9535b86d3c Help: Replace CMP0054 example to show when it makes a difference
The previous example for CMP0054 did not show how critical the policy is
since the result is the same in both cases (NEW and OLD behavior).
Instead show an example when the policy does make a difference.
2015-04-29 11:25:16 -04:00
Brad King d401aa21c9 Help: Revise buildsystem artifact file type documentation (#15539)
Add sections to the cmake-buildsystem(7) manual and cross-reference
them with relevant variables and target properties.  This avoids
duplicating the information and allows it to be more detailed.
2015-04-29 11:17:59 -04:00
Brad King 5373e1731a Merge topic 'CMP0026-doc-title'
853ef717 Help: Clarify policy CMP0026 title
2015-04-29 11:11:44 -04:00
Brad King 6ac3712da0 Help: Document that cmake_minimum_required should be called first
Many projects put their project() call first, but the actions taken
by this command can be influenced by policies and other information
set by a call to cmake_minimum_required.  Document in each of these
two commands that cmake_minimum_required should be called first.

Suggested-by: Alan W. Irwin
2015-04-29 08:49:59 -04:00
Brad King 5b8c5a6c0b Merge topic 'doc-sizeof_void_p'
1b03332e Help: Clarify that CMAKE_SIZEOF_VOID_P is specific to the target machine
2015-04-28 13:55:50 -04:00
Brad King 7244e8452f ctest: Consolidate documentation of CTEST_USE_LAUNCHERS (#15533)
The documentation of this variable in the CTest module is outdated
and has been superseded by the ctest(1) manual.  In particular, the
latter mentions that it works with the Ninja generator as well as
makefile generators.  Remove the documentation from the CTest module
and replace it with a link to the main variable documentation (which
already references the ctest(1) manual).
2015-04-28 13:32:23 -04:00
Nils Gladitz 853ef717aa Help: Clarify policy CMP0026 title
Clarify that the policy only applies to build targets and
not e.g. imported targets.

Suggested-by: Alan W. Irwin
2015-04-28 10:44:37 +02:00
Nils Gladitz 1b03332eee Help: Clarify that CMAKE_SIZEOF_VOID_P is specific to the target machine 2015-04-23 17:39:49 +02:00
Brad King 1468f31988 Merge topic 'ExternalProject-genex'
b470d618 Help: Add notes for topic 'ExternalProject-genex'
0273ef14 ExternalProject: Allow generator expressions with LOG_* options (#15287)
7bd8cfb8 ExternalProject: Allow generator expressions in initial cache options
1cf43dcf Tests: Add case to cover ExternalProject with subdirectories
2015-04-22 11:16:43 -04:00
Brad King 5e98ba0cd8 Merge topic 'doc-ctest-env-formatting'
a61e0994 Help: Fix formatting of env var refs in ctest.1 manual
2015-04-22 11:16:38 -04:00
Brad King 941e3bd2b6 Help: Document in find_library how to search for static libraries
This has been implemented since commit v2.6.0~295 (Make find_library
test for the library file as named, 2008-02-06).  Add the docs.
2015-04-22 09:29:55 -04:00
Brad King a61e09948f Help: Fix formatting of env var refs in ctest.1 manual 2015-04-22 08:30:51 -04:00
Brad King b470d61864 Help: Add notes for topic 'ExternalProject-genex' 2015-04-21 10:51:08 -04:00
Brad King 50eefbb7e3 Merge topic 'cpack-rpm-refactored-file-listing'
cd953bf7 Help: Add notes for topic 'cpack-rpm-refactored-file-listing'
76080c32 CPackRPM content listing refactor
152e9b32 CPackRPM package content list code move
2015-04-21 08:44:57 -04:00
Brad King cd953bf7a0 Help: Add notes for topic 'cpack-rpm-refactored-file-listing' 2015-04-20 14:42:02 -04:00
Brad King 5e0e65c189 Merge topic 'add-GreenHills-MULTI-generator'
66b641f4 Help: Add notes for topic 'add-GreenHills-MULTI-generator'
48004d9d Add a 'Green Hills MULTI' generator on Windows
051d8be1 cmLocalGenerator: Constify some cmTarget and cmGeneratorTarget arguments
2015-04-20 14:02:52 -04:00
Brad King 66b641f443 Help: Add notes for topic 'add-GreenHills-MULTI-generator' 2015-04-20 13:55:40 -04:00
Geoff Viola 48004d9dbe Add a 'Green Hills MULTI' generator on Windows
Green Hills MULTI is an IDE for embedded real-time systems.  The IDE's
product page can be found here:

 http://www.ghs.com/products/MULTI_IDE.html

It supports cross compiling on ARM, Intel x86, and other architectures
with various operating systems.  The IDE exists on Linux and Windows
host systems, but CMake will currently only generate the project files
on Windows host systems.
2015-04-20 13:55:40 -04:00
Brad King 164f1df26d Help: Clarify PDB_NAME fallback behavior (#15518)
It uses the OUTPUT_NAME if set, not always the target name.
2015-04-17 11:00:56 -04:00
Brad King f4e5a0e6aa Merge topic 'FPHSA-updates'
84f06d0c FPHSA: Document REQUIRED_VARS recommendation (#15352)
a3ad275c FPHSA: Revise and format documentation
d1a6d15b FPHSA: Always populate the ExactCase_FOUND variable (#15412).
2015-04-17 10:50:10 -04:00
Stephen Kelly d1a6d15bcd FPHSA: Always populate the ExactCase_FOUND variable (#15412).
The UPPERCASE name was inconsistent with config-packages, the
find_dependency macro, and even FPHSA itself, which expects
components to be specified with names matching ExactCase.

The FOUND_VAR was only permitted to have two possible values, and
now both are set for compatibility.  Document it as obsolete, and
adjust the code for the same.  Users of the variable should just
remove it.
2015-04-17 10:46:24 -04:00
Brad King 2ee128d9c8 Merge topic 'vs10-no-macros'
885ab9ab VS: Drop reload macros for VS >= 10 (#11258,#14680)
2015-04-16 09:58:50 -04:00
Brad King ab033b0789 Merge topic 'vs70-deprecate'
7b8e7c4a Deprecate Visual Studio 7 generator (.NET 2002)
2015-04-16 09:58:48 -04:00
Brad King 5a45497fc1 Merge topic 'vs6-deprecate'
85c2626b Deprecate Visual Studio 6 generator
2015-04-16 09:58:45 -04:00
Brad King fc579b91e0 Merge topic 'doc-ninja-non-experimental'
9ac05683 Ninja: Drop 'experimental' label in documentation
2015-04-15 11:46:12 -04:00
Brad King 885ab9ab37 VS: Drop reload macros for VS >= 10 (#11258,#14680)
We never implemented them for VS 11 (2012), 12 (2013), or 14 (2015).
For VS 10 (2010) the reload macro does not work correctly when run from
inside a build launched through the IDE because stopping the build kills
the CMake that is driving the reload.  Fortunately VS >= 10 know how to
reload the whole solution anyway.
2015-04-15 09:58:42 -04:00
Brad King 7b8e7c4ac3 Deprecate Visual Studio 7 generator (.NET 2002)
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2015-04-15 09:21:24 -04:00
Brad King 85c2626bab Deprecate Visual Studio 6 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2015-04-15 09:08:57 -04:00
Brad King 9ac0568390 Ninja: Drop 'experimental' label in documentation
This generator is no longer experimental and has been fairly
mature for several releases already.
2015-04-14 13:14:50 -04:00
Brad King fef1f26749 Help: Fix {GIT,P4}UpdateCustom documentation (#15512)
The GITUpdateCustom and P4UpdateCustom options take only one command
line with all arguments as a ;-list, not a ;-list of multiple command
lines.  Fix the incorrect documentation originally added by commit
v3.1.0-rc1~463^2 (Help: Document ctest dashboard client usage,
2014-05-30).
2015-04-13 13:00:58 -04:00
Nils Gladitz d2cc580704 cmake: Teach "-E tar" command a "--format=" option
Allows specifying a libarchive defined archive format currently restricted to
7zip, gnutar, pax, paxr and zip.

The default is "paxr" (pax restricted).
2015-04-10 08:32:31 -04:00
Brad King 1a1bdbfd87 Merge topic 'link-implicit-libs-full-path'
882f48e5 Link libraries by full path even in implicit directories
318cd370 Help: Add link target for Find Modules section of cmake-developer.7
1535dcd8 Tests: Teach RunCMake to optionally merge command output to stdout
2015-04-09 11:32:31 -04:00
Brad King 882f48e5ba Link libraries by full path even in implicit directories
When CMP0003 was first introduced we wanted to link all libraries by
full path.  However, some projects had problems on platforms where
find_library would find /usr/lib/libfoo.so when the project really
wanted to link to /usr/lib/<arch>/libfoo.so and had been working by
accident because pre-CMP0003 behavior used -lfoo to link.

We first tried to address that in commit v2.6.0~440 (Teach find_library
to avoid returning library paths in system directories, 2008-01-23) by
returning just "foo" for libraries in implicit link directories.  This
caused problems for projects expecting find_library to always return a
full path.  We ended up using the solution in commit v2.6.0~366 (...
switch library paths found in implicit link directories to use -l,
2008-01-31).  However, the special case for libraries in implicit link
directories has also proven problematic and confusing.

Introduce policy CMP0060 to switch to linking all libraries by full path
even if they are in implicit link directories.  Explain in the policy
documentation the factors that led to the original approach and now to
this approach.
2015-04-09 11:29:18 -04:00
Brad King 977796e307 Merge topic 'emulator-property'
1975d53a Help: Add notes for topic 'emulator-property'
9160d6c2 TestGenerator: Add CROSSCOMPILING_EMULATOR support.
e942526b try_run: Use CMAKE_CROSSCOMPILING_EMULATOR.
579c4bec Properties: Add CROSSCOMPILING_EMULATOR target property.
2015-04-08 09:07:03 -04:00
Brad King 1975d53ae1 Help: Add notes for topic 'emulator-property' 2015-04-08 09:06:22 -04:00
Matt McCormick 9160d6c241 TestGenerator: Add CROSSCOMPILING_EMULATOR support.
Prefix test commands with the CROSSCOMPILING_EMULATOR property
for target executables. This allows test suites to be run on the host
when crosscompiling.
2015-04-08 09:06:22 -04:00
Matt McCormick e942526b3d try_run: Use CMAKE_CROSSCOMPILING_EMULATOR.
If the CMAKE_CROSSCOMPILING_EMULATOR variable is defined, and
CMAKE_CROSSCOMPILING is TRUE, then use CMAKE_CROSSCOMPILING_EMULATOR to run
the try_run executables. This prevents the need to populate
TryRunResults.cmake when cross compiling.
2015-04-08 09:06:22 -04:00
Robert Maynard 322cdc4825 Help: Document supported compilers in cmake-compile-features.7
Extend sentences in other documentation linking to this manual to
say that it has a list of supported compilers.

Co-Author: Brad King <brad.king@kitware.com>
2015-04-07 15:01:18 -04:00
Matt McCormick 579c4bec6e Properties: Add CROSSCOMPILING_EMULATOR target property.
Add CROSSCOMPILING_EMULATOR target property for executables. This is used by
subsequent patches to run exectuables created for the target system when
crosscompiling. The property is initialized by the
CMAKE_CROSSCOMPILING_EMULATOR variable when defined.
2015-04-07 13:33:34 -04:00
Brad King 470f6cd8a3 Merge topic 'gcov-module-coverage-exclude'
d2240390 Help: Add notes for topic 'gcov-module-coverage-exclude'
2015-04-07 11:29:32 -04:00
Brad King 318cd37097 Help: Add link target for Find Modules section of cmake-developer.7 2015-04-07 10:30:57 -04:00
Brad King d224039011 Help: Add notes for topic 'gcov-module-coverage-exclude' 2015-04-06 09:00:49 -04:00
Brad King 156d3f8903 Merge topic 'improve-properties-help'
6f82b5e8 Help: Link to properties in set_tests_properties.
66f5af29 Help: Link to properties in set_directory_properties docs.
f7dd3f7c Help: Add link in set_source_files_properties command docs.
3b256173 Help: Shorten too-long title marker.
8fc3a2fb Help: Add references to cmake-property sections.
2015-04-06 08:58:23 -04:00
Brad King 89ee57f6c7 Merge topic 'doc-target_link_libraries'
659896d3 Help: Revise target_link_libraries command documentation
2015-04-06 08:58:19 -04:00
Stephen Kelly 6f82b5e81c Help: Link to properties in set_tests_properties.
Remove help for specific properties to their own help pages.
2015-04-04 19:14:56 +02:00
Stephen Kelly 66f5af29f3 Help: Link to properties in set_directory_properties docs.
Remove claim that CMake will report an error for unknown properties.
2015-04-04 18:58:55 +02:00
Stephen Kelly f7dd3f7cf0 Help: Add link in set_source_files_properties command docs.
Remove claim about unrecognized properties being ignored.  Such
properties can be retrieved later by the user.
2015-04-04 18:56:14 +02:00
Stephen Kelly 3b2561736d Help: Shorten too-long title marker. 2015-04-04 18:54:28 +02:00
Stephen Kelly 8fc3a2fbf6 Help: Add references to cmake-property sections. 2015-04-04 18:54:09 +02:00
Nils Gladitz dc4f64ab98 Help: Clarify manual reference for generator names 2015-04-04 16:01:50 +02:00
Brad King 9ed24fbb5e Merge topic 'vs-xaml'
01a9ab0d VS: Add support for XAML source files
2015-04-03 13:59:03 -04:00
Brad King 659896d3ed Help: Revise target_link_libraries command documentation
Organize the documentation into subsections to separate the signatures.
Refactor the discussion of allowed link items into bullet points and
expand into more detail on each.
2015-04-03 13:57:46 -04:00
Gilles Khouzam 01a9ab0def VS: Add support for XAML source files
XAML files are by default of type Page in the vcxproj and can be
overriden by setting the VS_XAML_TYPE property.  The .cpp and .h file
of the same name are automatically added as depending on the XAML file.

New VSXaml test builds a basic XAML WindowsStore 8.1 app with VS2013.
2015-04-03 13:40:35 -04:00
Brad King b6b77bb750 Merge topic 'doc-relocatable-usage-requirements'
3af13782 Help: Update discussion of relocable packages in cmake-packages(7)
227992c3 Help: Reorganize and refine discussion of relocatable packages
031d894f Help: Place relocatable package notes in their own subsections
6e331ce9 Help: Fix typo in cmake-packages(7) manual
ba9b9d79 Help: Fix syntax in non-relocatable usage requirements example
2015-04-03 13:38:04 -04:00
Brad King 6ed6ef6237 Help: Split cmake-generators(7) into linkable subsections
Many places in our documentation refer to "Makefile Generators" or
"Visual Studio" generators as a group of generators.  Give such
places a linkable document section to reference since they cannot
cross-reference the individual generators in the groups.
2015-04-03 11:04:57 -04:00
Brad King 3af137824d Help: Update discussion of relocable packages in cmake-packages(7)
Explain at the beginning of the section the requirements for a package
to be relocatable to justify the rest of the section content.
Generalize example to use fictional package names instead of real ones,
especially because FindBoost provides no alternative yet.  Reword the
discussion to represent the preferred approach as "ideal" but also
suggest workarounds when find modules do not provide the imported
targets.
2015-04-03 10:52:35 -04:00
Brad King 227992c3a6 Help: Reorganize and refine discussion of relocatable packages
Re-organize the content added to the cmake-packages(7) manual by

* commit v3.0.0-rc1~184^2 (Help: Document export(EXPORT) in the
  cmake-packages manual, 2013-12-23),

* commit v3.0.0-rc1~154^2~1 (Help: Add notes about relocatability
  of config-file packages, 2014-01-07), and

* commit v3.2.0-rc1~345^2 (Help: Warn that paths should not be used
  in INTERFACE_ build properties, 2014-11-22).

These commits broke the natural flow of the original manual and made
wording after the new content make less sense.  Move the content into
new subsections to restore the flow of the original manual and to
make explicitly the purpose of the new content.

Shorten the relocatable usage requirement "warnings".  Refer to the
new cmake-packages(7) manual subsection to reduce duplication.  Also
clarify the distinction between paths to library dependencies and
paths to their header files.
2015-04-03 10:52:24 -04:00
Brad King 031d894fb8 Help: Place relocatable package notes in their own subsections
These notes apply only for the use case of creating a package for
redistribution on machines other than that where it is built.  Clarify
this to readers by placing the discussion in dedicated sections titled
accordingly.
2015-04-03 10:52:22 -04:00
Brad King 6e331ce9d4 Help: Fix typo in cmake-packages(7) manual
relevnt => relevant
2015-04-03 10:52:21 -04:00
Brad King ba9b9d79fb Help: Fix syntax in non-relocatable usage requirements example
The example in cmake-packages(7) is meant to be incorrect for use of
absolute paths, not for its syntax.
2015-04-03 10:52:16 -04:00
Brad King e46224a7cd Merge topic 'FindCUDA.cmake/StaticRuntime'
7fea2b77 FindCUDA: Use the static CUDA runtime library if available (#15482)
2015-04-03 10:17:16 -04:00
James Bigler 7fea2b77df FindCUDA: Use the static CUDA runtime library if available (#15482)
Beginning in CUDA 5.5 a static version of the cuda runtime library
became available.  Since nvcc defaults to using this library over the
shared version, FindCUDA will also default to using this version.  There
are many advantages to using the static version (most importantly to
avoid conflicts with multiple versions when building a CUDA based
library).  Offer a CUDA_USE_STATIC_CUDA_RUNTIME option to control
this behavior.
2015-04-03 10:15:17 -04:00
Brad King 0983825057 Merge topic 'remove-DEFINITIONS-directory-property'
06f61c26 Do not treat DEFINITIONS as a built-in directory property
2015-04-02 13:06:03 -04:00
Stephen Kelly 06f61c26cf Do not treat DEFINITIONS as a built-in directory property
Add policy CMP0059 to cover this change.  The property has been
deprecated since CMake 2.4 anyway.

This will help clean up cmMakefile -- the DefineFlagsOrig member should
not need to exist.
2015-04-02 13:00:48 -04:00
Brad King 77d466ec55 Help: Document conversion of PATH/FILEPATH cache values to absolute paths
Suggested-by: Roger Leigh <rleigh@codelibre.net>
2015-04-01 16:29:52 -04:00
Brad King 91eb736390 Help: Rewrite 'set` command documentation
Much of the information in the old set() command documentation is now
covered in the cmake-language(7) manual.  Rewrite the documentation
with this in mind.  Split up the signatures for each kind of variable
into different subsections.
2015-04-01 16:29:52 -04:00
Brad King c6593511bb Help: Add link target to cmake-language.7 variables section 2015-04-01 16:24:24 -04:00
Brad King aa508a5299 Merge topic 'makefile-DELETE_ON_ERROR'
44990732 Help: Add notes for topic 'makefile-DELETE_ON_ERROR'
4adf1dad Makefile: Tell GNU make to delete rule outputs on error (#15474)
2015-04-01 13:19:32 -04:00
Brad King 00214357ba Merge topic 'UseSWIG-no-MAIN_DEPENDENCY'
1570a4df Help: Add notes for topic 'UseSWIG-no-MAIN_DEPENDENCY'
2015-03-31 14:11:57 -04:00
Brad King ad09756fed Merge topic 'cpack-rpm-basic-symlink-handling'
68e13e98 Help: Add notes for topic 'cpack-rpm-basic-symlink-handling'
681f3a2f CPackRPM: Add basic symlink support (#15209)
2015-03-31 14:11:20 -04:00
Brad King 68e13e98f5 Help: Add notes for topic 'cpack-rpm-basic-symlink-handling' 2015-03-31 14:10:19 -04:00
Brad King 44990732a8 Help: Add notes for topic 'makefile-DELETE_ON_ERROR' 2015-03-31 11:33:53 -04:00
Brad King 1570a4df92 Help: Add notes for topic 'UseSWIG-no-MAIN_DEPENDENCY' 2015-03-31 11:31:27 -04:00
Brad King c46125dfac Help: Refine COMPILE_OPTIONS property documentation
Make wording of the directory and target properties more consitent
and complementary.  Specify that the value is a ";-list" with a link
to the cmake-language(7) manual section on lists.
2015-03-31 08:58:11 -04:00
Brad King d51c1f090a Help: Fix xref typos in target_compile_options docs
Fix links to the COMPILE_OPTIONS directory and target properties.
2015-03-31 08:51:05 -04:00
Brad King 845c83756e Help: Add link target to cmake-language.7 lists section 2015-03-31 08:51:03 -04:00
Brad King c117c2bb5e Merge topic 'add_dependencies-INTERFACE-libraries'
ac14cbf0 Allow add_dependencies() on INTERFACE libraries (#15414)
817d31db Help: Format add_dependencies documentation
2015-03-30 09:27:53 -04:00
Brad King ac14cbf017 Allow add_dependencies() on INTERFACE libraries (#15414)
Revert commit v3.0.0-rc1~175^2~20 (add_dependencies: Disallow use with
INTERFACE_LIBRARY, 2013-12-25).  Teach our dependency analysis to
transitively follow INTERFACE target utility dependencies as was done or
IMPORTED targets in commit v2.8.6~127^2~1 (Allow add_dependencies() on
imported targets, 2010-11-19).  Extend the InterfaceLibrary test with a
case to cover header generation for a header-only INTERFACE library via
a custom target.
2015-03-27 16:25:09 -04:00
Brad King 817d31db97 Help: Format add_dependencies documentation
Add reStructuredText markup.
2015-03-27 16:24:19 -04:00
Brad King 230f2d6e70 ExternalData: Add option to recursively match under directories
Extend the ``DATA{Dir/,...}`` syntax with a new ``RECURSE:`` option
to enable recursive matching of associated files.  This will allow
an entire directory tree of data to be referenced at once.
2015-03-27 14:44:54 -04:00
Brad King 64e97edad7 Merge topic 'ninja-require-byproducts'
bd9c7f9b Ninja: Add policy to require explicit custom command byproducts
ed8e30b0 cmGlobalNinjaGenerator: Optimize handling of known build outputs
ad094f43 cmGlobalNinjaGenerator: Fix spelling of "unknown"
82a37d3c cmGlobalNinjaGenerator: Drop unused member
2015-03-23 09:48:07 -04:00
Brad King e85eb2e336 Merge topic 'add-extra-qbs-generator'
f85db2f3 Qbs: Add new 'extra' generator for qbs project files
2015-03-23 09:18:43 -04:00
Brad King a37937f7c0 Merge topic 'xcode-xctest'
4178cd88 Help: Add notes for topic 'xcode-xctest'
87a4b858 Tests: Add XCTest example to test Frameworks and Cocoa App Bundles
ba14510b OS X: Add FindXCTest module
3714955b OS X: Add handling for XCTest bundles
54a5cdbb Tests: Compute Xcode version for any generator on OS X
2015-03-23 09:18:29 -04:00
Brad King cc8b8cdc75 Merge topic 'ctest-repeat-until-fail'
6bce0276 Help: Add notes for topic 'ctest-repeat-until-fail'
fde70a1b ctest: Add a new --repeat-until-fail option
2015-03-23 09:18:26 -04:00
Brad King 4178cd88fc Help: Add notes for topic 'xcode-xctest' 2015-03-23 09:12:20 -04:00
Gregor Jasny ba14510b4e OS X: Add FindXCTest module
Add a module to lookup XCTest Framework and xctest utility.
It also provides APIs for creating 'xctest' targets.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-23 09:12:19 -04:00
Gregor Jasny 3714955b9c OS X: Add handling for XCTest bundles
An XCTest bundle is a CFBundle with a special product-type and bundle
extension.  For more information about XCTest visit the Mac Developer
library at:

  http://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/testing_with_xcode/

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-23 09:12:18 -04:00
Brad King 6bce027662 Help: Add notes for topic 'ctest-repeat-until-fail' 2015-03-23 09:08:22 -04:00
Bill Hoffman fde70a1b26 ctest: Add a new --repeat-until-fail option
This option tells ctest to run each test N times until the test fails or
the N times have run. This is useful for finding random failing tests.
2015-03-23 09:08:22 -04:00
Brad King bd9c7f9b2c Ninja: Add policy to require explicit custom command byproducts
Add policy CMP0058 to avoid generating 'phony' ninja rules for unknown
custom command dependencies.  This requires projects to specify their
custom command byproducts explicitly.  With this requirement we no
longer have to assume that unknown custom command dependencies are
generated and can instead simply assume they are source files expected
to exist when the build starts.  This is particularly important in
in-source builds.  It is also helpful for out-of-source builds to allow
Ninja to diagnose missing files before running custom command rules that
depend on them.
2015-03-20 17:40:12 -04:00
Stanislav Ionascu f85db2f323 Qbs: Add new 'extra' generator for qbs project files 2015-03-20 10:25:11 -04:00
Brad King c95e523db8 Merge topic 'file-globbing-directory-listing'
6e54b0b9 Help: Add notes for topic 'file-globbing-directory-listing'
a2c068a7 file: Teach GLOB to list directories optionally
2015-03-20 09:47:52 -04:00
Brad King 6e54b0b910 Help: Add notes for topic 'file-globbing-directory-listing' 2015-03-20 09:45:51 -04:00
Domen Vrankar a2c068a7ce file: Teach GLOB to list directories optionally
GLOB lists directories by default and GLOB_RECURSE does not.
LIST_DIRECTORIES enables user to control the behavior explicitly for
consistently for both GLOB and GLOB_RECURSE.
2015-03-20 09:45:25 -04:00
Brad King 2aaf4f6081 Help: Add notes for topic 'mingw-compile-features' 2015-03-20 09:35:59 -04:00
Raffi Enficiaud 49c8dcf7bb FindMatlab: Rewrite module and provide a usage API
Implement a brand new FindMatlab module:

- Add support for versions and components.
- Find Matlab and its version in a more precise and multiplatform way.
- Add API to create a new mex extension with documentation.
- Add API to add matlab unit tests (with or without the unit test framework).
- Find as much as possible based on a single Matlab_ROOT_DIR cache entry
  and allow the user to change it to re-find everything.
2015-03-17 09:47:04 -04:00
Brad King 6390d5f5cb Merge topic 'refactor-cmGeneratorExpression'
ec428faf Genex: Extend cmGeneratorExpressionContext constructor.
082b6a9d Genex: Split cmGeneratorExpressionContext into own file.
9df1f0fc Genex: Split cmGeneratorExpressionNode into own file.
80b9f0cb Genex: Extract an evaluateWithContext method.
642048ce Help: Move docs of $<0:...> and $<1:...> to output section.
2015-03-12 15:26:45 -04:00
Brad King 7b185d5017 Merge topic 'main_dependency_diagnostic'
242c3966 add_custom_command: Diagnose MAIN_DEPENDENCY limitation.
2015-03-12 15:26:26 -04:00
Stephen Kelly 642048ce35 Help: Move docs of $<0:...> and $<1:...> to output section.
These are not 'logical' expressions.  They create output and are
often used together with the logical expressions.
2015-03-10 21:19:38 +01:00
Brad King ad6fbb88bb Merge topic 'target-language-genex'
232a6883 Help: Add release notes for target-language-genex.
9e168941 File(GENERATE): Process genex evaluation files for each language.
b734fa44 Genex: Allow COMPILE_LANGUAGE when processing include directories.
0b945ea9 Genex: Allow COMPILE_LANGUAGE when processing compile definitions.
5c559f11 Genex: Enable use of COMPILE_LANGUAGE for compile options.
e387ce7d Genex: Add a COMPILE_LANGUAGE generator expression.
4a0128f4 VS6: Compute CMAKE_*_FLAGS and COMPILE_DEFINITIONS* only when needed
2015-03-10 09:12:34 -04:00
Stephen Kelly 232a6883a1 Help: Add release notes for target-language-genex. 2015-03-10 09:10:47 -04:00
Stephen Kelly b734fa4471 Genex: Allow COMPILE_LANGUAGE when processing include directories.
Issue an error if this is encountered by an IDE generator.
2015-03-09 20:49:17 +01:00
Stephen Kelly 0b945ea9a6 Genex: Allow COMPILE_LANGUAGE when processing compile definitions.
Issue an error if this is encountered by an IDE generator.
2015-03-09 20:49:16 +01:00
Stephen Kelly 5c559f1113 Genex: Enable use of COMPILE_LANGUAGE for compile options.
Follow-ups will allow the use of the generator expression
for compile definitions and include directories for non-IDE
generators.
2015-03-09 20:48:57 +01:00
Gaëtan Lehmann 86032ae0eb ExternalProject: Replace placeholder tokens in BYPRODUCTS
This allows the developer to specify the byproducts relative to the
binary directory without the need to set the binary directory location
explicitly.
2015-03-09 10:04:44 -04:00
Nils Gladitz 242c396656 add_custom_command: Diagnose MAIN_DEPENDENCY limitation.
The new policy CMP0057 diagnoses reuse of the same MAIN_DEPENDENCY across
multiple custom commands.
2015-03-09 12:45:38 +01:00
Johan Andruejol e97141c2bc InstallRequiredSystemLibraries: Add option to specify install COMPONENT
Previously the module did not support projects using installation
components because install(PROGRAMS) was never called with COMPONENT.
Add an option to specify the COMPONENT so that projects doing this do
not have to resort to using CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP and
writing the install rule by hand.
2015-03-03 09:17:47 -05:00
Brad King d853cb238c Merge topic 'macro-function-docs'
4efef3f7 Help: Clarify that ARGV# beyond ARGC will have an undefined behavior (#15380)
e3363bfb Help: Refine the .rst formatting of macro and function documentation
2015-02-27 10:34:40 -05:00
Daniele E. Domenichelli 4efef3f775 Help: Clarify that ARGV# beyond ARGC will have an undefined behavior (#15380) 2015-02-26 17:42:30 +01:00
Daniele E. Domenichelli e3363bfbec Help: Refine the .rst formatting of macro and function documentation 2015-02-26 17:19:52 +01:00
Brad King f7f4ca55bd ExternalData: Add support for custom algorithm-to-URL mapping
Allow URL templates to contain a %(algo:<key>) placeholder that is
replaced by mapping the canonical hash algorithm name through a map
defined by the <key>.

Extend the Module.ExternalData test to cover the behavior.
Extend the RunCMake.ExternalData test to cover error cases.
2015-02-25 08:28:05 -05:00
Brad King 206ce77781 Merge topic 'ctest-output-options'
ff1ddd2a ctest_upload: Add QUIET option
0b87b2a3 ctest_memcheck: Add QUIET option
fc58bdb9 ctest_coverage: Add QUIET option
876a680d ctest_test: Add QUIET option
49ba4545 ctest_build: Add QUIET option
f999dc0b ctest_configure: Add QUIET option
645ad117 ctest_update: Add QUIET option
19d1a559 ctest_start: Add QUIET option
1643b905 ctest_submit: Add QUIET option
12db1139 CTest: Add cmCTestOptionalLog macro
2015-02-24 09:12:33 -05:00
Brad King cb16c7844d Merge topic 'wix-shortcut-properties'
6cc01c14 CPackWIX: Add release notes for the wix-shortcut-properties topic.
135febf0 CPackWIX: Enhance CMake CPack WIX generated installer.
e6731f48 CPackWIX: Add new CPACK_STARTUP_SHORTCUTS property.
279605f5 CPackWIX: Add installed file properties for the creation of shortcuts.
53d7daff CPackWIX: Refactor start menu and desktop shortcut creation.
dc0f3fb4 CPackWIX: Explicitly list CPack WIX headers for IDE convenience.
2015-02-23 11:06:07 -05:00
Brad King 7cebc5acac Merge topic 'rpm_package_architecture'
b6f94e6b Help: Add notes for topic 'rpm_package_architecture'
f174b919 Tests: CpackRPM test component architecture
3aa9f89d CPackRPM: Support rpm architecture in components
761562fe CPackRPM: Fix CPACK_RPM_PACKAGE_ARCHITECTURE
2015-02-23 11:06:05 -05:00
Brad King b6f94e6b14 Help: Add notes for topic 'rpm_package_architecture' 2015-02-23 11:02:22 -05:00
Nils Gladitz 6cc01c1402 CPackWIX: Add release notes for the wix-shortcut-properties topic. 2015-02-23 16:49:42 +01:00
Brad King 1eb192905d Merge topic 'private-FindJsonCpp'
a41d621d bootstrap: Add --(no-)system-jsoncpp options
a5768442 FindJsonCpp: Drop new module due to upstream jsoncpp providing package
2015-02-23 10:26:30 -05:00
Zack Galbreath ff1ddd2a73 ctest_upload: Add QUIET option 2015-02-23 10:02:00 -05:00
Zack Galbreath 0b87b2a339 ctest_memcheck: Add QUIET option 2015-02-23 10:02:00 -05:00
Zack Galbreath fc58bdb9ad ctest_coverage: Add QUIET option 2015-02-23 10:02:00 -05:00
Zack Galbreath 876a680d48 ctest_test: Add QUIET option 2015-02-23 10:01:59 -05:00
Zack Galbreath 49ba4545c2 ctest_build: Add QUIET option 2015-02-23 10:01:59 -05:00
Zack Galbreath f999dc0bbf ctest_configure: Add QUIET option 2015-02-23 10:01:59 -05:00
Zack Galbreath 645ad117e1 ctest_update: Add QUIET option 2015-02-23 10:01:59 -05:00
Zack Galbreath 19d1a5599a ctest_start: Add QUIET option
This suppresses all non-error messages that would have otherwise
been printed by this function.
2015-02-23 10:01:59 -05:00
Zack Galbreath 1643b905e0 ctest_submit: Add QUIET option
Specifying this option prevents CTest from printing any non-error
messages to the console for this call to ctest_submit().
2015-02-23 10:01:58 -05:00
Nils Gladitz e6731f486e CPackWIX: Add new CPACK_STARTUP_SHORTCUTS property. 2015-02-21 18:07:36 +01:00
Nils Gladitz 279605f560 CPackWIX: Add installed file properties for the creation of shortcuts. 2015-02-21 17:30:31 +01:00
Brad King a576844263 FindJsonCpp: Drop new module due to upstream jsoncpp providing package
Since jsoncpp 0.7.0 (2014-11-20) the upstream may provide a CMake
package configuration file such that find_package(jsoncpp) will find a
jsoncppConfig.cmake file.  In order to avoid conflicting with this
(especially on case-insensitive filesystems), and since we always prefer
projects to provide package config files (that they maintain), it is
better to not provide FindJsonCpp publicly.

Move FindJsonCpp into a private source directory that is not installed
so that we can still use it for building CMake itself.

Reported-by: Ryan Pavlik <ryan.pavlik@gmail.com>
2015-02-20 08:22:02 -05:00
Brad King c4c570f9cc Merge topic 'find-command-prefix-from-PATH'
ffc06c12 Teach find_(library|file|path) to get prefixes from PATH (#15370)
2015-02-20 08:10:50 -05:00
Brad King ffc06c1239 Teach find_(library|file|path) to get prefixes from PATH (#15370)
The find_package command already knows how to compute installation
prefixes from PATH.  Use the same approach to establish prefixes for
find_library, find_file, and find_path to use to look in directories
like "<prefix>/lib[/<arch>]" and "<prefix>/include" for libraries and
headers.  This will reduce the amount of configuration end users need to
do to establish a work environment rooted under a specific prefix.
2015-02-19 10:03:17 -05:00
Brad King 05c54c5bc7 Merge topic 'mingw-no-find_library-dll'
a0f17fbe Windows-GNU: Do not tell find_library to treat '.dll' as linkable
2015-02-19 09:32:31 -05:00
Brad King 6f9c4d17f8 Merge topic 'compiler-version-Fortran'
4cf3589e Help: Add notes for topic 'compiler-version-Fortran'
f611406f Fortran: Test that CMAKE_Fortran_COMPILER_VERSION is set (#15372)
c6e1f464 Fortran: Detect G95 compiler version
0033faac Fortran: Detect PGI compiler version
302d47b1 Fortran: Detect XL and VisualAge compiler versions
8c8b77a5 Fortran: Detect GNU compiler version
49562a77 Fortran: Detect PathScale compiler version
aa77b631 Fortran: Detect SunPro compiler version
2e09c423 Fortran: Detect Intel compiler version
e6ebc814 Fortran: Add infrastructure to detect compiler version (#15372)
2015-02-19 09:32:29 -05:00
Brad King 4cf3589ed6 Help: Add notes for topic 'compiler-version-Fortran' 2015-02-19 09:26:29 -05:00
Brad King a0f17fbe9c Windows-GNU: Do not tell find_library to treat '.dll' as linkable
Modern software distributions always use a separate ".dll.a" or ".lib"
import library for linking.
2015-02-18 09:40:25 -05:00
Stephen Kelly 1ee4721f7c Help: Fix formatting of command parameter. 2015-02-17 19:18:11 +01:00
Stephen Kelly c697c1fafe cmTarget: Remove template argument workaround.
Pre-C++98 compilers required that the template argument be
used in the function parameters.  Those compilers are no longer
supported as hosts, so drop the workaround.
2015-02-17 19:18:11 +01:00
Brad King aa2ba12164 VS: Use $(ConfigurationName) as CMAKE_CFG_INTDIR in VS 7, 8, 9
This will allow us to use a value other than just the config name
for the project OutputDirectory setting used for $(OutDir).

Also use $(ConfigurationName) instead of $(OutDir) for the link
directory configuration suffix since that is a hard-coded instance of
a use case for CMAKE_CFG_INTDIR.
2015-02-16 11:48:04 -05:00
Brad King 8206e8b431 Merge topic 'doc-3.2-relnotes-fixup'
6d19ef9b Help: In 3.2 relnotes move OpenGL/X11 to deprecated/removed section
2015-02-13 15:04:06 -05:00
Brad King 6d19ef9b7c Help: In 3.2 relnotes move OpenGL/X11 to deprecated/removed section
It is a possibly incompatible change.
2015-02-13 13:45:15 -05:00
Brad King 0304e54528 Merge topic 'doc-configure_file-output-location'
029d38fa Help: Revise configure_file documentation (#15403)
2015-02-13 11:03:03 -05:00
Brad King 029d38fa61 Help: Revise configure_file documentation (#15403)
Format the documentation with better reST markup.  Revise the
wording to clarify how relative paths are handled.  Also add
an example section.
2015-02-12 16:20:32 -05:00
Gregor Jasny bf8f9c29e7 Xcode: Teach XCODE_ATTRIBUTE target properties about generator expressions
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-02-12 13:35:31 -05:00
Brad King f30022eb07 install: Allow generator expressions in TARGETS DESTINATION (#14317)
This will allow per-config destinations for targets in EXPORT sets.
Using multiple install(TARGETS) with separate CONFIGURATIONS is
rejected as a target appearing more than once in an export set.
Now instead one can write

 install(TARGETS foo EXPORT exp DESTINATION lib/$<CONFIG>)

to get a single logical membership of the target in the export set
while still having a per-config destination.
2015-02-11 15:15:33 -05:00
Brad King 108e94ecf1 Merge topic 'export-interface-source-files'
f7e33820 Add release notes for export-interface-source-files.
6da65b39 Allow export of targets with INTERFACE_SOURCES.
736bcb96 Tests: Move IfacePaths test stderr files.
d9f8390d Tests: Run IfacePaths tests with a parameter.
cc152094 Tests: Split part of include_directories test to a generic location.
2015-02-11 09:59:30 -05:00
Brad King c1772e5fb2 Merge topic 'fix_timeout_docs'
56cb4a6c Help: Fix variable reference in TIMEOUT test property docs
2015-02-11 09:59:28 -05:00
Stephen Kelly f7e33820b6 Add release notes for export-interface-source-files. 2015-02-11 00:51:35 +01:00
Stephen Kelly 6da65b3907 Allow export of targets with INTERFACE_SOURCES.
Use the same rules for paths in source and binary dirs in
installed INTERFACE_SOURCES as are used for
INTERFACE_INCLUDE_DIRECTORIES.
2015-02-11 00:51:34 +01:00
Brad King 0a95c5ce2e Merge branch 'fix_timeout_docs' into release 2015-02-10 12:59:32 -05:00
Zack Galbreath 56cb4a6c3a Help: Fix variable reference in TIMEOUT test property docs
Link to 'CTEST_TEST_TIMEOUT', not 'CTEST_TESTING_TIMEOUT'.
2015-02-10 12:58:01 -05:00
Brad King c548ddc172 Merge topic 'makefile-progress-improvements'
63668954 Help: Add notes for topic 'makefile-progress-improvements'
ae775fe8 Makefile: Change link step message color to bold green
7bb50e4a Makefile: Add progress to link step messages
c6ada827 Makefile: Print all color escape sequences before newline
8521fdf5 Makefile: Fix output during parallel builds (#12991)
69ac6d27 bootstrap: Enable color Makefile output
2015-02-10 09:37:55 -05:00