macOS build fixes suggestions take 2

Suggestion for resolving
CMakeLists.txt , macosx_bundle.sh , executable_loader.in
Please review + double-check on macOS
This commit is contained in:
ion12
2017-04-18 00:26:28 +01:00
parent 68271a513b
commit c562385f15
3 changed files with 23 additions and 9 deletions

View File

@@ -203,20 +203,31 @@ endif()
if(NOT DEFINED DESKTOPDIR)
if(UNIX)
set(DESKTOPDIR "${CMAKE_INSTALL_PREFIX}/share/applications") # Absolute
#set(DESKTOPDIR "${DATADIR}/share/applications") # Relative
if(BUILD_BUNDLE)
set(DESKTOPDIR "${DATADIR}/share/applications")
else()
set(DESKTOPDIR "${CMAKE_INSTALL_PREFIX}/share/applications")
endif()
endif()
endif()
if(NOT DEFINED ICONSDIR)
if(UNIX)
set(ICONSDIR "${CMAKE_INSTALL_PREFIX}/share/icons")
if(BUILD_BUNDLE)
set(ICONSDIR "${DATADIR}/share/icons")
else()
set(ICONSDIR "${CMAKE_INSTALL_PREFIX}/share/icons")
endif()
endif()
endif()
if(NOT DEFINED APPDATADIR)
if(UNIX)
set(APPDATADIR "${CMAKE_INSTALL_PREFIX}/share/appdata")
if(BUILD_BUNDLE)
set(APPDATADIR "${DATADIR}/share/appdata")
else()
set(APPDATADIR "${CMAKE_INSTALL_PREFIX}/share/appdata")
endif()
endif()
endif()
@@ -421,7 +432,9 @@ install(FILES RELEASE_NOTES.txt DESTINATION "${CREDITSDIR}" OPTIONAL)
# The standard location for man pages in Linux is /usr/share/man
# Use "manpath" to see the search paths for man pages on your system.
if(UNIX OR WIN32)
if(BUILD_BUNDLE)
install(FILES "${PROJECT_SOURCE_DIR}/doc/manpage/rawtherapee.1" DESTINATION "${DATADIR}/share/man/man1")
else()
install(FILES "${PROJECT_SOURCE_DIR}/doc/manpage/rawtherapee.1" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1")
endif()
@@ -437,4 +450,3 @@ add_subdirectory(rtexif)
add_subdirectory(rtengine)
add_subdirectory(rtgui)
add_subdirectory(rtdata)

View File

@@ -41,7 +41,9 @@ export RT_CACHE="${HOME}/Library/Application Support/RawTherapee/cache"
case "$1" in
-psn_*) shift ;;
esac
if [[ -d "/tmp/RawTherapee.app" ]]; then
rm -rf "/tmp/RawTherapee.app"
fi
ln -sf "${app}" /tmp
exec "${cwd}/rawtherapee-bin" "$@"

View File

@@ -154,7 +154,7 @@ ditto {"${GTK_PREFIX}","${RESOURCES}"}/share/icons/Adwaita/index.theme
# fi
# Install names
find -E "${MACOS}" -type f -regex '.*/(rawtherapee|.*\.(dylib|so))' | while read x; do
find -E "${CONTENTS}" -type f -regex '.*/(rawtherapee|.*\.(dylib|so))' | while read x; do
msg "Modifying install names: ${x}"
{
# id
@@ -167,7 +167,7 @@ find -E "${MACOS}" -type f -regex '.*/(rawtherapee|.*\.(dylib|so))' | while read
done
msg "Registering @loader_path into the executable:"
echo " install_name_tool -add_rpath @loader_path/lib '${EXECUTABLE}'" | bash -v
echo " install_name_tool -add_rpath @loader_path/../Frameworks '${EXECUTABLE}'" | bash -v
msg "Installing required application bundle files:"
PROJECT_SOURCE_DATA_DIR="${PROJECT_SOURCE_DIR}/tools/osx"