#7135: cmake-3.4.0
-------------------------+-------------------------
 Reporter:  fo           |      Owner:  blfs-book@…
     Type:  enhancement  |     Status:  new
 Priority:  normal       |  Milestone:  7.9
Component:  BOOK         |    Version:  SVN
 Severity:  normal       |   Keywords:
-------------------------+-------------------------
 [http://www.cmake.org/files/v3.4/cmake-3.4.0.tar.gz]

 [http://www.cmake.org/files/v3.4/cmake-3.4.0-SHA-256.txt]

 a5b82bf6ace6c481cdb911fd5d372a302740cbefd387e05297cb37f7468d1cea

 [http://www.cmake.org/files/v3.4/cmake-3.4.0-SHA-256.txt.asc]

 3.4.0 [https://cmake.org/pipermail/cmake/2015-November/061998.html]

 {{{
 [CMake] [ANNOUNCE] CMake 3.4.0 Released
 Robert Maynard robert.maynard at kitware.com
 Thu Nov 12 13:56:05 EST 2015

 I am proud to announce that CMake 3.4.0 is now available for download
 at:
   https://cmake.org/download/

 Documentation is available at:
   https://cmake.org/cmake/help/v3.4

 Release notes appear below and are also published at
   https://cmake.org/cmake/help/v3.4/release/3.4.html

 Some of the more significant features of CMake 3.4 are:

 * The "if()" command learned a new "TEST" operator that evaluates to
   true if a given test name has been defined by the "add_test()"
   command.  See policy "CMP0064".

 * The "install(DIRECTORY)" command "DESTINATION" option learned to
   support "generator expressions".

 * The "install(FILES)" command "DESTINATION" option learned to
   support "generator expressions".

 * CMake learned to honor "*.manifest" source files with MSVC tools.
   Manifest files named as sources of ".exe" and ".dll" targets will be
   merged with linker-generated manifests and embedded in the binary.


 Deprecated and Removed Features:

 * The "CMakeExpandImportedTargets" module is now documented as
   deprecated.  See module documentation for an explanation.

 * The "CMAKE_USE_RELATIVE_PATHS" variable no longer has any effect.
   Previously it was partially implemented and unreliable.


 CMake 3.4 Release Notes
 ***********************

 Changes made since CMake 3.3 include the following.


 New Features
 ============


 Generators
 ----------

 * The "Visual Studio 14 2015" generator learned to select a Windows
   10 SDK based on the value of the "CMAKE_SYSTEM_VERSION" variable and
   the SDKs available on the host.

 * CMake learned rudimentary support for the Apple Swift language.
   When using the "Xcode" generator with Xcode 6.1 or higher, one may
   enable the "Swift" language with the "enable_language()" command or
   the "project()" command (this is an error with other generators or
   when Xcode is too old).  Then one may list ".swift" source files in
   targets for compilation.


 Commands
 --------

 * The "find_program()" command learned a "NAMES_PER_DIR" option to
   consider all given "NAMES" in each directory before moving on to the
   next directory.

 * The "get_filename_component()" command learned a new "BASE_DIR"
   subcommand.  This is used to specify a base directory when
   calculating an absolute path from a relative path.

 * The "if()" command learned a new "TEST" operator that evaluates to
   true if a given test name has been defined by the "add_test()"
   command.  See policy "CMP0064".

 * The "install(DIRECTORY)" command "DESTINATION" option learned to
   support "generator expressions".

 * The "install(FILES)" command "DESTINATION" option learned to
   support "generator expressions".

 * The "string()" command learned a new "APPEND" subcommand.


 Variables
 ---------

 * The Makefile Generators and the "Ninja" generator learned to add
   compiler launcher tools like distcc and ccache along with the
   compiler for "C" and "CXX" languages.  See the
   "CMAKE_<LANG>_COMPILER_LAUNCHER" variable and
   "<LANG>_COMPILER_LAUNCHER" target property for details.

 * New "CMAKE_LINK_SEARCH_START_STATIC" and
   "CMAKE_LINK_SEARCH_END_STATIC" variables were introduced to
   initialize the "LINK_SEARCH_START_STATIC" and
   "LINK_SEARCH_END_STATIC" target properties, respectively.


 Properties
 ----------

 * Visual Studio Generators learned to support additonal target
   properties to customize projects for NVIDIA Nsight Tegra Visual
   Studio Edition:

   * "ANDROID_ANT_ADDITIONAL_OPTIONS"

   * "ANDROID_ARCH"

   * "ANDROID_ASSETS_DIRECTORIES"

   * "ANDROID_JAR_DEPENDENCIES"

   * "ANDROID_JAR_DIRECTORIES"

   * "ANDROID_JAVA_SOURCE_DIR"

   * "ANDROID_NATIVE_LIB_DEPENDENCIES"

   * "ANDROID_NATIVE_LIB_DIRECTORIES"

   * "ANDROID_PROCESS_MAX"

   * "ANDROID_PROGUARD"

   * "ANDROID_PROGUARD_CONFIG_PATH"

   * "ANDROID_SECURE_PROPS_PATH"

   * "ANDROID_SKIP_ANT_STEP"

   * "ANDROID_STL_TYPE"

 * The "ARCHIVE_OUTPUT_DIRECTORY", "LIBRARY_OUTPUT_DIRECTORY", and
   "RUNTIME_OUTPUT_DIRECTORY" target properties learned to support
   "generator expressions".

 * The "SOURCE_DIR" and "BINARY_DIR" target properties were
   introduced to allow project code to query where a target is defined.

 * The "OUTPUT_NAME" target property and its variants learned to
   support "generator expressions".

 * A "TARGET_MESSAGES" global property was added to tell the Makefile
   Generators whether to generate commands to print output after each
   target is completed.

 * On Windows with MS-compatible tools, CMake learned to optionally
   generate a module definition (".def") file for "SHARED" libraries.
   See the "WINDOWS_EXPORT_ALL_SYMBOLS" target property.


 Modules
 -------

 * The "ExternalProject" module "ExternalProject_Add()" function
   "GIT_SUBMODULES" option now also limits the set of submodules that
   are initialized in addition to the prior behavior of limiting the
   set of submodules that are updated.

 * The "ExternalProject" module learned new "USES_TERMINAL" arguments
   for giving steps exclusive terminal access.  This is useful with the
   "Ninja" generator to monitor CMake superbuild progress and prevent
   CPU oversubscription.

 * The "FindBISON" module "BISON_TARGET" macro learned a new
   "DEFINES_FILE" option to specify a custom output header to be
   generated.

 * The "FindHDF5" module learend a new "HDF5_PREFER_PARALLEL" option
   allowing users to specify that a parallel HDF5 tool is preferred if
   both are available.

 * The "FindIce" module now provides imported targets.

 * The "FindJava" module learned to optionally find the "idlj" and
   "jarsigner" tools.

 * The "FindOpenSSL" module now provides imported targets.

 * The "FindOpenSSL" module learned a new "OPENSSL_USE_STATIC_LIBS"
   option to search only for static libraries.

 * The "FindPkgConfig" learned a new "pkg_get_variable()" command
   which may be used to query for arbitrary variables from a package
   (such as for related tools or data and plugin install paths).

 * The "FindProtobuf" module gained a new
   "protobuf_generate_python()" function to generate python sources
   from ".proto" files.

 * The "FindTIFF" module learned to search separately for debug and
   release variants.

 * The "FindwxWidgets" module learned to support version requests.

 * The "FindXercesC" module learned to search separately for debug
   and release variants.

 * The "FindZLIB" module learned to search separately for debug and
   release variants.

 * The "GNUInstallDirs" module learned special default values for
   certain installation prefixes according to the GNU Coding Standards
   and the Filesystem Hierarchy Standard.

 * The "UseJava" module "add_jar" function learned to support
   response files (e.g. "@srcs.txt") for source specification.

 * The "UseJava" module "install_jar" function learned new
   "DESTINATION" and "COMPONENT" options to specify the corresponding
   "install()" command options.

 * The "UseJava" module gained a new "create_javah" function to
   create C headers from Java classes.


 Generator Expressions
 ---------------------

 * A new "$<SHELL_PATH:...>" "generator expression" has been added.


 CTest
 -----

 * CTest learned to optionally measure the CPU load during parallel
   testing and avoid starting tests that may cause the load to exceed a
   given threshold.  See the "ctest(1)" command "--test-load" option,
   the "TestLoad" setting of the CTest Test Step, the "CTEST_TEST_LOAD"
   variable, and the "TEST_LOAD" option of the "ctest_test()" command.

 * "ctest(1)" learned options "--test-output-size-passed" and "--
   test-output-size-failed" to customize the limit on test output size
   submitted when running as a Dashboard Client.


 CPack
 -----

 * The "CPackDeb" module learned to set package dependencies per
   component.  See variables:

   * "CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS"

   * "CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS"

   * "CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES"

   * "CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS"

   * "CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES"

   * "CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS"

   * "CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES"

   * "CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS"

 * The "CPack" module learned to package empty directories.

 * The "CPack" module gained a new setting,
   "CPACK_VERBATIM_VARIABLES", which can be used to ensure the cpack
   program receives the settings' values exactly as they were set, even
   if they contain CMake-special characters. For compatibility, it's
   off by default.


 Other
 -----

 * The "Compile Features" functionality is now aware of features
   supported by GNU C compilers on Windows.

 * CMake learned to honor "*.manifest" source files with MSVC tools.
   Manifest files named as sources of ".exe" and ".dll" targets will be
   merged with linker-generated manifests and embedded in the binary.

 * The Concurrent Fortran 77 compiler is now supported. Its "compiler
   id" is "CCur".

 * "cmake(1)" gained a new "--trace-expand" command line option that
   is like "--trace" but expands variable references in the output.


 Deprecated and Removed Features
 ===============================

 * The "CMakeExpandImportedTargets" module is now documented as
   deprecated.  See module documentation for an explanation.

 * The "CMAKE_USE_RELATIVE_PATHS" variable no longer has any effect.
   Previously it was partially implemented and unreliable.


 Other Changes
 =============

 * The "CheckFunctionExists", "CheckLibraryExists",
   "CheckSymbolExists", and "FindThreads" modules learned to work in
   environments where only CXX is enabled.

 * The "CPackDeb" module now correctly excludes symlinks during
   package checksum calculation.

 * The "CPackDeb" no longer uses fakeroot and system tar program for
   packaging.

 * The "CPack" module no longer mangles settings with CMake-special
   characters when they're used as defaults for other settings. The
   macro "cpack_set_if_not_set", which was responsible for this, is now
   deprecated.

 * CMake no longer links executables with flags to export symbols
   unless the "ENABLE_EXPORTS" target property is set. See policy
   "CMP0065".

 * The "SONAME" field is no longer set for "MODULE" libraries created
   with the "add_library()" command.  "MODULE" libraries are meant for
   explicit dynamic loading at runtime. They cannot be linked so
   "SONAME" is not useful.

 * The internal "CMAKE__COMPILE_OBJECT" rule variable now
   substitutes compiler include flags in a separate "<INCLUDES>"
   placeholder instead of the main "<FLAGS>" placeholder.

 --------------------------------------------------------------------
 Changes made since CMake 3.4.0-rc3:

 Brad King (1):
       CMake 3.4.0

 Stephen Kelly (1):
       Install: Move SetHaveInstallRule to a more-obvious place
 }}}

--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/7135>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to