qt_fix_cmake.cmake 1.1 KB

123456789101112131415161718192021
  1. function(qt_fix_cmake PACKAGE_DIR_TO_FIX PORT_TO_FIX)
  2. file(GLOB_RECURSE cmakefiles ${PACKAGE_DIR_TO_FIX}/share/cmake/*.cmake ${PACKAGE_DIR_TO_FIX}/lib/cmake/*.cmake)
  3. foreach(cmakefile ${cmakefiles})
  4. file(READ "${cmakefile}" _contents)
  5. if(_contents MATCHES "_install_prefix}/tools/qt5/bin/([a-z0-9]+)") # there are only about 3 to 5 cmake files which require the fix in ports: qt5-tools qt5-xmlpattern at5-activeqt qt5-quick
  6. string(REGEX REPLACE "_install_prefix}/tools/qt5/bin/([a-z0-9]+)" "_install_prefix}/tools/${PORT_TO_FIX}/bin/\\1" _contents "${_contents}")
  7. file(WRITE "${cmakefile}" "${_contents}")
  8. endif()
  9. endforeach()
  10. #Install cmake files
  11. if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake)
  12. file(MAKE_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share)
  13. file(RENAME ${PACKAGE_DIR_TO_FIX}/lib/cmake ${PACKAGE_DIR_TO_FIX}/share/cmake)
  14. endif()
  15. #Remove extra cmake files
  16. if(EXISTS ${PACKAGE_DIR_TO_FIX}/debug/lib/cmake)
  17. file(REMOVE_RECURSE ${PACKAGE_DIR_TO_FIX}/debug/lib/cmake)
  18. endif()
  19. endfunction()