CMake 3.11.0-rc1 is ready for testing

I am proud to announce the first CMake 3.11 release candidate.
https://cmake.org/download/

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

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

Some of the more significant changes in CMake 3.11 are:

  • The Makefile Generators and the “Ninja” generator learned to add
    compiler launcher tools along with the compiler for the “Fortran”
    language (“C”, “CXX”, and “CUDA” were supported previously). See the
    “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and
    “<LANG>_COMPILER_LAUNCHER” target property for details.
  • Visual Studio Generators learned to support the “COMPILE_LANGUAGE”
    “generator expression” in target-wide “COMPILE_DEFINITIONS”,
    “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See
    generator expression documentation for caveats.
  • The “Xcode” Generator learned to support the “COMPILE_LANGUAGE”
    “generator expression” in target-wide “COMPILE_DEFINITIONS” and
    “INCLUDE_DIRECTORIES”. It previously supported only
    “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression
    documentation for caveats.
  • “add_library()” and “add_executable()” commands can now be called
    without any sources and will not complain as long as sources are
    added later via the “target_sources()” command.
  • The “target_compile_definitions()” command learned to set the
    “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets.
  • The “target_compile_features()” command learned to set the
    “INTERFACE_COMPILE_FEATURES” property on Imported Targets.
  • The “target_compile_options()” command learned to set the
    “INTERFACE_COMPILE_OPTIONS” property on Imported Targets.
  • The “target_include_directories()” command learned to set the
    “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets.
  • The “target_sources()” command learned to set the
    “INTERFACE_SOURCES” property on Imported Targets.
  • The “target_link_libraries()” command learned to set the
    “INTERFACE_LINK_LIBRARIES” property on Imported Targets.
  • The “COMPILE_DEFINITIONS” source file property learned to support
    “generator expressions”.
  • A “COMPILE_OPTIONS” source file property was added to manage list
    of options to pass to the compiler.
  • When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple
    parallel “moc” or “uic” processes to reduce the build time. A new
    “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target
    property may be set to specify the number of parallel “moc” or “uic”
    processes to start. The default is derived from the number of CPUs
    on the host.

 

Questions or comments are always welcome!

X