ECM5/IncompatibleChangesKDELibs4ToECM

From KDE TechBase
Revision as of 20:43, 3 August 2011 by Neundorf (talk | contribs)

FindGIF.cmake

We use the version from CMake now. There is a minor difference, which will not affect many systems. The KDE version accepted only giflib version 4, while the CMake version accepted any version of giflib. If giflib version 4 .x is required, the version can now be specified:

  • find_package(GIF) -> find_package(GIF 4 )

This actually only was an issue on some relatively old Sun machines in 2006. Maybe today it is not even there a problem anymore.

FindRUBY.cmake

This file does not exist anymore, use FindRuby.cmake coming with CMake instead. Most variables are the same. Below are the changes:

  • find_package(RUBY) -> find_package(Ruby)
  • RUBY_INCLUDE_PATH -> RUBY_INCLUDE_DIRS

FindX11.cmake

The following two variables have been removed, use the newer ones instead:

  • X11_Xss_FOUND -> X11_Xscreensaver_FOUND
  • X11_Xss_LIB -> X11_Xscreensaver_LIB

The following libraries are now not part of X11_LIBRARIES anymore, so they may have to be added to target_link_libraries() explicitely where needed:

  • X11_Xau_LIB
  • X11_Xft_LIB
  • X11_Xdmcp_LIB
  • X11_Xpm_LIB

MacroAddCompileFlags.cmake

This file has been removed. Use set_property(.. APPEND_STRING) instead (new in CMake 2.8.6).

  • include(MacroAddCompileFlags) -> delete
  • macro_add_compile_flags(target "-O2 -g") -> set_property(TARGET target APPEND_STRING PROPERTY COMPILE_FLAGS " -O2 -g")

MacroAddLinkFlags.cmake

This file has been removed. Use set_property(.. APPEND_STRING) instead (new in CMake 2.8.6).

  • include(MacroAddLinkFlags) -> delete
  • macro_add_link_flags(target "-no-rpath") -> set_property(TARGET target APPEND_STRING PROPERTY LINK_FLAGS " -no-rpath")

MacroAdditionalCleanFiles.cmake

This file has been removed. Use set_property(... APPEND ...) instead.

  • include(MacroAdditionalCleanFiles) -> delete
  • macro_additional_clean_files(file1 file2 fileN) -> set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "file1;file2;fileN" )

MacroOptionalAddSubdirectory.cmake

This file is now part of the extra-cmake-modules package and thus has been renamed to ECMOptionalAddSubdirectory.cmake

  • include(MacroOptionalAddSubdirectory) -> include (ECMOptionalAddSubdirectory)
  • macro_optional_add_subdirectory(...) -> ecm_optional_add_subdirectory(...)

MacroOptionalDependPackage.cmake

This file has been removed, the purpose was broken.

  • include (MacroOptionalDependPackage) -> delete
  • macro_optional_depend_package() -> delete

MacroOptionalFindPackage.cmake

This file does not exist anymore. Instead, starting with CMake 2.8.6, every find_package() call which is not REQUIRED can be disabled by setting the variable CMAKE_DISABLE_FIND_PACKAGE_<PackageName> to TRUE. This makes this macro unnecessary.

  • include(MacroFindPackage) -> delete
  • macro_optional_find_package(Foo ...) -> find_package(Foo ... )

MacroPushRequiredVars.cmake

This file has been merged into CMake, but has been renamed to CMakePushCheckState.cmake.

  • include(MacroPushRequiredVars) -> include(CMakePushCheckState)
  • macro_push_required_vars() -> cmake_push_check_state()
  • macro_pop_required_vars() -> cmake_pop_check_state()