Commit Graph

698 Commits

Author SHA1 Message Date
Jens Weggemann
149d49ea7c Teach MAP_IMPORTED_CONFIG_<CONFIG> to support configuration-less import
If this property has an empty list entry, check for `IMPORTED_LOCATION`
instead of `IMPORTED_LOCATION_<CONFIG>`.  This allows custom imported
targets to have some configurations mapped and others fall back to a
default location.

Closes: #16280
2016-10-20 11:51:10 -04:00
Brad King
2810e56182 math(EXPR): Add support for unary + and - expressions
Closes: #8996
2016-10-14 15:35:15 -04:00
Brad King
a8513d8a80 Merge topic 'vs-host-x64-tools'
d079e71c VS: Provide an option to use x64 host tools
779939a0 Help: Document VS and Xcode toolset selection
2016-10-14 09:25:34 -04:00
Brad King
d079e71c29 VS: Provide an option to use x64 host tools
Visual Studio provides toolchains that are themselves built for 32-bit
or 64-bit host architectures.  By default it uses the 32-bit tools, but
it can be told to prefer the 64-bit tools on 64-bit hosts.  Extend the
`CMAKE_GENERATOR_TOOLSET` specification to provide a way to request
use of the 64-bit host tools.

Closes: #15622
2016-10-14 09:22:26 -04:00
Bruno Pedrosa
19ffc0729f Sublime: Exclude build tree from source tree project only optionally
Create a `CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE` variable to control
addition of the build tree to `folder_exclude_patterns` in the
`.sublime-project`.  Change the default of this behavior to OFF.

Closes: #16351
2016-10-12 12:38:00 -04:00
Domen Vrankar
bb8cf52156 CPack/RPM single debuginfo packaging
Generate a single debuginfo package even
if components packaging is enabled.

This makes issue #15668 resolution feature complete.

Closes: #15486
2016-10-07 09:19:04 -04:00
Domen Vrankar
758f58b4a1 CPack/RPM learned defining main component
Main component rpm package is generated
without component suffix in filename
and package name.
2016-10-07 09:19:04 -04:00
Ruslan Baratov
dc6d806660 Add a BUILD_RPATH target property specifying build-tree RPATH entries
Users may need to add custom `RPATH` entries to be able to run binaries
from their build tree without setting `LD_LIBRARY_PATH`.  Provide a way
to do this that does not affect the install-tree `RPATH`.
2016-10-03 13:42:27 -04:00
Brad King
0c09a6ab1d Begin post-3.7 development 2016-10-03 09:09:50 -04:00
Brad King
2aea7099e1 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2016-10-03 09:06:06 -04:00
Brad King
e82c33b88c Help: Consolidate 3.7 release notes
Move all development release notes into a new version-specific document:

 tail -q -n +3 Help/release/dev/* > Help/release/3.7.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.
2016-10-01 08:25:17 -04:00
Brad King
38a4e5883f Merge topic 'doc-compilers-dropped'
27c51865 Help: Add release note about compilers that no longer build CMake itself
2016-10-01 08:20:39 -04:00
Brad King
27c51865eb Help: Add release note about compilers that no longer build CMake itself
The introduction of libuv requires some intrinsics such as InterlockedOr
that are not available on VS 2005 and below or on MinGW.org's mingw32.
Add a release note that we no longer support these compilers for CMake
itself.
2016-09-30 14:02:03 -04:00
Schuyler Kylstra
130784e039 AndroidTestUtilities: Add module to help drive Android device tests
Add a module to manage the data needed for the project tests.  It will
move the test data to the build directory and transfer necessary data to
an Android device if that is enabled.
2016-09-30 13:49:47 -04:00
Brad King
ded15f26b8 Merge topic 'codelite-organize-by-target'
cbe48879 CodeLite: Optionally use targets to create (sub)project files
2016-09-27 08:22:53 -04:00
Minze Zwerver
cbe4887927 CodeLite: Optionally use targets to create (sub)project files
The basic codelite generator creates .project files based on the
`project()` stanza.  Add a `CMAKE_CODELITE_USE_TARGETS` option to use
the targets instead.
2016-09-26 13:40:38 -04:00
Brad King
4d6f0a5573 Merge topic 'revert-cpack-deb-package-description-fallback'
1ef45a30 Revert "CPack/DEB: Make package description variable precedence match RPM"
2016-09-26 09:06:39 -04:00
Brad King
c6f07d06c6 Merge topic 'xcode-swift-version'
b35568f3 Xcode: Add option to set Swift language version
49d50ad4 Xcode: Port rudimentary Swift support to Xcode 8
2016-09-26 09:06:29 -04:00
Brad King
b35568f3f9 Xcode: Add option to set Swift language version
Create a new CMAKE_Swift_LANGUAGE_VERSION variable to specify the
SWIFT_VERSION attribute in a generated Xcode project.  Ideally this
would be a `<LANG>_STANDARD` property but since Swift support is
very minimal we should reserve that property for more complete
treatment later.

Issue: #16326
2016-09-26 08:46:23 -04:00
Domen Vrankar
1ef45a30aa Revert "CPack/DEB: Make package description variable precedence match RPM"
This reverts commit 332b089ad2 as multiline
descriptions require special formatting.
2016-09-24 12:05:06 +02:00
Brad King
b36408a092 FindMatlab: Add notes for topic 'FindMatlab-simulink' 2016-09-23 09:36:05 -04:00
Brad King
3a883a9f7d Merge topic 'ninja-fortran'
33058150 Help: Document Ninja generator conditional Fortran support
59aae292 Ninja: Add dyndep rules for Fortran module dependencies
39ebfc79 Ninja: Add explicit preprocessing step for Fortran
9a77680e Ninja: Conditionally allow Fortran based on ninja 'dyndep' support
0f331d78 Ninja: Add internal tool to produce a ninja dyndep file for Fortran
d3e0b64b Ninja: Add internal tool to scan Fortran code for module dependencies
8eca59a1 Ninja: Add comment with Fortran dependency design documentation
a57d1bb7 Ninja: Add API to check for dyndep support
0488ae63 Ninja: Refactor ninja feature detection
f0a23aa3 Ninja: Refactor Fortran rejection logic
2016-09-23 08:40:16 -04:00
Brad King
4d3874d5ad CheckFortranSourceCompiles: Add support for custom source extension
Fortran compilers interpret the source extension to decide whether
to preprocess and what language level to use by default.
2016-09-22 14:49:54 -04:00
Brad King
330581502a Help: Document Ninja generator conditional Fortran support
Closes: #14215
2016-09-22 13:53:10 -04:00
Brad King
f4475eb92b Merge topic 'test-fixtures'
73f47c9e CTest: Add support for test fixtures
2016-09-22 08:09:55 -04:00
Brad King
2c2ffd3874 Merge topic 'ctest-capture-error'
adf1e32f Help: Add notes for topic 'ctest-capture-error'
d328dc68 CTest: Add CAPTURE_CMAKE_ERROR val to `ctest_*` commands
9ac2e189 ctest_coverage: If gcov is not found just warn, not error
2016-09-21 08:47:51 -04:00
Brad King
adf1e32fa2 Help: Add notes for topic 'ctest-capture-error' 2016-09-20 14:43:13 -04:00
Craig Scott
73f47c9e46 CTest: Add support for test fixtures
Add new test properties:

* FIXTURES_SETUP
* FIXTURES_CLEANUP
* FIXTURES_REQUIRED

to specify the roles and dependencies of tests providing/using
test fixtures.
2016-09-20 14:37:38 -04:00
Brad King
df4aeb3121 Help: Add notes for topic 'fortran-submodules' 2016-09-20 09:18:56 -04:00
Brad King
6b8812c27e Merge topic 'directory-list-targets-and-subdirs'
d0be1e15 Add directory properties to get source and binary directories
cbca6582 Add directory property to list buildsystem targets
7a4b8d0d Add a directory property to list subdirectories
089868a2 cmState: Record buildsystem target names in each directory
2016-09-20 08:41:01 -04:00
Brad King
290d48ebc7 Merge topic 'cpack-rpm-srpm-package'
d9cec8ad CPack/RPM: Generate source rpm (SRPM) packages on demand
2016-09-20 08:40:55 -04:00
Brad King
9dc5bd9611 Merge topic 'cpack.hash_computing'
1c63aa4d CPack: Add option to generate a checksum file next to each package file
4682b42b Tests: Add subtest support to RunCMake/CPack infrastructure
2016-09-20 08:40:52 -04:00
Brad King
8d83c9d100 Merge topic 'ifw-package-resources'
b807cd9b CPackIFW: Add 'cpack_ifw_add_package_resources' command
2016-09-20 08:40:49 -04:00
Brad King
8b0f246694 Merge topic 'ExternalProject-HTTP_HEADER'
5e6716db Help: Add notes for topic 'ExternalProject-HTTP_HEADER'
0f424c3d ExternalProject: Add HTTP_HEADER
2016-09-20 08:40:45 -04:00
Domen Vrankar
d9cec8adca CPack/RPM: Generate source rpm (SRPM) packages on demand
Closes: #15839
2016-09-20 08:24:28 -04:00
Brad King
d0be1e15c3 Add directory properties to get source and binary directories
Add SOURCE_DIR and BINARY_DIR directory properties that return the
absolute paths to the corresponding directories.  These correspond
to the target properties of the same names that we already have.
2016-09-19 14:00:50 -04:00
Brad King
cbca65826c Add directory property to list buildsystem targets
Add a BUILDSYSTEM_TARGETS property to allow project code to traverse
the list of its own targets in a given directory.
2016-09-19 14:00:32 -04:00
Brad King
7a4b8d0dc2 Add a directory property to list subdirectories
Add a SUBDIRECTORIES directory property to allow project code to
traverse the directory structure of itself as CMake sees it.
2016-09-19 13:59:43 -04:00
Konstantin Podsvirov
b807cd9b54 CPackIFW: Add 'cpack_ifw_add_package_resources' command 2016-09-19 13:17:59 -04:00
Brad King
5e6716dbac Help: Add notes for topic 'ExternalProject-HTTP_HEADER' 2016-09-19 10:51:08 -04:00
Petr Orlov
1c63aa4d43 CPack: Add option to generate a checksum file next to each package file
Add variable CPACK_PACKAGE_CHECKSUM to activate it.
2016-09-19 10:22:50 -04:00
Brad King
7263667c24 Help: Add notes for topic 'cmake-server-basic' 2016-09-19 09:20:43 -04:00
Brad King
34b49df564 Merge topic 'ifw-user-interfaces'
c2f0f41f CPackIFW: Add USER_INTERFACES option
2016-09-19 08:55:12 -04:00
Pierluigi Taddei
c2f0f41f63 CPackIFW: Add USER_INTERFACES option
Add to CPackIFW the capability of accepting a list of
USER_INTERFACES that are copied to the meta folder and
added to the component description.
2016-09-16 10:29:00 -04:00
Brad King
4356bd7fe3 Merge topic 'file-curl-httpheader'
8f6cb366 file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboption
2016-09-16 10:21:23 -04:00
Brad King
38a378e10d Merge topic 'find_package-dir-sort'
31be918b find_package: Optionally sort globbed directories in a meaningful order
2016-09-16 10:21:17 -04:00
Ruslan Baratov
8f6cb36695 file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboption 2016-09-15 21:41:39 +03:00
Pierluigi Taddei
31be918b0b find_package: Optionally sort globbed directories in a meaningful order
Add `CMAKE_FIND_PACKAGE_SORT_{ORDER,DIRECTION}` variables to specify
sort order and direction.

When multiple package with the same name have been found in the same
location sorting option can be used to force a specific version to be
loaded (e.g. libA_1.12.0 instead of libA_1.1.0).  Currently sorting by
NAME and by NATURAL order have been implemented.

Natural ordering makes use of the `strverscmp(3)` ordering.
2016-09-15 13:35:25 -04:00
Brad King
9cbd04be5f Help: Add notes for topic 'ExternalProject-http-credentials' 2016-09-15 11:52:27 -04:00
Brad King
171ea5d3cf Merge topic 'file-curl-userpw'
abeb42f1 Help: Add notes for topic 'file-curl-userpw'
e5ba1041 file(DOWNLOAD|UPLOAD): Add 'USERPWD' suboption
2016-09-14 08:56:22 -04:00