Commit Graph

1782 Commits

Author SHA1 Message Date
Brad King 453df662ba Merge topic 'imported-interface-libname'
09cda9d5 Allow imported INTERFACE libraries to specify a link library name
1d1f1eeb cmTarget: Refactor GetMappedConfig to choose location property up front
479932fa cmTarget: Add comment clarifying interface library special case
925e4270 cmTarget: Clarify comments in GetMappedConfig
2016-11-09 09:49:49 -05:00
Brad King 09cda9d5e7 Allow imported INTERFACE libraries to specify a link library name
Add an `IMPORTED_LIBNAME[_<CONFIG>]` target property to specify a library
name to be placed on the link line in place of an interface library
since it has no library file of its own.  Restrict use of the property
to imported `INTERFACE` libraries.

This will be particularly useful for find modules that need to provide
imported libraries from system SDKs where the full path to the library
file is not known.  Now such find modules will be able to provide an
imported interface library and set `IMPORTED_LIBNAME` to refer to the
SDK library by name.

Issue: #15267
2016-11-09 09:45:14 -05:00
Domen Vrankar b34c045736 Release text for omitting unsupported tags topic 2016-11-05 11:53:30 +01:00
Brad King 926a22b8b8 Merge topic 'vs-flag-order'
4cb5d335 VS: Place source-specific AdditionalOptions after target-wide flags
2016-11-04 08:26:09 -04:00
Brad King 4cb5d3353f VS: Place source-specific AdditionalOptions after target-wide flags
Flags specified in the `COMPILE_FLAGS` source-file property should
be placed after those in target-wide properties so that those on
individual source files can override those on the whole target.
This is already done by most generators but was not implemented
correctly for VS 2010 and above.

Closes: #16400
2016-11-02 13:11:08 -04:00
Brad King 9a8d758c3a Help: Document language standard meta-features 2016-11-02 10:01:24 -04:00
Brad King b0996a3fa2 Features: Add meta-features requesting awareness of a particular standard
A common use case of `target_compile_features` is simply to specify that
the compiler should be run in a mode that is aware of e.g. C++11.  Some
projects simply specify a particular C++11-only feature to request this.
Provide a first-class way to do this by naming features after the
corresponding language standard.  Record them as always available in the
corresponding standard level so that requesting them always ensures that
standard (or higher) is used.
2016-11-02 10:00:28 -04:00
Brad King cea26782c9 Merge topic 'doc-cmake-qt-missing-dbus'
13bc31aa Help: Update example Qt 5 find_package call to add missing component
2016-11-02 08:54:26 -04:00
Thiago M. de C. Marques 13bc31aab5 Help: Update example Qt 5 find_package call to add missing component
Running CMake on it caused the following error:

    error: Target "publisher" links to target "Qt5::DBus" but the target
    was not found.  Perhaps a find_package() call is missing for an
    IMPORTED target, or an ALIAS target is missing?

Add the missing DBus component.
2016-11-02 08:50:03 -04:00
Brad King 93f025118d Merge topic 'UseSWIG-SWIG_OUTFILE_DIR'
8444b984 UseSWIG: Add option to specify swig output file directory
2016-11-02 08:35:23 -04:00
Marcus D. Hanwell ff11989cc3 Help: Update example Qt 5 find_package call to use COMPONENTS 2016-11-01 14:06:49 -04:00
Brad King c88a078d69 Merge topic 'doc-tweaks'
311d0376 Help: Document error behavior of file(REMOVE/REMOVE_RECURSE)
77e78af1 Help: Clarify how to run sequential commands in execute_process
2016-11-01 10:58:40 -04:00
Cong Zhang 8444b984a2 UseSWIG: Add option to specify swig output file directory
`swig` has two output-related options:

* `-o <outfile>`: Set name of C/C++ output file to <outfile>
* `-outdir <dir>`: Set language-specific files output directory to <dir>

We already have `CMAKE_SWIG_OUTDIR` for the latter.  Add a new
`SWIG_OUTFILE_DIR` option for the former.
2016-11-01 10:10:08 -04:00
Brad King 01567fd74f Merge topic 'src-COMPILE_FLAGS-genex'
9a58517d Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnostic
1e4bb358 Add generator expression support to per-source COMPILE_FLAGS
2016-11-01 09:14:25 -04:00
Brad King 9c6cf7fcac Merge topic 'st2-env-vars-variable'
95805d72 Sublime: Add option to specify env vars for the .sublime-project
2016-11-01 09:14:21 -04:00
Brad King 9ceef25ee2 Merge topic 'intel-compile-features-windows'
369d5809 Features: Record features for Intel Compiler on Windows
a5a3642f Features: Port Intel CXX features to test macros where possible
d34ac22f Features: Unset Intel CXX feature temporaries
967dcf36 Intel: Remove incorrect C++98 standard compiler flag on Windows
2016-11-01 09:14:15 -04:00
Christian Fetzer 311d0376e2 Help: Document error behavior of file(REMOVE/REMOVE_RECURSE)
Clarifies that there is no need to surround file(REMOVE/REMOVE_RECURSE)
calls by `if(EXISTS)` as non existent files are silently ignored.
2016-11-01 10:25:18 +01:00
Christian Fetzer 77e78af1a2 Help: Clarify how to run sequential commands in execute_process
The execute_process command starts all commands in parallel (in order
for the piping to work). Mention this explicitly and also add a note
about how to execute commands sequentially.
2016-11-01 10:25:18 +01:00
Zsolt Parragi 1e4bb35894 Add generator expression support to per-source COMPILE_FLAGS
This allows users to specify different genex-based compile flags for
each file in a target, e.g. compiling just a single file with `Od/Ox` in
release builds on Visual Studio.
2016-10-28 11:18:03 -04:00
Brad King 18a966c80f Merge topic 'cmake-server-handshake-improvements'
42ccbee1 server-mode: Handle generator toolset and platform in handshake
d792491c cmake-server: Better error reporting during handshake
2016-10-28 08:26:49 -04:00
Tobias Hunger 42ccbee11c server-mode: Handle generator toolset and platform in handshake 2016-10-28 13:46:15 +02:00
Bruno Pedrosa 95805d725d Sublime: Add option to specify env vars for the .sublime-project
Create a `CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS` variable to control
addition of env vars in the `.sublime-project`.

Closes: #16387
2016-10-27 14:07:18 -04:00
Brad King 369d580937 Features: Record features for Intel Compiler on Windows
Since this compiler always defines `__cplusplus` to `1` we need to use
`_MSC_VER`, `__INTEL_CXX11_MODE__`, and the feature test macro named
`__cpp_aggregate_nsdmi` to detect C++11 and C++14 modes.

With no `-Qstd=` flag this compiler defaults to C++98 plus a subset of
C++11/C++14 features needed to be compatible with MSVC.  We pretend it
is plain C++98 and add a `-Qstd=` flag whenever needed for C++11 or
above features even if they would happen to be available in MSVC-mode.

Closes: #16384
2016-10-27 13:33:10 -04:00
Brad King 9a399c27a8 Merge topic 'cmake-server-message-quoting'
9b8dc79c cmake-server: Change message wrapper to avoid ambiguity with content
2016-10-25 09:08:49 -04:00
Brad King 9b8dc79cc8 cmake-server: Change message wrapper to avoid ambiguity with content
Change our message wrapper from

    [== CMake Server ==[ ... ]== CMake Server ==]

to

    [== "CMake Server" ==[ ... ]== "CMake Server" ==]

to guarantee that no JSON content can ever contain the ending string
(because it would be encoded as `]== \"CMake Server\" ==]`).
2016-10-24 14:36:13 -04:00
Brad King f660832999 Merge topic 'doc-cmake-server-typos'
48189697 Help: Fix cmake-server documentation
2016-10-24 10:28:19 -04:00
Tobias Hunger 48189697eb Help: Fix cmake-server documentation
Some information was not updated to reflect the latest implementation.

Reported-by: Sylvain Joubert <joubert.sy@gmail.com>
2016-10-21 13:37:10 -04:00
Brad King dd7f9d8393 Merge topic 'allow-fallback-config-mapping'
587ab322 Tests: Add test for MAP_IMPORTED_CONFIG_<CONFIG> empty fallback
149d49ea Teach MAP_IMPORTED_CONFIG_<CONFIG> to support configuration-less import
60d73393 Help: Format MAP_IMPORTED_CONFIG_<CONFIG> documentation
2016-10-21 08:59:37 -04:00
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 60d73393a5 Help: Format MAP_IMPORTED_CONFIG_<CONFIG> documentation 2016-10-20 11:31:13 -04:00
Brad King fc7ecd6b05 Merge topic 'external-project-clone-progress'
e89fbfaf ExternalProject: support GIT_PROGRESS argument
64aa29b7 ExternalProject: fix typo
2016-10-20 08:51:18 -04:00
Ben Boeckel e89fbfaf66 ExternalProject: support GIT_PROGRESS argument 2016-10-18 17:41:02 -04:00
Matt McCormick 33a9aaa89b ExternalData: Add support for multiple hash algorithms
Add support for projects to have `Data.txt.md5` *and* `Data.txt.sha512`
where the content links hold hashes for the same file.  Check all
`ExternalData_URL_TEMPLATES` entries in order for all available hashes.
The data acquisition is considered a failure if none of the available
URL resources has any of the given hashes.  This makes it possible to
have multiple data server resources where all servers do not support all
hashing algorithms.
2016-10-18 11:16:45 -04:00
Brad King a5f0e62988 Merge topic 'timeout_after_match_testtime'
909842ff CTest: report time spent after matching output
2016-10-18 08:43:03 -04:00
Brad King 9519d79b63 Merge topic 'math-EXPR-unary'
2810e561 math(EXPR): Add support for unary `+` and `-` expressions
834f52a6 cmExprParser: Revise indentation style to match rest of CMake
7aaed265 cmExprParser: Port to bison 3
2016-10-18 08:42:54 -04:00
Zack Galbreath 909842fff9 CTest: report time spent after matching output
When using the TIMEOUT_AFTER_MATCH test property, only report the
time spent by the test after the matching output was found.
2016-10-17 11:24:32 -04:00
Brad King 5fdee6d402 Merge topic 'doc-math-EXPR'
c05d9b05 Help: Fix math(EXPR) documentation formatting
2016-10-17 10:14:59 -04:00
Brad King 6f7c02ab0a Merge topic 'doc-clarify-ctest-APPEND'
78b00f1d Help: Clarify `ctest_*` APPEND option behavior
2016-10-17 10:14:55 -04:00
Brad King d657fd7b35 Merge branch 'doc-math-EXPR' into release 2016-10-14 15:47:50 -04:00
Brad King c05d9b0569 Help: Fix math(EXPR) documentation formatting 2016-10-14 15:47:30 -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 ef4e349ea3 Merge branch 'doc-clarify-ctest-APPEND' into release 2016-10-14 14:48:20 -04:00
Brad King 78b00f1d10 Help: Clarify ctest_* APPEND option behavior
Explicitly state that this marks the `.xml` to tell the dashboard
server to append it to previously submitted results and that it
does not cause results to be appended to the `.xml` file.
2016-10-14 14:43:46 -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
Brad King 779939a00e Help: Document VS and Xcode toolset selection
Add explicit sections to the individual generator documentation to cover
the `cmake -T` option along with the default behavior for each
generator.
2016-10-13 08:59:27 -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
Brad King f7fc93281b Merge topic 'codelite-global-setting'
80574a38 Codelite: Consume the CMAKE_CODELITE_USE_TARGETS setting globally
f59e8779 cmGlobalGenerator: Add API to get settings from top-level cmMakefile
2016-10-07 09:10:52 -04:00