mirror of
https://github.com/reactos/CMake.git
synced 2025-02-01 17:42:41 +00:00
beaa4fa5dd
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.
186 lines
6.7 KiB
ReStructuredText
186 lines
6.7 KiB
ReStructuredText
CMake 3.5 Release Notes
|
|
***********************
|
|
|
|
.. only:: html
|
|
|
|
.. contents::
|
|
|
|
Changes made since CMake 3.4 include the following.
|
|
|
|
New Features
|
|
============
|
|
|
|
GUI
|
|
---
|
|
|
|
* The :manual:`cmake-gui(1)` gained options to control warnings about
|
|
deprecated functionality.
|
|
|
|
* The :manual:`cmake-gui(1)` learned an option to set the toolset
|
|
to be used with VS IDE and Xcode generators, much like the
|
|
existing ``-T`` option to :manual:`cmake(1)`.
|
|
|
|
* The :manual:`cmake-gui(1)` gained a Regular Expression Explorer which
|
|
may be used to create and evaluate regular expressions in real-time.
|
|
The explorer window is available via the ``Tools`` menu.
|
|
|
|
Command-Line
|
|
------------
|
|
|
|
* The ``-Wdev`` and ``-Wno-dev`` :manual:`cmake(1)` options now also enable
|
|
and suppress the deprecated warnings output by default.
|
|
|
|
* The suppression of developer warnings as errors can now be controlled with
|
|
the new ``-Werror=dev`` and ``-Wno-error=dev`` :manual:`cmake(1)` options.
|
|
|
|
* The :manual:`cmake(1)` ``-E`` command-line tools ``copy``,
|
|
``copy_if_different``, ``copy_directory``, and ``make_directory``
|
|
learned to support multiple input files or directories.
|
|
|
|
Commands
|
|
--------
|
|
|
|
* The :command:`cmake_parse_arguments` command is now implemented natively.
|
|
The :module:`CMakeParseArguments` module remains as an empty placeholder
|
|
for compatibility.
|
|
|
|
* The :command:`install(DIRECTORY)` command learned to support
|
|
:manual:`generator expressions <cmake-generator-expressions(7)>`
|
|
in the list of directories.
|
|
|
|
Variables
|
|
---------
|
|
|
|
* The :variable:`CMAKE_ERROR_DEPRECATED` variable can now be set using the
|
|
``-Werror=deprecated`` and ``-Wno-error=deprecated`` :manual:`cmake(1)`
|
|
options.
|
|
|
|
* The :variable:`CMAKE_WARN_DEPRECATED` variable can now be set using the
|
|
``-Wdeprecated`` and ``-Wno-deprecated`` :manual:`cmake(1)` options.
|
|
|
|
Properties
|
|
----------
|
|
|
|
* The :prop_tgt:`VS_GLOBAL_<variable>` target property is now implemented
|
|
for VS 2010 and above. Previously it worked only in VS 2008 and below.
|
|
|
|
Modules
|
|
-------
|
|
|
|
* The :module:`ExternalProject` module learned a new ``GIT_REMOTE_NAME``
|
|
option to control the ``git clone --origin`` value.
|
|
|
|
* The :module:`FindBoost` module now provides imported targets
|
|
such as ``Boost::boost`` and ``Boost::filesystem``.
|
|
|
|
* The :module:`FindFLEX` module ``FLEX_TARGET`` macro learned a
|
|
new ``DEFINES_FILE`` option to specify a custom output header
|
|
to be generated.
|
|
|
|
* The :module:`FindGTest` module now provides imported targets.
|
|
|
|
* The :module:`FindGTK2` module, when ``GTK2_USE_IMPORTED_TARGETS`` is
|
|
enabled, now sets ``GTK2_LIBRARIES`` to contain the list of imported
|
|
targets instead of the paths to the libraries. Moreover it now sets
|
|
a new ``GTK2_TARGETS`` variable containing all the targets imported.
|
|
|
|
* The :module:`FindOpenMP` module learned to support Clang.
|
|
|
|
* The :module:`FindOpenSSL` module gained a new
|
|
``OPENSSL_MSVC_STATIC_RT`` option to search for libraries using
|
|
the MSVC static runtime.
|
|
|
|
* The :module:`FindPNG` module now provides imported targets.
|
|
|
|
* The :module:`FindTIFF` module now provides imported targets.
|
|
|
|
* A :module:`FindXalanC` module was introduced to find the
|
|
Apache Xalan-C++ XSL transform processing library.
|
|
|
|
* The :module:`FindXercesC` module now provides imported targets.
|
|
|
|
Platforms
|
|
---------
|
|
|
|
* Support was added for the ARM Compiler (arm.com) with compiler id ``ARMCC``.
|
|
|
|
* A new platform file for cross-compiling in the Cray Linux Environment to
|
|
target compute nodes was added. See
|
|
:ref:`Cross Compiling for the Cray Linux Environment <Cray Cross-Compile>`
|
|
for usage details.
|
|
|
|
* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
|
|
is now aware of features supported by Clang compilers on Windows (MinGW).
|
|
|
|
* When building for embedded Apple platforms like iOS CMake learned to build and
|
|
install combined targets which contain both a device and a simulator build.
|
|
This behavior can be enabled by setting the :prop_tgt:`IOS_INSTALL_COMBINED`
|
|
target property.
|
|
|
|
CPack
|
|
-----
|
|
|
|
* The :module:`CPackDMG` module learned new variable to specify AppleScript
|
|
file run to customize appearance of ``DragNDrop`` installer folder,
|
|
including background image setting using supplied PNG or multi-resolution
|
|
TIFF file. See the :variable:`CPACK_DMG_DS_STORE_SETUP_SCRIPT` and
|
|
:variable:`CPACK_DMG_BACKGROUND_IMAGE` variables.
|
|
|
|
* The :module:`CPackDeb` module learned to set the optional config
|
|
file ``Source`` field using a monolithic or per-component variable.
|
|
See :variable:`CPACK_DEBIAN_PACKAGE_SOURCE`.
|
|
|
|
* The :module:`CPackDeb` module learned to set Package, Section
|
|
and Priority control fields per-component.
|
|
See variables :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION` and
|
|
:variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY`.
|
|
|
|
* The :module:`CPack DragNDrop generator <CPackDMG>` learned to add
|
|
multi-lingual SLAs to a DMG which is presented to the user when they try to
|
|
mount the DMG. See the :variable:`CPACK_DMG_SLA_LANGUAGES` and
|
|
:variable:`CPACK_DMG_SLA_DIR` variables for details.
|
|
|
|
* The :module:`CPackNSIS` module learned new variables to add bitmaps to the
|
|
installer. See the :variable:`CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP`
|
|
and :variable:`CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP` variables.
|
|
|
|
* The :module:`CPackRPM` module learned to set Name and Group
|
|
control fields per-component.
|
|
See :variable:`CPACK_RPM_<component>_PACKAGE_NAME`
|
|
and :variable:`CPACK_RPM_<component>_PACKAGE_GROUP`.
|
|
|
|
Other
|
|
-----
|
|
|
|
* Warnings about deprecated functionality are now enabled by default.
|
|
They may be suppressed with ``-Wno-deprecated`` or by setting the
|
|
:variable:`CMAKE_WARN_DEPRECATED` variable to false.
|
|
|
|
Deprecated and Removed Features
|
|
===============================
|
|
|
|
* The :manual:`cmake(1)` ``-E time`` command now properly passes arguments
|
|
with spaces or special characters through to the child process. This
|
|
may break scripts that worked around the bug with their own extra
|
|
quoting or escaping.
|
|
|
|
* The :generator:`Xcode` generator was fixed to escape backslashes in
|
|
strings consistently with other generators. Projects that previously
|
|
worked around the inconsistecy with an extra level of backslashes
|
|
conditioned on the Xcode generator must be updated to remove the
|
|
workaround for CMake 3.5 and greater.
|
|
|
|
Other Changes
|
|
=============
|
|
|
|
* The :generator:`Visual Studio 14 2015` generator learned to map the
|
|
``/debug:fastlink`` linker flag to the ``.vcxproj`` file property.
|
|
|
|
* The :module:`FindGTK2` module now configures the ``GTK2::sigc++`` imported
|
|
target to enable c++11 on its dependents when using sigc++ 2.5.1 or higher.
|
|
|
|
* The precompiled Windows binary provided on ``cmake.org`` is now a
|
|
``.msi`` package instead of an installer executable. One may need
|
|
to manually uninstall CMake versions lower than 3.5 before installing
|
|
the new package.
|