Commit Graph

150 Commits

Author SHA1 Message Date
Gregor Jasny
071f8e78dd Apple: Add support for static frameworks
Closes: #16432
2017-01-31 08:59:15 -05:00
Jamie Snape
0618ddf6b1 Add properties to run the cpplint style checker with the compiler
Create a `<LANG>_CPPLINT` target property (initialized by a
`CMAKE_<LANG>_CPPLINT` variable) to specify a `cpplint` style checker
command line to be run along with the compiler.
2017-01-23 14:47:13 -05:00
Gregor Jasny
d9f836e956 Add a getter for manually added target dependencies
Closes: #16165
2017-01-16 22:38:24 +01:00
Michael Stürmer
6fda6005b3 VS: renamed target property VS_USER_PROPS_CXX to VS_USER_PROPS 2017-01-13 09:27:21 +01:00
Sebastian Holtermann
6eabac26f5 AUTOGEN: Documentation update: cmake-qt, AUTOMOC, AUTOUIC, AUTORCC 2017-01-11 09:25:48 -05: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
Sebastian Holtermann
e324d70409 QtAutogen: AUTOMOC documentation update 2016-12-07 08:24:06 -05:00
Sebastian Holtermann
b5409d04f1 QtAutogen: Rename autogen target to *_autogen from *_automoc 2016-12-07 08:24:02 -05:00
Sebastian Holtermann
6f53b1ab64 QtAutogen: Generate moc compilation in _automoc.dir/moc_compilation.cpp 2016-12-07 08:23:59 -05:00
Brad King
41f1125931 Merge topic 'features-c++17'
97c1e569 Help: Add release note for C++ 17 support
85c8e652 Features: Activate C++ 17 support for AppleClang 6.1+
8084f7a6 Features: Activate C++ 17 support for Clang 3.5+
24e29d41 Features: Activate C++ 17 support for GNU 5.1+
ae1a6815 Features: Add infrastructure for C++ 17 language standard
684e4d20 Features: Make feature recording conditions more consistent
2016-12-05 10:56:32 -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
Brad King
ae1a6815b6 Features: Add infrastructure for C++ 17 language standard
Issue: #16468
2016-12-02 11:22:46 -05: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
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
Robert Maynard
4b31609710 CUDA: Add support for the CUDA_SEPARABLE_COMPILATION target property 2016-11-14 16:40:48 -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
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
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
96de37092a Merge topic 'android-platform-modules'
7b637ebd Android: Add `ANDROID` variable to indicate the target
c2f561e5 Android: Add test cases covering use of the NDK and standalone toolchains
6b84df8d Help: Document cross compiling for Android
d7d40830 Android: Select the STL type for NDK builds
b22294bc Android: Populate compiler flags for current ABI
b6a3102a Android: Add a CMAKE_BUILD_TYPE default
d1e3cec2 Android: Add Clang -target option for current ABI
504db72d Android: Add placeholders for compiler/abi-specific settings
fa632578 Android: Avoid interfering with common pre-existing toolchain files
6299693f Android: Search for NDK and standalone toolchain in more places
29b51379 Android: Detect and save a standalone toolchain without the NDK
7d9b49fb Android: Detect settings from the CMAKE_SYSROOT if it is set
4389664a Android: Detect and save a toolchain from the NDK
328191f6 Android: Set CMAKE_SYSROOT automatically
9e032304 Android: Detect and save the architecture, ABI, and processor
fde59c4d Android: Detect and save the API level
...
2016-08-24 09:45:50 -04:00
Brad King
6b84df8da9 Help: Document cross compiling for Android
CMake now supports cross compiling for Android using the NDK or a
standalone toolchain.  Document the associated variables and how how to
write toolchain files for Android.
2016-08-23 12:53:10 -04:00
Sebastian Holtermann
61a607e8d4 Help: Document AUTORCC behavior for same .qrc name case 2016-08-15 08:57:17 -04:00
Gregor Jasny
c63380b195 Update documentation about bundle extensions 2016-07-21 23:16:50 -07:00
Yury Zhuravlev
9da725cb00 Windows: Honor WINDOWS_EXPORT_ALL_SYMBOLS for executables with exports
For executables with ENABLE_EXPORTS set, export all symbols when
instructed to do so by WINDOWS_EXPORT_ALL_SYMBOLS.
2016-07-11 09:41:04 -04:00
Brad King
4bbfea1751 Merge topic 'doc-cross-reference-lang-standard-and-extensions'
c6a077d6 Help: Cross reference CXX_STANDARD and CXX_EXTENSIONS (#16162)
2016-06-28 09:16:38 -04:00
Gregor Jasny
c6a077d698 Help: Cross reference CXX_STANDARD and CXX_EXTENSIONS (#16162) 2016-06-28 09:14:00 -04:00
Brad King
9e073b8842 Merge topic 'doc-osx-versions'
00caa1dd Help: Describe VERSION and SOVERSION meanings for Mach-O binaries
2016-06-27 10:40:28 -04:00
Bartosz Kosiorek
00caa1dde8 Help: Describe VERSION and SOVERSION meanings for Mach-O binaries 2016-06-23 13:44:26 -04:00
Gilles Khouzam
35a6cac2d3 VS: Add VS_SDK_REFERENCES target property to reference external SDKs
Allow one to specify external SDK references such as
`Microsoft.AdMediatorWindows81, Version=1.0`.
2016-06-22 08:34:12 -04:00
Bill Hoffman
96242f8022 Add options to run ldd -u -r as a "link-what-you-use" tool
Create a LINK_WHAT_YOU_USE target property and corresponding
CMAKE_LINK_WHAT_YOU_USE variable to enable this behavior.
Extend link commands by running `ldd -u -r` to detect shared
libraries that are linked but not needed.
2016-06-17 10:56:40 -04:00
Jean-Christophe Fillion-Robin
8c2cedc624 CustomCommandGenerator: Add support for CROSSCOMPILING_EMULATOR
Teach the `add_custom_command` and `add_custom_target' commands to
substitute argv0 with the crosscompiling emulator if it is a target with
the `CROSSCOMPILING_EMULATOR` property set.
2016-05-09 08:56:27 -04:00
Gregor Jasny
2d7d33ecb3 Help: Hyperlink properties 2016-04-27 22:38:59 +02:00
Sebastian Holtermann
8295d43713 Autogen: Check added for name collisions of generated moc files
The test exits with an error if two or more source files
would generate the same moc file.
2016-04-22 08:49:21 -04:00
Brad King
d350308af6 Help: Improve AUTOMOC documentation layout 2016-04-22 08:46:10 -04:00
Daniel Pfeifer
5e62444cff Add options to run clang-tidy with the compiler
Create a <LANG>_CLANG_TIDY target property (initialized by a
CMAKE_<LANG>_CLANG_TIDY variable) to specify a clang-tidy command line
to be run along with the compiler.
2016-04-13 09:56:10 -04:00
Felix Geyer
49e82c15d5 Fix spelling typos in comments and documentation (#16037)
The Debian package checker tool (lintian) detected several typos in
CMake.
2016-03-29 14:31:02 -04:00
Andrej Bosik
a22f996725 VS: Optionally generate remote directory for WinCE projects
Teach the VS 2008 and 2005 generators to set the `RemoteDirectory`
in `DeploymentTool` and the `RemoteExecutable` in `DebuggerTool`.
Use a `DEPLOYMENT_REMOTE_DIRECTORY` target property to specify the
value.
2016-03-15 14:34:26 -04:00
Brad King
b42866a34a Drop Visual Studio 6 generator
This generator has been deprecated since CMake 3.3.  Remove it.
Update documentation, modules, and tests to drop content specific
to this generator.
2016-03-09 09:42:18 -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
Ruslan Baratov
565d080a9a Xcode: Add support for combined install on iOS
This patch solves the problem of installing both: Device and Simulator
libraries on iOS. Before only one of them was installed.

If the IOS_INSTALL_COMBINED property is set on a target, a
special install hook will be activated which builds the corresponding
target and combines both at the install location.

The original patch was contributed by Ruslan Baratov, and polished by
Gregor Jasny.
2015-12-10 22:36:12 +01:00
Bartosz Kosiorek
e76ee2c006 iOS: Fix framework resource directory layout (#15848)
A typical iOS application bundle (also Framework Bundle) contains the
application executable and any resources used by the application (for
instance, the application icon, other images, and localized content) in
the top-level bundle directory.  The same rule applies to Framework
Bundles.
2015-12-03 08:52:09 -05:00
Bartosz Kosiorek
5d74c870d9 Help: Update documentation to reflect support for iOS
Many of our interfaces documented for OS X also work for iOS.
2015-11-23 10:04:10 -05:00
Brad King
2aaf702dec Merge topic 'macosx_rpath-clarify-doc'
f8eb72fe Help: Clarify documentation for MACOSX_RPATH variable.
2015-11-02 09:09:55 -05:00
Clinton Stimpson
f8eb72fe5f Help: Clarify documentation for MACOSX_RPATH variable. 2015-11-02 06:46:02 -07:00
Brad King
9a7f042a95 Help: Document target properties setting Info.plist fields (#15820)
Format the documentation of MACOSX_{BUNDLE,FRAMEWORK}_INFO_PLIST and
specify for each property what field in the Info.plist file it sets.
2015-10-30 09:09:40 -04:00