Commit Graph

668 Commits

Author SHA1 Message Date
Sebastian Holtermann
6eabac26f5 AUTOGEN: Documentation update: cmake-qt, AUTOMOC, AUTOUIC, AUTORCC 2017-01-11 09:25:48 -05:00
Sebastian Holtermann
cbc07d331d AUTOGEN: Documentation for SKIP_AUTOX source file properties 2017-01-10 12:49:17 +01:00
Michael Stürmer
55da7e501e VS: add support for .NET references with hint paths 2016-12-13 13:51:50 -05:00
Brad King
7b47ce5a3a Merge topic 'document_cuda_standard_property'
45054119 Help: Document CUDA_STANDARD and related properties
2016-12-12 14:21:30 -05:00
Brad King
55ff3c78b3 Merge topic 'xcode-message-extension'
9ac0c393 Help: Add notes for topic 'xcode-message-extension'
0ae46321 Xcode: Add target property to override explicitFileType
7ecac703 Xcode: Add target property to override productType
2016-12-12 14:21:23 -05:00
Robert Maynard
4505411982 Help: Document CUDA_STANDARD and related properties 2016-12-09 14:13:06 -05:00
Brad King
a0d64ecf8b Merge topic 'try_compile-lang-std'
f72ba42b try_compile: Add policy CMP0067 to honor language standards
45aa03b9 try_compile: Add options to specify language standards
3bb2051e try_compile: Stop processing when test build system fails to generate
2016-12-07 09:22:22 -05:00
Sebastian Holtermann
e1f571a983 QtAutogen: CMake-Qt documentation update 2016-12-07 08:24:07 -05:00
Brad King
f72ba42b7c try_compile: Add policy CMP0067 to honor language standards
Projects use `try_compile` to check if they will be able to compile some
particular source code.  When a language standard variable like
`CMAKE_CXX_STANDARD` is set, then the project intends to compile source
code using a compiler mode for that standard.  Therefore it makes sense
for `try_compile` to use that standard in the test project too.

Unfortunately this was not done when support for the
`CMAKE_CXX_STANDARD` variable was first implemented.  Add a policy to
introduce the improved behavior in a compatible way.

Closes: #16456
2016-12-06 08:58:42 -05:00
Gregor Jasny
0ae4632119 Xcode: Add target property to override explicitFileType 2016-12-04 00:13:51 +01:00
Gregor Jasny
7ecac703ce Xcode: Add target property to override productType 2016-12-04 00:13:08 +01:00
Michael Stürmer
163e801809 VS: Add target property VS_DEBUGGER_WORKING_DIRECTORY 2016-11-30 11:45:11 -05:00
Brad King
29b37dd975 Merge topic 'msbuild-customization'
e3909918 VS: Add option to customize vcxproj user props file
2016-11-30 08:37:37 -05:00
Brad King
4288708cba Merge topic 'vs15-rename-generator-for-master'
31e013ae Merge branch 'vs15-rename-generator' into vs15-rename-generator-for-master
d639620e VS: Rename VS 15 generator to 'Visual Studio 15 2017'
2016-11-30 08:37:11 -05:00
Brad King
31e013ae60 Merge branch 'vs15-rename-generator' into vs15-rename-generator-for-master 2016-11-29 10:51:35 -05:00
Roman Wüger
d639620e14 VS: Rename VS 15 generator to 'Visual Studio 15 2017'
The final name of this VS version was announced:

 https://blogs.msdn.microsoft.com/visualstudio/2016/11/16/visual-studio-2017-rc/

Add the year to the generator name accordingly.  For convenience, map
the name without the year to the name with the year.
2016-11-29 10:46:36 -05:00
Michael Stürmer
e390991846 VS: Add option to customize vcxproj user props file
Add a `VS_USER_PROPS_CXX` target property to set the user props file of
the generated `.vcxproj` file to be something other than the default
`$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props`.
2016-11-29 09:31:30 -05:00
Brad King
839cd16396 Merge topic 'vs-default-build-package'
9e3164df VS: Add option to place `PACKAGE` target in solution default build
2016-11-29 08:59:11 -05:00
Brad King
4838ca14df Merge topic 'initial_cuda_language_support'
4cc601f2 Help: Add release note for CUDA support
7b9131da CUDA: Add tests to verify CUDA compiler works properly.
9cf5b98d CUDA: Prefer environment variables CUDACXX and CUDAHOSTCXX.
a5e806b3 CUDA: Add support for CMAKE_CUDA_COMPILE_OPTIONS_VISIBILITY
d038559e CUDA: Add separable compilation support to the makefile generator.
43ce4414 CUDA: Add separable compilation support to the ninja generator.
4b316097 CUDA: Add support for the CUDA_SEPARABLE_COMPILATION target property
ae05fcc6 CUDA: Add LinkLineComputer that computes cuda dlink lines.
115269a8 CUDA: Refactor cmLinkLineComputer to allow for better derived children.
5dec4031 CUDA: Refactor CMakeCUDAInformation to prepare for separable compilation.
5b20d0ab CUDA: C++ compile features now enable cuda c++11 support.
489c52ce CUDA: Use the host compiler for linking CUDA executables and shared libs.
bbaf2434 CUDA: add support for specifying an explicit host compiler.
a92f8d96 CUDA: Enable header dependency scanning.
ec6ce623 CUDA: State that cuda has preprocessor output and can generate assembly.
4f5155f6 CUDA: We now properly perform CUDA compiler identification.
...
2016-11-29 08:59:03 -05:00
Michael Stürmer
9e3164dfa2 VS: Add option to place PACKAGE target in solution default build
Add a `CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD` variable to control
this behavior.
2016-11-29 08:46:27 -05:00
Brad King
2420ce88f1 Merge topic 'imported-interface-no-system'
46005251 Allow NO_SYSTEM_FROM_IMPORTED on imported INTERFACE libraries
2016-11-22 08:41:03 -05:00
Brad King
de758cfaa1 Merge topic 'doc-CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT'
df9fea7f Help: Document CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT variable
2016-11-22 08:40:59 -05:00
Brad King
df9fea7f49 Help: Document CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT variable
This variable documentation was simply missing.

Suggested-by: Craig Scott <craig.scott@crascit.com>
2016-11-21 11:52:00 -05:00
Brad King
460052516f Allow NO_SYSTEM_FROM_IMPORTED on imported INTERFACE libraries
Imported INTERFACE libraries can specify include directories via
`INTERFACE_INCLUDE_DIRECTORIES` so the default behavior of treating them
as system include directories applies.  Allow users to turn this off by
setting `NO_SYSTEM_FROM_IMPORTED` on such targets.

Closes: #16443
2016-11-21 11:42:01 -05:00
Brad King
b3193996bd Help: Mention IMPORTED_LIBNAME_* in interface library property whitelist
This property was added by commit 09cda9d5 (Allow imported INTERFACE
libraries to specify a link library name, 2016-11-03) and is in the
implementation's whitelist.  Add it to the documentation too.
2016-11-21 10:41:40 -05:00
Brad King
ea8eba0bbf Android: Add CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE
Expose the binutils' machine name (typically used as a prefix on the
tool names) publicly.  This is expected to match the `gcc -dumpmachine`
value.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-18 10:03:15 -05:00
Brad King
0d3eb139e1 Android: Add CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG variable
The NDK provides prebuilt toolchain files in directories named for the
host architecture.  The NDK build system calls this `HOST_TAG`.
Expose the value publicly for use by clients that need to pass it
to external tools.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-18 10:03:07 -05:00
Brad King
236d6244a0 Android: Always set CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
When this variable is not set by the user or toolchain file, set it to
the default selected.  This will be useful for client code that needs to
pass the value to an external tool that needs to find the same toolchain
in the NDK.  Leave it empty for a standalone toolchain.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-18 10:02:57 -05:00
Robert Maynard
4b31609710 CUDA: Add support for the CUDA_SEPARABLE_COMPILATION target property 2016-11-14 16:40:48 -05:00
Brad King
f7c5e970a0 Android: Add CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE
Expose the binutils' machine name (typically used as a prefix on the
tool names) publicly.  This is expected to match the `gcc -dumpmachine`
value.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-14 14:39:50 -05:00
Brad King
d95e6dff3c Android: Add CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG variable
The NDK provides prebuilt toolchain files in directories named for the
host architecture.  The NDK build system calls this `HOST_TAG`.
Expose the value publicly for use by clients that need to pass it
to external tools.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-14 14:29:18 -05:00
Brad King
3d42a72bd5 Android: Always set CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
When this variable is not set by the user or toolchain file, set it to
the default selected.  This will be useful for client code that needs to
pass the value to an external tool that needs to find the same toolchain
in the NDK.  Leave it empty for a standalone toolchain.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-14 14:29:14 -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
Brad King
9a8d758c3a Help: Document language standard meta-features 2016-11-02 10:01:24 -04:00
Brad King
c555eca9ba Merge branch 'doc-cmake-qt-fixes' into release 2016-11-02 08:52:23 -04:00
Thiago M. de C. Marques
1c52e6511f 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:51:57 -04:00
Marcus D. Hanwell
4c802a326b Help: Update example Qt 5 find_package call to use COMPONENTS 2016-11-02 08:51:53 -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
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
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
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
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