Commit Graph

1434 Commits

Author SHA1 Message Date
Brad King 345d5926ee Merge topic 'deprecate-CMakeForceCompiler'
d929c35f CMakeForceCompiler: Deprecate this module and its macros
2016-03-09 08:50:04 -05:00
Brad King d929c35f08 CMakeForceCompiler: Deprecate this module and its macros
We originally deprecated this module in commit v3.5.0-rc1~295^2
(CMakeForceCompiler: Deprecate this module and its macros, 2015-10-19).
Then a use case was found to still require the module so the deprecation
was reverted for CMake 3.5 by commit v3.5.0-rc3~4^2 (CMakeForceCompiler:
De-deprecate until more use cases have alternatives, 2016-02-17).  Since
then `CMAKE_TRY_COMPILE_TARGET_TYPE` was introduced to provide an
alternative solution for that use case.  Deprecate the module again.
2016-03-08 10:42:28 -05:00
Philippe Proulx a4194debea Add FindLTTngUST module to find LTTng-UST library
Also detect the library version number.  Provide results as variables
and as an imported target, LTTng::UST.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
2016-03-07 11:46:49 -05:00
Brad King 9fcc8ff455 Merge topic 'vs-vcxproj-ConfigurationType'
6122909c VS: Add option to set `ConfigurationType` of a .vcxproj file
2016-03-07 10:02:40 -05:00
Brad King 190a5fdffd Automatically use OpenSSL by default on Linux and FreeBSD if available
Since https is almost ubiquitous nowadays we should support it by
default whenever possible.  When building our own curl, we already
automatically enable SSL/TLS support on Windows and OS X by using the
OS-native APIs.  On UNIX platforms we need to use OpenSSL but have not
done so by default before, leading to possible user confusion when https
transfers fail later.  Fix this by searching for OpenSSL quietly and
enabling use of it automatically if it is found.

Do this only on Linux and FreeBSD for now because on other UNIX
platforms (e.g. AIX, HP-UX, SunOS) it seems too easy to find an
OpenSSL that is not compatible with the target compiler.
2016-02-29 11:51:04 -05:00
Fabian Otto 6122909c33 VS: Add option to set `ConfigurationType` of a .vcxproj file
Add a VS_CONFIGURATION_TYPE target property to set this value
explicitly.  This is useful to build a Windows Kernel Mode Driver,
for example.
2016-02-26 10:52:13 -05:00
Brad King 79d4b5bec9 Merge topic 'try_compile-target-type'
7f1bd9fe try_compile: Add option to control type of target
2016-02-26 10:31:28 -05:00
Brad King 12f065521c Merge topic 'doc-typos'
33507e2a Help: Fix typos in cmake-packages.7 manual
2016-02-24 11:10:36 -05:00
Ashley Whetter 33507e2aa7 Help: Fix typos in cmake-packages.7 manual 2016-02-24 10:05:24 -05:00
Brad King 3cff48b1bb Merge topic 'doc-cmake-E-details'
b3475030 Help: Clarify `cmake -E` command behavior with respect to file existence
2016-02-24 09:39:15 -05:00
Brad King 7f1bd9fe69 try_compile: Add option to control type of target
Create a `CMAKE_TRY_COMPILE_TARGET_TYPE` option to specify use
of `add_library(... STATIC ...)` for the generated test project.
This will be useful for cross-compiling toolchains that cannot
link a binary without custom flags or scripts.
2016-02-19 14:07:38 -05:00
Bartosz Kosiorek b347503028 Help: Clarify `cmake -E` command behavior with respect to file existence 2016-02-19 13:03:09 -05:00
Brad King 509b1f08ea Merge topic 'cpack-deb-autodep-ORIGIN-RPATH'
e8daee5b CPack/Deb $ORIGIN handling in rpath
b8263a2f CPack/Deb Create DEBIAN directory for dpkg-shlibdeps
2016-02-19 09:47:44 -05:00
Brad King c387325d4a Merge topic 'unix-timestamps'
6727270b CMake: Extend TIMESTAMP sub-commands with new unix time format specifier
2016-02-19 09:47:39 -05:00
Domen Vrankar e8daee5bd0 CPack/Deb $ORIGIN handling in rpath
Release not for fix of bug 12431
2016-02-19 01:42:19 +01:00
Jose-Luis Blanco-Claraco 6727270b75 CMake: Extend TIMESTAMP sub-commands with new unix time format specifier
The new `%s` format specifier is substituted by file()/string()
`TIMESTAMP` sub-commands with the number of seconds since unix-epoch
(1970-01-01 00:00:00 UTC).

Co-Author: Nils Gladitz <nilsgladitz@gmail.com>
2016-02-18 10:30:13 -05:00
Brad King 937f7fdd91 Merge topic 'doc-install-component-association'
d7c6b710 Merge branch 'backport-doc-install-component-association' into doc-install-component-association
c978223c Help: Clarify install(TARGETS) INCLUDES DESTINATION option
70f2708f Help: Clarify install(TARGETS) INCLUDES DESTINATION option
2016-02-18 10:08:06 -05:00
Brad King e503941adb Merge topic 'de-deprecate-CMakeForceCompiler'
beaa4fa5 CMakeForceCompiler: De-deprecate until more use cases have alternatives
2016-02-18 10:08:03 -05:00
Brad King c978223c85 Help: Clarify install(TARGETS) INCLUDES DESTINATION option
The option does not actually participate in argument groups like the
others because it does not actually install anything.  Fix the order
in the documentation accordingly.

Reported-by: Daniel Wirtz <daniel.wirtz@simtech.uni-stuttgart.de>
2016-02-17 10:14:54 -05:00
Brad King beaa4fa5dd CMakeForceCompiler: De-deprecate until more use cases have alternatives
We deprecated this module in commit v3.5.0-rc1~295^2
(CMakeForceCompiler: Deprecate this module and its macros, 2015-10-19)
in order to determine whether anyone still has use cases that require
it.  Indeed we still need to provide a way to work with toolchains that
cannot link binaries without special flags.  Remove the deprecation
warnings until we can provide an alternative to the module for this use
case.
2016-02-17 09:15:18 -05:00
Antonio Perez Barrero bb7a41ab9b FindProtobuf: check version
Check found libraries version to match user required version.

Protobuf compiler executable version is checked to be aligned with found
libraries, raising a warning message otherwise.
2016-02-16 10:09:39 -05:00
Domen Vrankar 7c7efd1ed9 CPack/RPM support for upper cased component variables
CPACK_* variables expect component name in upper case.
CPACK_RPM_* variables expected component name to be
in same case as component name.
This patch adds support for CPACK_RPM_* variables with
upper case component names to match the convention with
CPACK_* variables and also preserves same case component
names for back compatibility.
2016-02-13 02:09:32 +01:00
Brad King 7db269ddd1 Merge topic 'doc-xcode-escaping-fix'
878632c9 Help: Add release note about Xcode escaping fix (#15969)
2016-02-11 10:41:22 -05:00
Brad King 3e966ef734 Merge branch 'doc-xcode-escaping-fix' into release 2016-02-11 09:58:55 -05:00
Brad King 878632c90e Help: Add release note about Xcode escaping fix (#15969)
The fix in commit v3.5.0-rc1~84^2 (Xcode: Escape all backslashes in
strings, 2015-12-27) is a change in behavior that can break existing
projects that worked around the inconsistency with other generators.
Add a release note to call attention to this change in behavior.
2016-02-11 09:53:34 -05:00
Brad King 3b8c0fbfd7 Merge topic 'install-EXCLUDE_FROM_ALL'
586e56d0 Help: Add notes for topic 'install-EXCLUDE_FROM_ALL'
d321c196 Tests: Add cases for install() command EXCLUDE_FROM_ALL option
18ce97c4 install: Add EXCLUDE_FROM_ALL option (#14921)
2016-02-09 10:10:15 -05:00
Brad King 024c4eac05 Merge branch 'fix-doc-typos' into release 2016-02-08 10:35:45 -05:00
Brad King 2619317c66 Merge topic 'fix-doc-typos'
a3b91d16 Help: Fix command specification for cmake_minimum_required
d8c90800 Help: Fix mistake in cmake-buildsystem(7) example
2016-02-08 10:33:02 -05:00
Brad King 08e5362004 Merge topic 'error-multiple-targets'
497cad7c cmake: Teach --build to reject multiple --target options
886acd80 Help: Fix reference to `cmake --build` in cmake(1) manual
2016-02-08 10:32:55 -05:00
Horst Kronstorfer a3b91d1640 Help: Fix command specification for cmake_minimum_required
Implementation indicates that at least two components of VERSION must
be specified (see Source/cmCMakeMinimumRequired.cxx.) Therefore the
minor version is not optional.
2016-02-08 09:52:56 -05:00
Paul Wilkinson d8c9080017 Help: Fix mistake in cmake-buildsystem(7) example
The COMPATIBLE_INTERFACE_NUMBER_MAX example now sets
INTERFACE_CONTAINER_SIZE_REQUIRED on lib1Version2 and lib1Version3.
Previously set it on lib1Version2 twice and never on lib1Version3.
2016-02-08 09:51:37 -05:00
Sebastian Schuberth 497cad7c88 cmake: Teach --build to reject multiple --target options
Previously we did not clearly document that `--target` is only supported
to be specified once.  Even worse, specifying it multiple times would
silently ignore any previously specified targets and only build the last
target.

Update the documentation to specify this.  Update the implementation to
reject multiple `--target` options to prevent user errors.
2016-02-05 11:48:16 -05:00
Brad King 886acd80f0 Help: Fix reference to `cmake --build` in cmake(1) manual 2016-02-05 11:48:16 -05:00
Brad King 586e56d0ef Help: Add notes for topic 'install-EXCLUDE_FROM_ALL' 2016-02-04 09:48:37 -05:00
Nick Lewis 18ce97c4a2 install: Add EXCLUDE_FROM_ALL option (#14921)
Let us take an example of a project that has some tests in a component
that need to be installed into a dedicated test package.  The user
expectation is that the result could be achieved by typing the
following:

    make
    make tests
    make install
    DESTDIR=/testpkgs make install-tests

However this results in test components in the default installation as
well as the testpkg.

Add an EXCLUDE_FROM_ALL option to the install() command to tell it that
the installation rule should not be included unless its component is
explicitly specified for installation.
2016-02-04 09:16:56 -05:00
Ashley Whetter 0205f882ae list: Add FILTER subcommand (#3986)
Create a `list(FILTER)` command to filter lists by regular expression.
2016-02-03 11:13:17 -05:00
Brad King c84dfa7457 Begin post-3.5 development 2016-02-02 08:40:37 -05:00
Brad King 021a74a6cb 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-02-02 08:34:47 -05:00
Brad King ad701d9f01 Help: Organize and revise 3.5 release notes
Add section headers similar to the 3.4 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2016-02-01 13:38:36 -05:00
Brad King 377a12b2d2 Help: Consolidate 3.5 release notes
Move all development release notes into a new version-specific document:

 tail -q -n +3 Help/release/dev/* > Help/release/3.5.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-02-01 12:50:43 -05:00
Brad King adc3d1244b Merge topic 'doc-cmake-developer-typo'
6f83db1c Help: Fix typo in `cmake-developer(7)` manual
2016-02-01 10:43:57 -05:00
Prayag Verma 6f83db1cc1 Help: Fix typo in `cmake-developer(7)` manual
Fix spelling mistake `sytem` => `system`.
2016-02-01 10:36:25 -05:00
Bartosz Kosiorek 4d53e0a75e Help: Clarify `add_custom_command(TARGET)` scope (#15681) 2016-01-28 10:13:27 -05:00
Bartosz Kosiorek 8c615af4df Help: Clarify policy `CMP0040` documentation (#15681)
State explicitly that the target must be defined in the current
directory.  While at it, improve markup formatting.
2016-01-28 10:13:18 -05:00
Bartosz Kosiorek 63c5808f93 Help: Clarify scope of `if(TARGET)` expression 2016-01-28 10:13:17 -05:00
Bartosz Kosiorek a336e438e2 Help: Improve markup in `if` command documentation 2016-01-28 10:12:51 -05:00
Bartosz Kosiorek 88968265e2 Help: Improve markup in `get_target_property` documentation 2016-01-28 10:12:50 -05:00
Brad King 0586f1798e Merge topic 'vs-win10-sdk'
d7e863c1 VS: Do not fail on Windows 10 with VS 2015 if no SDK is available (#15929)
2016-01-25 09:47:11 -05:00
Brad King ddb09ec8f9 Merge topic 'FindPNG-imported-targets'
9b08c623 FindPNG: Create an imported PNG::PNG target (#15911)
2016-01-22 09:25:33 -05:00
Sam Thursfield 9b08c62330 FindPNG: Create an imported PNG::PNG target (#15911)
Imported targets are now the recommended way of dealing with external
library dependencies.  Add one for FindPNG and update documentation
accordingly.  Also add a test case activated by CMake_TEST_FindPNG.
2016-01-21 13:58:15 -05:00