CMake Version Compatibility Matrix

From KitwarePublic
Revision as of 15:41, 4 December 2010 by Jzarl (talk | contribs) (Add matrices for variables)
Jump to navigationJump to search

Compatibility across different CMake versions

Below you can find a list of features and when they were introduced to cmake. The features are grouped by their respective section in the documentation. Entries marked in green show available, fully upwards-compatible features. Entries in yellow mark changes in features that are available in higher versions of CMake, but not in this version. Entries in red mark incompatible changes or not available features.


Options

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
-C <initial-cache> X X X X X X X X X
-D <var>:<type>=<value> X X X X X X X X X
-U <globbing_expr> X X X X X X X X X
-G <generator-name> X X X X X X X X X
-Wno-dev X X X X X X X X X
-Wdev X X X X X X X X X
-E X X X X X X X X X
-i X X X X X X X X X
-L[A][H] X X X X X X X X X
--build <dir> X X X X - - - - -
-N X X X X X X X X X
-P <file> X X X X X X X X X
--graphviz=[file] X X X X X X X X X
--system-information [file] X X X X X X X X X
--debug-trycompile X X X X X X X X X
--debug-output X X X X X X X X X
--trace X X X X X X X - -
--help-command cmd [file] X X X X X X X X X
--help-command-list [file] X X X X X X X X X
--help-commands [file] X X X X X X X X X
--help-compatcommands [file] X X X X X X X X X
--help-module module [file] X X X X X X X X X
--help-module-list [file] X X X X X X X X X
--help-modules [file] X X X X X X X X X
--help-custom-modules [file] X X X X X X X X X
--help-policy cmp [file] X X X X X X X X -
--help-policies [file] X X X X X X X X -
--help-property prop [file] X X X X X X X X X
--help-property-list [file] X X X X X X X X X
--help-properties [file] X X X X X X X X X
--help-variable var [file] X X X X X X X X X
--help-variable-list [file] X X X X X X X X X
--help-variables [file] X X X X X X X X X
--copyright [file] X X X X X X X X X
--help X X X X X X X X X
--help-full [file] X X X X X X X X X
--help-html [file] X X X X X X X X X
--help-man [file] X X X X X X X X X
--version [file] X X X X X X X X X

Note: Commands available with the -E option are not tracked by this overview.


Commands

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
add_custom_command X X X X X X X X X
add_custom_target X X X X X X (missing: option SOURCES) X X X
add_definitions X X X X X X X X X
add_dependencies X X X X X X X X X
add_executable X X X X X X X X X
add_library X X X X X X X X (missing: add library type UNKNOWN) X
add_subdirectory X X X X X X X X X
add_test X X X X X - X X X
aux_source_directory X X X X X X X X X
break X X X X X X X X X
build_command X X X X (missing: supports options CONFIGURATION, PROJECT_NAME, and TARGET) X X X X X
cmake_minimum_required X X X (missing: optional .tweak to version) X X X X X X
cmake_policy X X X X X X X X (missing: support GET) X
configure_file X X X (missing: DOWNLOAD supports options EXPECTED_MD5 and SHOW_PROGRESS) X X X X X X
create_test_sourcelist X X X X X X X X X
define_property X X X X X X X X X
else X X X X X X X X X
elseif X X X X X X X X X
enable_language X X X X X X X X X
enable_testing X X X X X X X X X
endforeach X X X X X X X X X
endfunction X X X X X X X X X
endif X X X X X X X X X
endmacro X X X X X X X X X
endwhile X X X X X X X X X
execute_process X X X X X X X X X
export X X X X X (missing: PACKAGE) X X X X
file X X X X X (missing: RENAME, COPY, INSTALL) X X X (missing: GLOB_RECURSE supports FOLLOW_SYMLINKS) X
find_file X X X X X X X X X (missing: option HINTS)
find_library X X X X X X X X X (missing: option HINTS)
find_package X X (missing: sets variable <package>_CONSIDERED_CONFIGS) X X (change: doesn't search in <package>_DIR when considering CMAKE_ENVIRONMENT_PATH) X (missing: option NO_CMAKE_PACKAGE_REGISTRY) X (missing: option NO_POLICY_SCOPE; change: don't continue, if <package>_DIR is set incorrectly; doesn't check PACKAGE_VERSION_UNSUITABLE; fewer search-paths) X X (missing: sets variable PACKAGE_FIND_VERSION_TWEAK and PACKAGE_FIND_VERSION_COUNT) X (missing: option HINTS)
find_path X X X X X X X X X (missing: option HINTS)
find_program X X X X X X X X X (missing: option HINTS)
fltk_wrap_ui X X X X X X X X X
foreach X X X X X (missing: IN LISTS, IN ITEMS) X X X X
function X X X X X X X X X
get_cmake_property X X X X X X X X X
get_directory_property X X X X X X X X X
get_filename_component X X X X X X (missing: option REALPATH) X X X
get_property X X X X X (missing: CACHE) X X X X
get_source_file_property X X X X X X X X X
get_target_property X X X X X X X X X
get_test_property X X X X X X X X X
if X X X X (missing: IS_SYMLINK) X (missing: allow constants, parenthesis) X X X (missing: TARGET, VERSION_LESS, VERSION_EQUAL, VERSION_GREATER) X
include X X X X X X (missing: option NO_POLICY_SCOPE) X X X
include_directories X X X X X X X X X
include_external_msproject X X X (change: prefix created target with "INCLUDE_EXTERNAL_MSPROJECT_") X X X X X X
include_regular_expression X X X X X X X X X
install X X X X X (missing: DIRECTORY supports OPTIONAL) X X X X
link_directories X X X X X X X X X
list X X X X X X X X X
load_cache X X X X X X X X X
load_command X X X X X X X X X
macro X X X X X X X X X
mark_as_advanced X X X X X X X X X
math X X X X X X X X X
message X X X X X (missing: WARNING, AUTHOR_WARNING) X X X X
option X X X X X X X X X
output_required_files X X X X X X X X X
project X X X X X X (missing: custom languages supported) X X X
qt_wrap_cpp X X X X X X X X X
qt_wrap_ui X X X X X X X X X
remove_definitions X X X X X X X X X
return X X X X X X X X (missing: returns from file) X
separate_arguments X X X X X (missing: UNIX_COMMAND, WINDOWS_COMMAND) X X X X
set X X X X X X X X X
set_directory_properties X X X X X X X X X
set_property X X X X X (missing: CACHE) X X X X
set_source_files_properties X X X X X X X X X
set_target_properties X X X X X X (missing: support VS_SCC_PROJECTNAME, VS_SCC_LOCALPATH, VS_SCC_PROVIDER) X X X
set_tests_properties X X X X X X X X X
site_name X X X X X X X X X
source_group X X X X X X X X X
string X X X X X (missing: RANDOM supports RANDOM_SEED) X X X X
target_link_libraries X X X X X X X X (missing: option LINK_INTERFACE_LIBRARIES) X
try_compile X X X X X X X X X
try_run X X X X X X X X X
unset X X X X X X - - -
variable_watch X X X X X X X X X
while X X X X X X X X X


Properties

Properties of Global Scope

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
ALLOW_DUPLICATE_CUSTOM_TARGETS X X X X X X X X X
DEBUG_CONFIGURATIONS X X X X X X - - -
DISABLED_FEATURES X X X X X X X X X
ENABLED_FEATURES X X X X X X X X X
ENABLED_LANGUAGES X X X X X X X X -
FIND_LIBRARY_USE_LIB64_PATHS X X X X X X X X X
FIND_LIBRARY_USE_OPENBSD_VERSIONING X X X X - - - - -
GLOBAL_DEPENDS_DEBUG_MODE X X X X X X X X X
GLOBAL_DEPENDS_NO_CYCLES X X X X - - - - -
IN_TRY_COMPILE X X X X X X X X X
PACKAGES_FOUND X X X X X X X X X
PACKAGES_NOT_FOUND X X X X X X X X X
PREDEFINED_TARGETS_FOLDER X - - - - - - - -
REPORT_UNDEFINED_PROPERTIES X X X X X X X X X
RULE_LAUNCH_COMPILE X X X X - - - - -
RULE_LAUNCH_CUSTOM X X X X - - - - -
RULE_LAUNCH_LINK X X X X - - - - -
RULE_MESSAGES X X X X - - - - -
TARGET_ARCHIVES_MAY_BE_SHARED_LIBS X X X X X X X X X
TARGET_SUPPORTS_SHARED_LIBS X X X X X X X X X
USE_FOLDERS X - - - - - - - -
__CMAKE_DELETE_CACHE_CHANGE_VARS_ X X X X X X X X X

Properties on Directories

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
ADDITIONAL_MAKE_CLEAN_FILES X X X X X X X X X
CACHE_VARIABLES X X X X X X X X -
CLEAN_NO_CUSTOM X X X X X X X X X
COMPILE_DEFINITIONS X X X X X X X X X
COMPILE_DEFINITIONS_<CONFIG> X X X X X X X X X
DEFINITIONS X X X X X X X X (deprecated: use COMPILE_DEFINITIONS instead) X (TODO: really added in 2.6.1? missing from doc before 2.6.1, but compatibility feature for 2.4)
EXCLUDE_FROM_ALL X X X X X X X X X
IMPLICIT_DEPENDS_INCLUDE_TRANSFORM X X X X X X X X -
INCLUDE_DIRECTORIES X X X X X X X X -
INCLUDE_REGULAR_EXPRESSION X X X X X X X X -
INTERPROCEDURAL_OPTIMIZATION X X X X - - - - -
INTERPROCEDURAL_OPTIMIZATION_<CONFIG> X X X X - - - - -
LINK_DIRECTORIES X X X X X X X X -
LISTFILE_STACK X X X X X X X X X
MACROS X X X X X X X X -
PARENT_DIRECTORY X X X X X X X X -
RULE_LAUNCH_COMPILE X X X X - - - - -
RULE_LAUNCH_CUSTOM X X X X - - - - -
RULE_LAUNCH_LINK X X X X - - - - -
TEST_INCLUDE_FILE X X X X X X X X X
VARIABLES X X X X X X X X -

Properties on Targets

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
<CONFIG>_OUTPUT_NAME X X X X (deprecated: use OUTPUT_NAME_<CONFIG>) X X X X X
<CONFIG>_POSTFIX X X X X X X - - -
ARCHIVE_OUTPUT_DIRECTORY X X X X X X X X X
ARCHIVE_OUTPUT_DIRECTORY_<CONFIG> X X X - - - - - -
ARCHIVE_OUTPUT_NAME X X X X - - - - -
ARCHIVE_OUTPUT_NAME_<CONFIG> X X X X - - - - -
BUILD_WITH_INSTALL_RPATH X X X X X X X X X
CLEAN_DIRECT_OUTPUT - - - - (removed?) X X X X X
COMPILE_DEFINITIONS X X X X X X X X X
COMPILE_DEFINITIONS_<CONFIG> X X X X X X X X X
COMPILE_FLAGS X X X X X X X X X
DEBUG_POSTFIX X X X X X X X X X
DEFINE_SYMBOL X X X X X X X X X
ENABLE_EXPORTS X X X X X X X X X
EXCLUDE_FROM_ALL X X X X X X X X X
EchoString X X X X X X X X X
FOLDER X - - - - - - - -
FRAMEWORK X X X X X X X X X
Fortran_MODULE_DIRECTORY X X X X X X X X X
GENERATOR_FILE_NAME X X X X X X X X X
HAS_CXX X X X X (deprecated: set LINKER_LANGUAGE instead) X X X X X
IMPLICIT_DEPENDS_INCLUDE_TRANSFORM X X X X X X X X -
IMPORTED X X X X X X X X X
IMPORTED_CONFIGURATIONS X X X X X X X X X
IMPORTED_IMPLIB X X X X X X X X X
IMPORTED_IMPLIB_<CONFIG> X X X X X X X X X
IMPORTED_LINK_DEPENDENT_LIBRARIES X X X X X X X X X
IMPORTED_LINK_DEPENDENT_LIBRARIES_<CONFIG> X X X X X X X X X
IMPORTED_LINK_INTERFACE_LANGUAGES X X X X - - - - -
IMPORTED_LINK_INTERFACE_LANGUAGES_<CONFIG> X X X X - - - - -
IMPORTED_LINK_INTERFACE_LIBRARIES X X X X X X X X X
IMPORTED_LINK_INTERFACE_LIBRARIES_<CONFIG> X X X X X X X X X
IMPORTED_LINK_INTERFACE_MULTIPLICITY X X X X - - - - -
IMPORTED_LINK_INTERFACE_MULTIPLICITY_<CONFIG> X X X X - - - - -
IMPORTED_LOCATION X X X X X X X X X
IMPORTED_LOCATION_<CONFIG> X X X X X X X X X
IMPORTED_NO_SONAME X - - - - - - - -
IMPORTED_NO_SONAME_<CONFIG> X - - - - - - - -
IMPORTED_SONAME X X X X X X X X X
IMPORTED_SONAME_<CONFIG> X X X X X X X X X
IMPORT_PREFIX X X X X X X X X X
IMPORT_SUFFIX X X X X X X X X X
INSTALL_NAME_DIR X X X X X X X X X
INSTALL_RPATH X X X X X X X X X
INSTALL_RPATH_USE_LINK_PATH X X X X X X X X X
INTERPROCEDURAL_OPTIMIZATION X X X X - - - - -
INTERPROCEDURAL_OPTIMIZATION_<CONFIG> X X X X - - - - -
LABELS X X X X - - - - -
LIBRARY_OUTPUT_DIRECTORY X X X X X X X X X
LIBRARY_OUTPUT_DIRECTORY_<CONFIG> X X X - - - - - -
LIBRARY_OUTPUT_NAME X X X X - - - - -
LIBRARY_OUTPUT_NAME_<CONFIG> X X X X - - - - -
LINKER_LANGUAGE X X X X X (default value changed) X X X X
LINK_FLAGS X X X X X X X X X
LINK_FLAGS_<CONFIG> X X X X X X X X X
LINK_INTERFACE_LIBRARIES X X X X X X X X X
LINK_INTERFACE_LIBRARIES_<CONFIG> X X X X X X X X X
LINK_INTERFACE_MULTIPLICITY X X X X - - - - -
LINK_INTERFACE_MULTIPLICITY_<CONFIG> X X X X - - - - -
LINK_SEARCH_END_STATIC X X X X X X X X X
LOCATION X X X X X X X (missing: semantic for imported targets) X X
LOCATION_<CONFIG> X X X X X X X X X
MACOSX_BUNDLE X X X X X X X X X
MACOSX_BUNDLE_INFO_PLIST X X X X X X X X -
MACOSX_FRAMEWORK_INFO_PLIST X X X X X X X - -
MAP_IMPORTED_CONFIG_<CONFIG> X X X X X X X X X
OSX_ARCHITECTURES X X X - - - - - -
OSX_ARCHITECTURES_<CONFIG> X X X - - - - - -
OUTPUT_NAME X X X X X X X X X
OUTPUT_NAME_<CONFIG> X X X X - - - - -
POST_INSTALL_SCRIPT X X X X X X X X X
PREFIX X X X X X X X X X
PRE_INSTALL_SCRIPT X X X X X X X X X
PRIVATE_HEADER X X X X X X X X X
PROJECT_LABEL X X X X X X - - -
PUBLIC_HEADER X X X X X X X X X
RESOURCE X X X X X X X X X
RULE_LAUNCH_COMPILE X X X X - - - - -
RULE_LAUNCH_CUSTOM X X X X - - - - -
RULE_LAUNCH_LINK X X X X - - - - -
RUNTIME_OUTPUT_DIRECTORY X X X X X X X X X
RUNTIME_OUTPUT_DIRECTORY_<CONFIG> X X X - - - - - -
RUNTIME_OUTPUT_NAME X X X X - - - - -
RUNTIME_OUTPUT_NAME_<CONFIG> X X X X - - - - -
SKIP_BUILD_RPATH X X X X X X X X X
SOURCES X X X X X X X X X
SOVERSION X X X X X X X X X
STATIC_LIBRARY_FLAGS X X - - - - - - -
STATIC_LIBRARY_FLAGS_<CONFIG> X X X X X X X X X
SUFFIX X X X X X X X X X
TYPE X X X X X X - - -
VERSION X X X X X X X X X
VS_KEYWORD X X X X X X - - -
VS_SCC_LOCALPATH X X X X X X - - -
VS_SCC_PROJECTNAME X X X X X X - - -
VS_SCC_PROVIDER X X X X X X - - -
WIN32_EXECUTABLE X X X X X X X X X
XCODE_ATTRIBUTE_<an-attribute> X X X X X X X X X

Properties on Tests

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
ATTACHED_FILES X X X - - - - - -
ATTACHED_FILES_ON_FAIL X X X - - - - - -
COST X X X - - - - - -
DEPENDS X X X - - - - - -
ENVIRONMENT X X X X - - - - -
FAIL_REGULAR_EXPRESSION X X X X X X X X X
LABELS X X X X - - - - -
MEASUREMENT X X X X X X X X X
PASS_REGULAR_EXPRESSION X X X X X X X X X
PROCESSORS X X X - - - - - -
REQUIRED_FILES X X X - - - - - -
RESOURCE_LOCK X X - - - - - - -
RUN_SERIAL X X X - - - - - -
TIMEOUT X X X X X X X X X
WILL_FAIL X X X X X X X X X

Properties on Source Files

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
ABSTRACT X X X X X X X X X
COMPILE_DEFINITIONS X X X X X X X X X
COMPILE_DEFINITIONS_<CONFIG> X X X X X X X X X
COMPILE_FLAGS X X X X X X X X X
EXTERNAL_OBJECT X X X X X X X X X
GENERATED X X X X X X X X X
HEADER_FILE_ONLY X X X X X X X X X
KEEP_EXTENSION X X X X X X X X X
LABELS X X X X - - - - -
LANGUAGE X X X X X X X X X
LOCATION X X X X X X X X X
MACOSX_PACKAGE_LOCATION X X X X X X X X X
OBJECT_DEPENDS X X X X X X X X X
OBJECT_OUTPUTS X X X X X X X X X
SYMBOLIC X X X X X X X X X
WRAP_EXCLUDE X X X X X X X X X

Properties on Cache Entries

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
ADVANCED X X X X - - - - -
HELPSTRING X X X X - - - - -
MODIFIED X X X X - - - - -
STRINGS X X X X - - - - -
TYPE X X X X - - - - -
VALUE X X X X - - - - -

Standard CMake Modules

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
AddFileDependencies X X (missing: copy_resolved_framework_into_bundle) X X X X X X X
BundleUtilities X X X X X X X - -
CMakeASM-ATTInformation - - - - (deprecated) X X - - -
CMakeASM_MASMInformation - - - - (deprecated) X X - - -
CMakeBackwardCompatibilityCXX X X X X X X X X X
CMakeDependentOption X X X X X X X X X
CMakeDetermineASM-ATTCompiler - - - - (deprecated) X X X X X
CMakeDetermineASMCompiler - - - - (deprecated) X X X X X
CMakeDetermineASM_MSASMCompiler - - - - (deprecated) X X - - -
CMakeDetermineVSServicePack X X X X - - - - -
CMakeExportBuildSettings - - - - (deprecated) X X X X X
CMakeFindFrameworks X X X X X X X X X
CMakeForceCompiler X X X X (missing: CMAKE_FORCE_Fortran_COMPILER) X X X X X
CMakeParseArguments X - - - - - - - -
CMakeImportBuildSettings - - - - (deprecated) X X X X X
CMakeJavaInformation - - - - (deprecated) X X X X X
CMakePrintSystemInformation X X X X X X X X X
CMakeVerifyManifest X X X X - - - - -
CPack X X X X (missing: CPACK_DMG_VOLUME_NAME, CPACK_DMG_FORMAT, CPACK_DMG_DS_STORE, CPACK_DMG_BACKGROUND_IMAGE, CPACK_COMMAND_HDIUTIL, CPACK_COMMAND_SETFILE, CPACK_COMMAND_REZ, CPACK_BUNDLE_NAME, CPACK_BUNDLE_PLIST, CPACK_BUNDLE_ICON, CPACK_BUNDLE_STARTUP_SCRIPT) X (missing: CPACK_NSIS_PACKAGE_NAME) X X X X
CPackDeb X X (missing: CPACK_DEBIAN_PACKAGE_HOMEPAGE, CPACK_DEBIAN_PACKAGE_SHLIBDEPS, CPACK_DEBIAN_PACKAGE_DEBUG, CPACK_DEBIAN_PACKAGE_PREDEPENDS, CPACK_DEBIAN_PACKAGE_ENHANCES, CPACK_DEBIAN_PACKAGE_BREAKS, CPACK_DEBIAN_PACKAGE_CONFLICTS, CPACK_DEBIAN_PACKAGE_PROVIDES, CPACK_DEBIAN_PACKAGE_REPLACES) X X - - - - -
CPackRPM X X (missing: CPACK_RPM_PACKAGE_URL, CPACK_RPM_PACKAGE_SUGGESTS, CPACK_RPM_PACKAGE_OBSOLETES, CPACK_RPM_PACKAGE_RELOCATABLE, CPACK_RPM_CHANGELOG_FILE) X (missing: CPACK_RPM_COMPRESSION_TYPE) X (missing: CPACK_RPM_PACKAGES_PROVIDES, CPACK_RPM_USER_BINARY_SPECFILE, CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE, CPACK_RPM_PRE_INSTALL_SCRIPT_FILE, CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE, CPACK_RPM_POST_INSTALL_SCRIPT_FILE, CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE) X X X X X
CTest X X X X X X X X X
CTestScriptMode X X X X - - - - -
CheckCCompilerFlag X X X X X X X X X
CheckCSourceCompiles X X X X X (missing: FAIL_REGEX) X X X X
CheckCSourceRuns X X X X X X X X X
CheckCXXCompilerFlag X X X X X X X X X
CheckCXXSourceCompiles X X X X X (missing: FAIL_REGEX) X X X X
CheckCXXSourceRuns X X X X X X X X X
CheckFortranFunctionExists X X X X X X X X X
CheckFunctionExists X X X X X X X X X
CheckIncludeFile X X X X X X X X X
CheckIncludeFileCXX X X X X X X X X X
CheckIncludeFiles X X X X X X X X X
CheckLibraryExists X X X X X X X X X
CheckStructHasMember X X X X X X X X X
CheckSymbolExists X X X X X X X X X
CheckTypeSize X X X X (missing: CMAKE_EXTRA_INCLUDE_FILES) X X X X X
CheckVariableExists X X X X X X X X X
Dart X X X X X X X X X
Documentation X X X X X X X X X
ExternalProject X X (missing: ExternalProject_Add_StepTargets; missing in ExternalProject_Add: LOG_*, STEP_TARGETS; missing in ExternalProject_Add_Step: LOG) X (missing in ExternalProject_Add: SVN_USERNAME, SVN_PASSWORD, GIT_REPOSITORY, GIT_TAG, URL_MD5) X (missing in ExternalProject_Add: TIMEOUT) - - - - -
FeatureSummary X (deprecated: set_feature_info, print_enabled_features, print_disabled_features) X (missing: feature_summary, set_package_info, add_feature_info) X X X X X X X
FindALSA X X X X - - - - -
FindASPELL X X X X X X X X X
FindAVIFile X X X X X X X X X
FindBISON X X (missing: find_package version support) X X - - - - -
FindBLAS X X X X X X X X X (missing: BLA_STATIC, BLA_VENDOR, BLA_F95)
FindBZip2 X X (deprecated: BZIP2_DEFINITIONS) X X X X X X X
FindBoost X X (missing: Boost_NO_SYSTEM_PATHS, Boost_USE_STATIC_RUNTIME, Boost_USE_DEBUG_PYTHON, Boost_USE_STLPORT, Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS, Boost_THREADAPI, Boost_REALPATH X X X (missing: Boost_DETAILED_FAILURE_MSG) X (deprecated: Boost_USE_MULTITHREAD) X (missing: Boost_USE_MULTITHREADED, Boost_DEBUG, Boost_COMPILER, Boost_${COMPONENT}_*) X X (missing: BOOSTROOT)
FindBullet X X X X - - - - -
FindCABLE X X X X X X X X X
FindCUDA X X X X - - - - -
FindCURL X X X X X X X X X
FindCVS X X X X X X X X X
FindCoin3D X X X X X X - - -
FindCups X X X X X X X X X
FindCurses X X X X X X X X X
FindCxxTest X (deprecated: CXXTEST_USE_PYTHON, CXXTEST_INCLUDE_DIR) X (missing: CXXTEST_TESTGEN_ARGS, CXXTEST_TESTGEN_EXECUTABLE, CXXTEST_TESTGEN_INTERPRETER, CXXTEST_INCLUDE_DIRS) X X X X - - -
FindCygwin X X X X X X X X X
FindDCMTK X X X X X X X X X
FindDart X X X X X X X X X
FindDevIL X X X X X X - - -
FindDoxygen X X X X X X (deprecated: DOXYGEN, DOT) X (missing: DOXYGEN_SKIP_DOT, DOXYGEN_DOT_FOUND) X X
FindEXPAT X X X X X X X X X
FindFLEX X X (missing: find_package version support) X X - - - - -
FindFLTK X X X X X X X (missing: FLTK_SKIP_OPENGL, FLTK_SKIP_FORMS, FLTK_SKIP_IMAGES, FLTK_SKIP_FLUID) X X
FindFLTK2 X X X X X X X X X
FindFreetype X X X X X X X X X
FindGCCXML X X X X X X X X X
FindGDAL X X X X X X X X X
FindGIF X X X X X X X X X
FindGLUT X X X X X X X X X
FindGTK X X X X X X X X X
FindGTK2 X X (missing: GTK2_ADDITIONAL_SUFFIXES) X X - - - - -
FindGTest X X X X - - - - -
FindGettext X X X X X X X X X
FindGit X X - - - - - - -
FindGnuTLS X X X X - - - - -
FindGnuplot X X X X X X X X X
FindHDF5 X X X (deprecated: HDF5_INCLUDE_DIR) X (missing: HDF5_INCLUDE_DIRS) - - - - -
FindHSPELL X X X (missing: HSPELL_VERSION_STRING, HSPELL_*_VERSION) X X X X X X
FindHTMLHelp X X X X X X X X X
FindITK X X X X X X X X X
FindImageMagick X X X X X X X (deprecated component: Magick) X (missing component: MagickCore) X (missing: find_package components support)
FindJNI X X X X (missing: JNI_FOUND) X X X X X
FindJPEG X X X X X X X X X
FindJasper X X X X X X X X X
FindJava X X (missing: find_package version support) X (deprecated: JAVA_RUNTIME, JAVA_COMPILE, JAVA_ARCHIVE) X (missing: Java_VERSION*, Java_JAVA_EXECUTABLE, Java_JAVAC_EXECUTABLE, Java_JAR_EXECUTABLE) X X X X (deprecated: JAVA_AWT_LIB_PATH, JAVA_JVM_LIB_PATH) X (missing: JNI_INCLUDE_DIRS, JNI_LIBRARIES, JAVA_AWT_LIBRARY, JAVA_JVM_LIBRARY
FindKDE3 X X X X X X X X X
FindKDE4 X X X X X X X X X
FindLAPACK X X X X X X X X X (missing: LAPACK95_FOUND, BLA_STATIC, BLA_VENDOR, BLA_F95)
FindLATEX X X X X X X X X X
FindLibArchive X - - - - - - - -
FindLibXml2 X X X X X X X X (missing: LIBXML2_XMLLINT_EXECUTABLE) X
FindLibXslt X X X X X X X X X
FindLua50 X X X X X X X (deprecated: LUA_FOUND) X (missing: LUA50_FOUND) X
FindLua51 X X X X X X X (deprecated: LUA_FOUND) X (missing: LUA51_FOUND) X
FindMFC X X X X X X X X X
FindMPEG X X X X X X X X X
FindMPEG2 X X X X X X X X X
FindMPI X X X X X X X X X
FindMatlab X X X X X X X X X
FindMotif X X X X X X X X X
FindOpenAL X X X X X X X X X
FindOpenGL X X X X X X X X X
FindOpenMP X X X X X X - - -
FindOpenSSL X X X X X X X X X
FindOpenSceneGraph X X X X X X - - -
FindOpenThreads X X X X X X X X X
FindPHP4 X X X X X X X X X
FindPNG X X X X X X X X X
FindPackageHandleStandardArgs X X (missing: complex mode(version support, config-mode, fail-message)) X X X X X X X
FindPackageMessage X X X X X X X X X
FindPerl X X (missing: find_package version support) X X X X X X X
FindPerlLibs X X X X X (missing: PERLLIBS_FOUND, PERL_LIBRARY, PERL_SITESEARCH, PERL_SITELIB, PERL_VENDORARCH, PERL_VENDORLIB, PERL_ARCHLIB, PERL_PRIVLIB, PERL_EXTRA_C_FLAGS) X X X X
FindPhysFS X X X X X X X X X
FindPike X X X X X X X X X
FindPkgConfig X X X (missing: option QUIET) X X X X X X
FindPostgreSQL X - - - - - - - -
FindProducer X X X X X X X X X
FindProtobuf X X X X - - - - -
FindPythonInterp X X X X X X X X X
FindPythonLibs X X X X X (missing: PYTHON_INCLUDE_DIRS) X X X X
FindQt X X X X X X X X X
FindQt3 X X X X X X X X X
FindQt4 X X (missing: QT_IMPORTS_DIR) X X (missing: QT_USE_IMPORTED_TARGETS, QT_USE_QTMULTIMEDIA, QT_USE_QTDECLARATIVE, QT_QTMULTIMEDIA_*, QT_QTDECLARATIVE_*, QT_DESIGNER_EXECUTABLE, QT_LINGUIST_EXECUTABLE) X (missing: find_package version support, QT_USE_QTSCRIPTTOOLS, QT_QTSCRIPTTOOLS_*, QT_MAC_USE_COCOA; QT4_ADD_DBUS_ADAPTOR: classname support; changed: QT4_GENERATE_DBUS_INTERFACE: OPTIONS) X (missing: find_package components support) (deprecated: QT_QT_INCLUDE_DIR) X (missing: QT_USE_QAXCONTAINER, QT_USE_QAXSERVER, QT_QAXCONTAINER_*, QT_QAXSERVER_*, QT_BINARY_DIR, QT_TRANSLATIONS_DIR) X (changed: QT4_CREATE_TRANSLATION: directories, OPTIONS) X
FindQuickTime X X X X X X X X X
FindRTI X X X X X X - - -
FindRuby X X (missing: find_package version support) X X (deprecated: RUBY_INCLUDE_PATH) X (missing: RUBY_INCLUDE_DIRS, RUBY_VERSION, RUBY_FOUND) X X X X
FindSDL X X X X X X X X X
FindSDL_image X X X X X X X X X
FindSDL_mixer X X X X X X X X X
FindSDL_net X X X X X X X X X
FindSDL_sound X X X X X X X X X
FindSDL_ttf X X X X X X X X X
FindSWIG X X (missing: find_package version support) X X X X X X X
FindSelfPackers X X X X X X X X X
FindSquish X X (missing: SQUISH_VERSION_*) X X X X - - -
FindSubversion X X (missing: SUBVERSION_FOUND; missing: find_package version support) X X X X X X X
FindTCL X X X X X X X X X
FindTIFF X X X X X X X X X
FindTclStub X X X X X X X (missing: TTK_STUB_LIBRARY) X X
FindTclsh X X X X X X X X X
FindThreads X (deprecated: CMAKE_THREAD_PREFER_PTHREADS) X (missing: CMAKE_THREAD_PREFER_PTHREAD) X (missing: CMAKE_THREAD_PREFER_PTHREADS) X X X X X X
FindUnixCommands X X X X X X X X X
FindVTK X X X X X X X X X
FindWget X X X X X X X X X
FindWish X X X X X X X X X
FindX11 X X X (missing: Xi support) X (missing: X11_X11_INCLUDE_PATH, X11_X11_LIB) X X X X X
FindXMLRPC X X X X X X X X X
FindZLIB X (deprecated: ZLIB_*_VERSION) X (missing: ZLIB_VERSION_MAJOR, ZLIB_VERSION_MINOR, ZLIB_VERSION_PATCH) X (missing: ZLIB_VERSION_STRING, ZLIB_*_VERSION) X X X X X X
Findosg X X X X X X X X X
FindosgAnimation X X X X X X - - -
FindosgDB X X X X X X X X X
FindosgFX X X X X X X X X X
FindosgGA X X X X X X X X X
FindosgIntrospection X X X X X X X X X
FindosgManipulator X X X X X X X X X
FindosgParticle X X X X X X X X X
FindosgProducer X X X X X X X X X
FindosgShadow X X X X X X X X X
FindosgSim X X X X X X X X X
FindosgTerrain X X X X X X X X X
FindosgText X X X X X X X X X
FindosgUtil X X X X X X X X X
FindosgViewer X X X X X X X X X
FindosgVolume X X X X X X - - -
FindosgWidget X X X X X X - - -
Findosg_functions X X X X X X - - -
FindwxWidgets X X (missing: wxWidgets_CONFIG_OPTIONS) X (missing: wxWidgets_EXCLUDE_COMMON_LIBRARIES) X X (missing: wxWidgets_DEFINITIONS_DEBUG) X X X X
FindwxWindows X X X X X X X X X
FortranCInterface X X X X (deprecated: test_fortran_mangling, discover_fortran_mangling, discover_fortran_module_mangling) X (missing: FortranCInterface_GLOBAL_FOUND, FortranCInterface_MODULE_FOUND, FortranCInterface_HEADER, FortranCInterface_VERIFY) X - - -
GetPrerequisites X X X X X (missing: gp_resolved_file_type) X X X (missing: gp_item_default_embedded_path, gp_resolve_item) X
ITKCompatibility - - - - (deprecated) X X X X X
InstallRequiredSystemLibraries X X X X X X X X X
MacroAddFileDependencies X X X X X (missing: QUIT) X X X X
Qt4ConfigDependentSettings X X X - - - - - -
Qt4Macros X X X - - - - - -
SelectLibraryConfigurations X X X X - - - - -
SquishTestScript X X X X X X - - -
TestBigEndian X X X X X X X X X
TestCXXAcceptsFlag X X X X X X X X X
TestForANSIForScope X X X X X X X X X
TestForANSIStreamHeaders X X X X X X X X X
TestForSSTREAM X X X X X X X X X
TestForSTDNamespace X X X X X X X X X
UseEcos X X X X X X X X X
UsePkgConfig X X X X X X X X X
UseQt4 X X X X X X X X X
UseSWIG X X X X X X X X X
Use_wxWindows X X X X X X X X X
UsewxWidgets X X X X X X X X X


Variables

Variables That Change Behavior

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
BUILD_SHARED_LIBS X X X X X X X X X
CMAKE_BACKWARDS_COMPATIBILITY X X X X X X X X X
CMAKE_BUILD_TYPE X X X X X X X X X
CMAKE_COLOR_MAKEFILE X X X X X X - - -
CMAKE_CONFIGURATION_TYPES X X X X X X X X X
CMAKE_FIND_LIBRARY_PREFIXES X X X X X X X X X
CMAKE_FIND_LIBRARY_SUFFIXES X X X X X X X X X
CMAKE_IGNORE_PATH X - - - - - - - -
CMAKE_INCLUDE_PATH X X X X X X X X -
CMAKE_INSTALL_PREFIX X X X X X X X X X
CMAKE_LIBRARY_PATH X X X X X X X X -
CMAKE_MFC_FLAG X X X X X X X X X
CMAKE_MODULE_PATH X X X X X X X X X
CMAKE_NOT_USING_CONFIG_FLAGS X X X X X X X X X
CMAKE_PREFIX_PATH X X X X X X X X -
CMAKE_PROGRAM_PATH X X X X X X X X -
CMAKE_SKIP_INSTALL_ALL_DEPENDENCY X X X X - - - - -
CMAKE_SYSTEM_IGNORE_PATH X - - - - - - - -
CMAKE_SYSTEM_INCLUDE_PATH X X X X X X X X -
CMAKE_SYSTEM_LIBRARY_PATH X X X X X X X X -
CMAKE_SYSTEM_PREFIX_PATH X X X X X X X X -
CMAKE_SYSTEM_PROGRAM_PATH X X X X X X X X -
CMAKE_USER_MAKE_RULES_OVERRIDE X X X X X X X X X


Variables That Describe the System

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
APPLE X X X X X X X X X
BORLAND X X X X X X X X X
CMAKE_CL_64 X X X X X X X X X
CMAKE_COMPILER_2005 X X X X X X X X X
CMAKE_HOST_APPLE X X X X X X X X X
CMAKE_HOST_SYSTEM X X X X X X X X X
CMAKE_HOST_SYSTEM_NAME X X X X X X X X X
CMAKE_HOST_SYSTEM_PROCESSOR X X X X X X X X X
CMAKE_HOST_SYSTEM_VERSION X X X X X X X X X
CMAKE_HOST_UNIX X X X X X X X X X
CMAKE_HOST_WIN32 X X X X X X X X X
CMAKE_OBJECT_PATH_MAX X X X X X X X - -
CMAKE_SYSTEM X X X X X X X X X
CMAKE_SYSTEM_NAME X X X X X X X X X
CMAKE_SYSTEM_PROCESSOR X X X X X X X X X
CMAKE_SYSTEM_VERSION X X X X X X X X X
CYGWIN X X X X X X X X X
MSVC X X X X X X X X X
MSVC80 X X X X X X X X X
MSVC_IDE X X X X X X X X X
MSVC_VERSION X X X X X X X X X
UNIX X X X X X X X X X
WIN32 X X X X X X X X X
XCODE_VERSION X X X X - - - - -

Variables for Languages

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
CMAKE_<LANG>_ARCHIVE_APPEND X X X X X X X X X
CMAKE_<LANG>_ARCHIVE_CREATE X X X X X X X X X
CMAKE_<LANG>_ARCHIVE_FINISH X X X X X X X X X
CMAKE_<LANG>_COMPILER X X X X X X X X X
CMAKE_<LANG>_COMPILER_ABI X X X X X X X X X
CMAKE_<LANG>_COMPILER_ID X X X X X X X X X
CMAKE_<LANG>_COMPILER_LOADED X X X X - - - - -
CMAKE_<LANG>_COMPILE_OBJECT X X X X X X X X X
CMAKE_<LANG>_CREATE_SHARED_LIBRARY X X X X X X X X X
CMAKE_<LANG>_CREATE_SHARED_MODULE X X X X X X X X X
CMAKE_<LANG>_CREATE_STATIC_LIBRARY X X X X X X X X X
CMAKE_<LANG>_FLAGS_DEBUG X X X X X X X X X
CMAKE_<LANG>_FLAGS_MINSIZEREL X X X X X X X X X
CMAKE_<LANG>_FLAGS_RELEASE X X X X X X X X X
CMAKE_<LANG>_FLAGS_RELWITHDEBINFO X X X X X X X X X
CMAKE_<LANG>_IGNORE_EXTENSIONS X X X X X X X X X
CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES X X X X X - - - -
CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES X X X X - - - - -
CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES X X X X - - - - -
CMAKE_<LANG>_LINKER_PREFERENCE X X X X X (changed semantics) X X X X
CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES X X X X - - - - -
CMAKE_<LANG>_LINK_EXECUTABLE X X X X X X X X X
CMAKE_<LANG>_OUTPUT_EXTENSION X X X X X X X X X
CMAKE_<LANG>_PLATFORM_ID X X X X X X X X X
CMAKE_<LANG>_SIZEOF_DATA_PTR X X X X X X X X X
CMAKE_<LANG>_SOURCE_FILE_EXTENSIONS X X X X X X X X X
CMAKE_COMPILER_IS_GNU<LANG> X X X X X X X X X
CMAKE_INTERNAL_PLATFORM_ABI X X X X X X X X X
CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG> X X X X X X X X X


Variables that Control the Build

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
CMAKE_<CONFIG>_POSTFIX X X X X X X - - -
CMAKE_ARCHIVE_OUTPUT_DIRECTORY X X X X X X X X X
CMAKE_BUILD_WITH_INSTALL_RPATH X X X X X X X X X
CMAKE_DEBUG_POSTFIX X X X X X X X X X
CMAKE_EXE_LINKER_FLAGS X X X X X X X X X
CMAKE_EXE_LINKER_FLAGS_[CMAKE_BUILD_TYPE] X X X X X X X X X
CMAKE_Fortran_MODULE_DIRECTORY X X X X X X X X X
CMAKE_INCLUDE_CURRENT_DIR X X X X - - - - -
CMAKE_INSTALL_NAME_DIR X X X X X X X X X
CMAKE_INSTALL_RPATH X X X X X X X X X
CMAKE_INSTALL_RPATH_USE_LINK_PATH X X X X X X X X X
CMAKE_LIBRARY_OUTPUT_DIRECTORY X X X X X X X X X
CMAKE_LIBRARY_PATH_FLAG X X X X X X X X X
CMAKE_LINK_DEF_FILE_FLAG X X X X X X X X X
CMAKE_LINK_LIBRARY_FILE_FLAG X X X X X X X X X
CMAKE_LINK_LIBRARY_FLAG X X X X X X X X X
CMAKE_NO_BUILTIN_CHRPATH X X X X - - - - -
CMAKE_RUNTIME_OUTPUT_DIRECTORY X X X X X X X X X
CMAKE_SKIP_BUILD_RPATH X X X X X X X X X
CMAKE_USE_RELATIVE_PATHS X X X X X X X X X
EXECUTABLE_OUTPUT_PATH X X X X X X X X X
LIBRARY_OUTPUT_PATH X X X X X X X X X


Variables that Provide Information

CMake Option 2.8.3 2.8.2 2.8.1 2.8.0 2.6-patch 4 2.6-patch 3 2.6-patch 2 2.6-patch 1 2.6-patch 0
CMAKE_AR X X X X X X X X X
CMAKE_BINARY_DIR X X X X X X X X X
CMAKE_BUILD_TOOL X X X X X X X X X
CMAKE_CACHEFILE_DIR X X X X X X X X X
CMAKE_CACHE_MAJOR_VERSION X X X X X X X X X
CMAKE_CACHE_MINOR_VERSION X X X X X X X X X
CMAKE_CACHE_PATCH_VERSION X X X X - - - - -
CMAKE_CACHE_RELEASE_VERSION - - - - (deprecated) X X X X X
CMAKE_CFG_INTDIR X X X X X X X X X
CMAKE_COMMAND X X X X X X X X X
CMAKE_CROSSCOMPILING X X X X X X X X X
CMAKE_CTEST_COMMAND X X X X X X X X X
CMAKE_CURRENT_BINARY_DIR X X X X X X X X X
CMAKE_CURRENT_LIST_DIR X - - - - - - - -
CMAKE_CURRENT_LIST_FILE X X X X X X X X X
CMAKE_CURRENT_LIST_LINE X X X X X X X X X
CMAKE_CURRENT_SOURCE_DIR X X X X X X X X X
CMAKE_DL_LIBS X X X X X X X X X
CMAKE_EDIT_COMMAND X X X X X X X X X
CMAKE_EXECUTABLE_SUFFIX X X X X X X X X X
CMAKE_EXTRA_GENERATOR X X X - - - - - -
CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES X X X X - - - - -
CMAKE_GENERATOR X X X X X X X X X
CMAKE_HOME_DIRECTORY X X X X X X X X X
CMAKE_IMPORT_LIBRARY_PREFIX X X X X X X X X X
CMAKE_IMPORT_LIBRARY_SUFFIX X X X X X X X X X
CMAKE_LINK_LIBRARY_SUFFIX X X X X X X X X X
CMAKE_MAJOR_VERSION X X X X X X X X X
CMAKE_MAKE_PROGRAM X X X X X X X X X
CMAKE_MINOR_VERSION X X X X X X X X X
CMAKE_PARENT_LIST_FILE X X X X X X X X X
CMAKE_PATCH_VERSION X X X X X X - - -
CMAKE_PROJECT_NAME X X X X X X X X X
CMAKE_RANLIB X X X X X X X X X
CMAKE_ROOT X X X X X X X X X
CMAKE_SHARED_LIBRARY_PREFIX X X X X X X X X X
CMAKE_SHARED_LIBRARY_SUFFIX X X X X X X X X X
CMAKE_SHARED_MODULE_PREFIX X X X X X X X X X
CMAKE_SHARED_MODULE_SUFFIX X X X X X X X X X
CMAKE_SIZEOF_VOID_P X X X X X X X X X
CMAKE_SKIP_RPATH X X X X X X X X X
CMAKE_SOURCE_DIR X X X X X X X X X
CMAKE_STANDARD_LIBRARIES X X X X X X X X X
CMAKE_STATIC_LIBRARY_PREFIX X X X X X X X X X
CMAKE_STATIC_LIBRARY_SUFFIX X X X X X X X X X
CMAKE_TWEAK_VERSION X X - - - - - - -
CMAKE_USING_VC_FREE_TOOLS X X X X X X X X X
CMAKE_VERBOSE_MAKEFILE X X X X X X X X X
CMAKE_VERSION X X X X X X - - -
PROJECT_BINARY_DIR X X X X X X X X X
PROJECT_NAME X X X X X X X X X
PROJECT_SOURCE_DIR X X X X X X X X X
[Project name]_BINARY_DIR X X X X X X X X X
[Project name]_SOURCE_DIR X X X X X X X X X


Additional Notes about compatibility

When writing CMake code that is to be compatible with previous releases of CMake, not only look out for changes in the API, but also consider changes in behavior between different versions of CMake. When such a change in behavior occurs, it is often documented in the description of CMake-Policies.