ECM5/IncompatibleChangesKDELibs4ToECM: Difference between revisions

From KDE TechBase
No edit summary
No edit summary
Line 78: Line 78:
* macro_push_required_vars() -> cmake_push_check_state()
* macro_push_required_vars() -> cmake_push_check_state()
* macro_pop_required_vars() -> cmake_pop_check_state()
* macro_pop_required_vars() -> cmake_pop_check_state()
=== MacroWriteBasicCMakeVersionFile.cmake ===
This macro has been merged into CMake, but has been renamed to WriteBasicConfigVersionFile.cmake, also the syntax changed slightly. To get exactly the same behaviour as with the old macro, do as shown below. For details see the documentation in the man page.
* include(MacroWriteBasicCMakeVersionFile) -> include (WriteBasicConfigVersionFile)
* macro_write_basic_cmake_version_file(<outfilename> 1 2 3) -> write_basic_config_version_file(<outfilename> VERSION 1.2.3 COMPATIBILITY AnyNewerVersion )

Revision as of 22:18, 16 August 2011

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()

MacroWriteBasicCMakeVersionFile.cmake

This macro has been merged into CMake, but has been renamed to WriteBasicConfigVersionFile.cmake, also the syntax changed slightly. To get exactly the same behaviour as with the old macro, do as shown below. For details see the documentation in the man page.

  • include(MacroWriteBasicCMakeVersionFile) -> include (WriteBasicConfigVersionFile)
  • macro_write_basic_cmake_version_file(<outfilename> 1 2 3) -> write_basic_config_version_file(<outfilename> VERSION 1.2.3 COMPATIBILITY AnyNewerVersion )