[CMake] [ANNOUNCE] CMake 3.0-rc3 now ready for testing!

Robert Maynard robert.maynard at kitware.com
Wed Mar 26 13:22:33 EDT 2014

I am proud to announce the CMake 3.0 third release candidate.

Sources and binaries are available at:

Documentation is available at:

Release notes appear below and are also published at

Some of the more significant features of CMake 3.0 are:
* Compatibility options supporting code written for CMake versions
  prior to 2.4 have been removed.

* The CMake language has been extended with *Bracket Argument* and
  *Bracket Comment* syntax inspired by Lua long brackets.

* The CMake documentation has been converted to reStructuredText and
  uses Sphix generation.

* Generators for Visual Studio 10 (2010) and later were renamed to
  include the product year like generators for older VS versions:
  * "Visual Studio 10" -> "Visual Studio 10 2010"
  * "Visual Studio 11" -> "Visual Studio 11 2012"
  * "Visual Studio 12" -> "Visual Studio 12 2013"
  This clarifies which generator goes with each Visual Studio version.
  The old names are recognized for compatibility.

* A new "CodeLite" extra generator is available for use with the
  Makefile or Ninja generators.

* A new "Kate" extra generator is available for use with the
  Makefile or Ninja generators.

* The "add_library()" command learned a new "INTERFACE" library
  type. Interface libraries have no build rules but may have
  properties defining "usage requirements" and may be installed,
  exported, and imported.  This is useful to create header-only
  libraries that have concrete link dependencies on other libraries.

* The "export()" command learned a new "EXPORT" mode that retrieves
  the list of targets to export from an export set configured by the
  "install(TARGETS)" command "EXPORT" option.  This makes it easy to
  export from the build tree the same targets that are exported from
  the install tree.

* The "project()" command learned to set some version variables to
  values specified by the new "VERSION" option or to empty strings.
  See policy "CMP0048".

* Several long-outdated commands that should no longer be called
  have been disallowed in new code by policies:
  * Policy "CMP0029" disallows "subdir_depends()"
  * Policy "CMP0030" disallows "use_mangled_mesa()"
  * Policy "CMP0031" disallows "load_command()"
  * Policy "CMP0032" disallows "output_required_files()"
  * Policy "CMP0033" disallows "export_library_dependencies()"
  * Policy "CMP0034" disallows "utility_source()"
  * Policy "CMP0035" disallows "variable_requires()"
  * Policy "CMP0036" disallows "build_name()"


Changes made since CMake 3.0.0-rc1:

Aurélien Gâteau (1):
      find_dependency: Give more helpful message if VERSION is empty

Bas Couwenberg (1):
      FindRuby: Add support for Ruby 2.0 and 2.1

Brad King (12):
      Help: Add FindRuby-2 topic release notes
      Help: Consolidate FindRuby-2 release notes for 3.0.0
      Help: Mention in find_package that cmake-gui step is Windows-only (#14781)
      cmake: Fix --check-build-system argument count check (#14784)
      Record more policies on targets when created
      Tests: Simplify and document policy scopes in RunCMake.CMP* tests
      Help: Document variables CMAKE_APPBUNDLE_PATH and CMAKE_FRAMEWORK_PATH
      CMakeDetermine*Compiler: Factor out search for compiler in PATH
      Xcode: Convert forced CMAKE_<LANG>_COMPILER to full path if possible
      CMake*CompilerId: Fix patch level for Intel >= 14.0 (#14806)

Matt McCormick (1):
      FindPython{Interp,Libs}: Search for Python 3.4.

Stephen Kelly (11):
      add_definitions: Don't document genex support.
      CMP0043: Document old and new interfaces for setting directory property.
      find_dependency: Don't propagate EXACT argument.
      Qt4: Use correct qdbus executable in macro.
      QtAutogen: Fix AUTOGEN depends on custom command output with VS.
      find_dependency: Make sure invalid EXACT use can be reported.
      cmTarget: Don't create duplicate backtraces in CMP0046 warning
      QtDialog: Avoid linking to Qt4 WinMain when using Qt 5.
      cmTarget: Restore <CONFIG>_LOCATION to CMP0026 OLD behavior (#14808)
      QtDialog: Fix Qt 5 build on non-Windows.
      Disallow INTERFACE libraries with add_custom_command(TARGET).

More information about the CMake mailing list