CMakeLists.txt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # We need to keep this code into separate directory so CMake will execute it after all other subdirectories install code
  2. # Otherwise we can't fix Mac bundle dependencies since binaries wouldn't be there when this code executed
  3. if(APPLE)
  4. if(ENABLE_LAUNCHER)
  5. find_program(TOOL_MACDEPLOYQT NAMES macdeployqt PATHS ${qt_base_dir}/bin)
  6. if(NOT TOOL_MACDEPLOYQT)
  7. message(FATAL_ERROR "Could not find macdeployqt")
  8. endif()
  9. install(CODE "
  10. execute_process(COMMAND ${TOOL_MACDEPLOYQT} \"\${CMAKE_INSTALL_PREFIX}/${APP_BUNDLE_DIR}\" -verbose=2)
  11. ")
  12. endif()
  13. install(CODE "
  14. set(BU_CHMOD_BUNDLE_ITEMS ON)
  15. include(BundleUtilities)
  16. fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${APP_BUNDLE_DIR}\" \"\" \"\")
  17. " COMPONENT Runtime)
  18. endif(APPLE)
  19. # This will likely only work for Vcpkg
  20. if(WIN32)
  21. if(ENABLE_LAUNCHER)
  22. # Temporary ugly fix for Qt deployment since windeployqt broken in Vcpkg
  23. install(CODE "
  24. execute_process(
  25. COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/\${BUILD_TYPE}/bearer \${CMAKE_INSTALL_PREFIX}/bearer
  26. COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/\${BUILD_TYPE}/iconengines \${CMAKE_INSTALL_PREFIX}/iconengines
  27. COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/\${BUILD_TYPE}/imageformats \${CMAKE_INSTALL_PREFIX}/imageformats
  28. COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/\${BUILD_TYPE}/platforminputcontexts \${CMAKE_INSTALL_PREFIX}/platforminputcontexts
  29. COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/\${BUILD_TYPE}/platforms \${CMAKE_INSTALL_PREFIX}/platforms
  30. )
  31. ")
  32. endif()
  33. install(CODE "
  34. if(\"\${BUILD_TYPE}\" STREQUAL \"Debug\")
  35. set(dirs \"${CMAKE_PREFIX_PATH}/debug/bin/\")
  36. else()
  37. set(dirs \"${CMAKE_PREFIX_PATH}/bin/\")
  38. endif()
  39. set(BU_CHMOD_BUNDLE_ITEMS ON)
  40. include(BundleUtilities)
  41. fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/VCMI_Client.exe\" \"\" \"\${dirs}\")
  42. " COMPONENT Runtime)
  43. endif(WIN32)