Kitware is pleased to announce the release of CMake 2.8.6. This release features several notable changes, including a new AUTOMOC target property that helps make it easier to build Qt projects and support for the Intel Fortran compiler in VisualStudio10. Additionally, VisualStudio 9 and 10 generators for Itanium platform have been added, and appear as the “Visual Studio 9 2008 IA64” and “Visual Studio 10 IA64” generators on Windows builds of CMake.
This release also contains an experimental generator in the Windows build targeting VisualStudio 11. It will remain "Experimental" until VisualStudio 11 itself is finalized. If you have the developer preview of VisualStudio 11, we would appreciate any feedback you have. Please keep in mind that this is very new, and has only been tested enough to be useful to include for the community to test drive and provide feedback on.
Other improvements include the movement of many files from KDE's overrides of CMake module files, which have been accepted into upstream CMake thanks to the hard work of Alex Neundorf and Stephen Kelly. There have been many Xcode generator improvements, including support for iOS projects and the ability to switch between simulator and device builds.
* Fix crash in GraphVizWriter when GRAPHVIZ_TARGET_IGNORE_REGEX is used
* FindPerlLibs: Add notice of copyright
* libarchive: Define major/minor/makedev only where needed
* libarchive: Use OpenSSL only if CMAKE_USE_OPENSSL
* Fix documentation of MSVC_VERSION
* Silence the may be used uninitialized warnings: initialize stuff.
* CPack Tests the different ways of packaging components
* Avoid foreach IN LISTS syntax which is not supported by CMake 2.6
* When processing DartMeasurements use the tests working directory.
* ExternalProject: No svn --username if empty.
* Avoid problem reading jni.h on Macs.
* Fixed appending PATH to dumpbin tool from growing without bounds.
* Switch to CMAKE_PATH when doing PATH comparisons on Windows.
* Remove unecessary TO_CMAKE_PATH for gp_cmd_dir.
* Append the gp_tool path to the system PATH using native slashes.
* Fixes to GetPrerequisites for cygwin.
* CPackDeb Added several optional debian binary package fields.
* ENH: Added case for Python 2.7.
* Fixed parallel build for generators with EXTRA.
* Fix for bug: ctest exit exception incorrectly reported
* CTest: Parse empty Git commits correctly
* Qualify name of extraction location with ExternalProject name.
* For VS10: Really use full path file names.
* Add support for the emulation version of the cudart library.
* Cleanup FindOpenSSL. Add support for win64 installation.
* Parallel CTest hangs if serial test has depends
* Preserve ENV{MAKEFLAGS} in CMake script mode
* Remove "Microsoft Visual Studio .NET" from VS8 and VS9 find modules.
* Use full path file names in generate.stamp.list.
* Use full path file names to express dependencies.
* Look in the ctest ini file for GitCommand.
* Fixed: CUDA_VERSION_MAJOR/MINOR now computed after first run.
* Do not exit if stoptime is passed.
* Document ctest_build() TARGET option
* Make sure libarchive uses cmzlib and not the system libz if found.
* Use forward slashes for objects in response files
* Use platform variable for response file flag
* Use response file for objects on MinGW and MSYS
* Generalize CTest.Update* test dashboard script helpers
* ctest_update: Support custom Git update command
* ctest_update: Support Git upstream branch rewrites
* Fix CMake data and doc paths in Cygwin package
* Document scope of source file properties
* Run CTest.NoNewline test using built CMake
* Tru64: Place cmOStringStream vtable uniquely
* Enable BootstrapTest on MSYS
* Tru64: Use full-path include directives in Makefiles
We are happy to announce the release of CMake 2.8.1. This is a minor release
from 2.8.0. In addition to addressing many issues, this version of CMake adds
some new features as well. The parallel nmake replacement from Nokia jom, now
has its own tested generator in CMake.
CTest can correctly kill process trees when a timeout occurs. The ctest_*
commands have been enhanced to take more options. When using the Intel
compilers CMake can correctly determine 32 bit vs. 64 bit builds. When running
in parallel mode (-j N), CTest can now compute and use a cost value for each
test to ensure the tests are run in an optimal order.
this sed magic, _CMAKE_INSTALL_DIR in UnixPaths.cmake does that for us
already. Only X11BASE needs special attention.
* Remove patch-ae which never worked in fact.
* Bump PKGREVISION.
Discussed-with: Mark Davies
changes:
Add parenthetical expressions to if
Improve scoping of policies (see cmake_policy and CMP0011)
Teach find_package more config file locations
Many improved Find scripts in Modules
Added an unset command
Better reporting when nmake compiler environment is not correct
to include here; the changelog for this release is here:
<http://www.cmake.org/pipermail/cmake/2008-August/023188.html>
For changes prior to this release, please see ${WRKSRC}/ChangeLog.
While here, add a list of *.cmake files in which to replace
/usr/${X11R6,local} with X11BASE and LOCALBASE, respectively.
Also, the [pkgsrc-relative] API, e.g. 2.6 is now defined by a variable
so that it can be used in pathnames for the build and the PLIST.
have time to go through it now to see what to include here. See
${WRKSRC}/ChangeLog.txt if you're interested.
Insofar as I could tell, patch-ab and patch-ad no longer need apply.
Changes in CMake 2.4.6
* Remove svn test in ctestctest3
* Fix for FIND_* order and framworks with PREFIX usage.
* Fix for FindDoxygen and quiet mode.
* Find JavaVM as well as jvm
* Look for ruby1.8 and ruby
* Fix for cpack .tgz.sh and dash
* Fix for finding custom commands from a full path with CMAKE_CFG_INTDIR.
* Fix for Borland make and custom commands that do nothing
Changes in CMake 2.4.5
* Fix for seg fault when a macro runs a bad command BUG# 3815
* Fix fix for foo.dll.lib that does not brea -L/usr/lib in link names
* Fix problem with LIBRARY_OUTPUT_PATH and linking to a dll foo.dll.lib
instead of foo.lib
* Do not depend on optimized libraries for a debug build and visa versa.
* Fix target name matching custom command output conflict.
* Fix FindQt3 so that it does not find qt4
* Fix FindKDE4 so that it only looks for kde4-config
Changes in CMake 2.4.4
* CMake Version numbers on module directory
* elseif added
* Fix docs in CheckCSourceCompiles CheckCXXSourceCompiles and diagnostic
output.
* added Check(C/CXX)SourceRuns.cmake, CheckCXXCompilerFlag.cmake, Check
* add static and shared flags to make sure the specified versions of
libraries are used with -static -lfoo -shared -lbar
* Search for the compiler only once and store a full path. avoids problems
with PATH changes in cmake re-runs.
* make sure manifest files are generated with VS 8
* added FindASPELL.cmake, FindBZip2.cmake FindHPELL.cmake, FindJasper.cmake
FindLibXml2.cmake, FindLibXslt.cmake, FindOpenSSL.cmake
* fix for bug#3646 GLUT not Glut for framework name
* many fixes for FindKDE3.cmake
* Better FindPNG that honors REQUIRED and looks in more places.
* Support to find python 2.5
* Find Qt3 better
* Find Qt4 better and work with qmake and qmake-qt4 on the same machine.
* Much better FindRuby.cmake
* More stuff marked as advanced in FindTcl and FindSDL
* FindwxWidgets runs shell script wx-config with sh
* Support for cpack and vs8 install libraries
* Darwin shared library create and Fortran now work
* Support for isystem directories INCLUDE_DIRECTORIES (SYSTEM)
* Targets in makefiles to create pre-processed files and assembly files
can be turned off with these variables:
CMAKE_SKIP_PREPROCESSED_SOURCE_RULES CMAKE_SKIP_ASSEMBLY_SOURCE_RULES
* Support for QNX
* Better default search paths for unix and FIND_* stuff
* Use link /lib and not lib to create static libraries with MS
* Useqt4 works with static qt4 and other fixes
* UseSwig.cmake interface to add extra dependencies.
* Added APPEND option to ADD_CUSTOM_COMMAND, Added VERBATIM option to
ADD_CUSTOM_COMMAND and ADD_CUSTOM_TARGET
* add EXCLUDE_FROM_ALL option for ADD_LIBRARY and ADD_EXECUTABLE
* Fix automatic computation of binary path to work for subdirectories of out
of source directories. This addresses bug#3592.
* --debug-ouput to cmake that gives stack trace to message send error commands.
The stack trace is no longer there without it.
* + can be in a variable
* Do not replace @VAR@ syntax in list files. This addresses bug #2722
* much faster depend scanning
* do depends on system include directories
* Permission and install directory fixes
* New target property <CONFIG>_LOCATION (Debug, Release, etc)
* fix exclude from all in VS
* fix code completion problem in KDevelop
* Define MSYS when using msys generator
* fix referencece to projects outside the build tree VS 7,8
* Fix ZERO_CHECK to not always try and rebuild
* Fix Xcode universal binary rebuild problem
* add FILE_IS_NEWER to if command
* Add OPTIONAL to INSTALL command fix bug@2922
* add SORT and REVERSE to LIST command
* fix for seg fault bug #3815
* add SYBOLIC as a source file property see SET_SOURCE_FILES_PROPERTIES
* fix ctest valgrind if no coverage is done
* better message if bogus generator is specified.
* Better FindJava and FindJNI
* Fix doxygen.config for CMake
* add CPACK_MODULE_PATH
* Fix configuration for ctest dashboard targets Experimental, Nightly, etc
* Fix FindDoxygen for mac and app-bundles
* Fix CPack simple install test with NSIS
* Allow EXECUTE_PROCESS to strip trailing white space
* Fix mingw echo in makefiles
* Fix Xcode to not mess up -gdwarf-2
* Fix crash when "linking" to custom targets.
* Allow HEADER_FILE_ONLY to not compile the file in VS 7 and 8
* Fix mingw out of binary with spaces in the path.
* Fix for sudo make install (partial)
* Allow installed zlib, curl, expat, xmlrpc to be used.
* Add CMakeDependentOption.cmake module
* Allow projects to set install prefix default
* improved Find/Use wxWidgets
* add support for windows dll version numbers
* Fix message for -G when generator does not exist
* Fix html references in help
* Fix version on .exe cygwin
* allow global timeout in ctest
* Fix some odd cases with custom commands in VS 6
* Fix path suffix stuff with lib64 in FIND_* stuff.
* Fix delete in CMakeSetup to not change the current position in the list
* Fix debug stl run of ctest on Mac
* Use #2 for manifest nt command on dll and #1 on exe
* Add depends from files inside qrc files in qt
* Fix explort_library_depends to work with optimized and debug
Changes in CMake 2.4.3
* fix for 3557 - Under MSVC8 hardcoded TargetEnvironment for MIDL Compiler
* Fix for Xcode all projects to prevent -fvisibility=hidden flags. This is
needed to make RTTI work by default.
* better prototype for main in try compile of c programs avoids warnings in
logs.
* with visual studio do not use incremental linking for release builds by
default.
* fix bootstrap to use more ansi c main it test compiler
* fix import build settings to do case insensitive match on windows
* fix building in root directory c:/
* Add support for CXX only projects
* Better FindWxWidgets
* Added FindBoose.cmake
* add more fortran file extensions
* Cpack supports multiple packages at the same time
* Fix to FindKDE4 to look for kde4-config first
* Support for env var CMAKE_CONFIG_TYPE in ctest
* Fix for -DVAR=foo on the command line not saving to the cache
* ENH: Added creation of XXX_FIND_COMPONENTS list of all components requested
withREQUIRED option. This addresses the feature request in bug#3494.
* Object files get safe names
* progress is now reported with makefiles
* location of CMakeTmp changed to a varible
* CMAKE_COLOR_MAKEFILE cache variable available to turn off color output
* fixes for FindQt4 on mac.
* Better search paths for finding VTK
* Fix relative path problems in ADD_SUBDIRECTORY
* Fix long link commands on UNIX shells
* Fix depend file names in makefiles for generated headers
* CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS allows for if/endif without variable
* Xcode multiple custom command problem fixed.
* INSTALL_RPATH_USE_LINK_PATH when true will add the link path to the rpath
* Add target/fast rules in the sub directories
* Fix Visual stuido C and C++ targets to not add /TP and /TC
* print a context when cmake errors occur
* add rxvt-unicode, cygwin, and screen terminal support for color output
* Fix crash in CMakeSetup when status line is long
* make sure try compile files have a newline at the end
* fix for hp itanium build
CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.