Fix OSX packaging finally

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
This commit is contained in:
Pavel Puchkin 2014-12-15 17:32:08 +02:00 committed by Craig Robbins
parent 8661b3587b
commit 3b902fd574
4 changed files with 18 additions and 6 deletions

@ -73,7 +73,7 @@ if(WIN32)
set(LOCALEDIR "locale")
elseif(APPLE)
set(SHAREDIR ".")
set(BINDIR "./bin")
set(BINDIR ".")
set(DOCDIR "./doc/${PROJECT_NAME}")
set(EXAMPLE_CONF_DIR ${DOCDIR})
set(LOCALEDIR "locale")
@ -213,13 +213,11 @@ if(WIN32)
# This might be needed for some installer
#set(CPACK_PACKAGE_EXECUTABLES bin/minetest.exe "Minetest" bin/minetestserver.exe "Minetest Server")
elseif(APPLE)
# see http://cmake.org/Wiki/CMake:CPackPackageGenerators#Bundle_.28OSX_only.29
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION_STRING}-osx")
set(CPACK_PACKAGE_ICON ${CMAKE_CURRENT_SOURCE_DIR}/misc/mac/minetest-icon.icns)
set(CPACK_PACKAGE_ICON ${CMAKE_CURRENT_SOURCE_DIR}/misc/minetest-icon.icns)
set(CPACK_BUNDLE_NAME ${PROJECT_NAME})
set(CPACK_BUNDLE_ICON ${CPACK_PACKAGE_ICON})
set(CPACK_BUNDLE_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/misc/mac/Info.plist)
set(CPACK_BUNDLE_STARTUP_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/misc/mac/minetest-mac.sh)
set(CPACK_BUNDLE_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/misc/Info.plist)
set(CPACK_GENERATOR "Bundle")
else()
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION_STRING}-linux")

14
misc/Info.plist Normal file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>../Resources/minetest</string>
<key>CFBundleIconFile</key>
<string>minetest.icns</string>
<key>CFBundleIdentifier</key>
<string>net.minetest.minetest</string>
</dict>
</plist>

BIN
misc/minetest-icon.icns Normal file

Binary file not shown.

@ -528,7 +528,7 @@ void initializePaths()
{
dstream<<"Bundle resource path: "<<path<<std::endl;
//chdir(path);
path_share = std::string(path) + DIR_DELIM + "share";
path_share = std::string(path) + DIR_DELIM + STATIC_SHAREDIR;
}
else
{