mirror of
https://github.com/vcmi/vcmi.git
synced 2025-01-02 00:10:22 +02:00
Attempt to apply patch from stopiccot.
This commit is contained in:
parent
01d1029b1f
commit
8c7c4789ca
@ -38,6 +38,10 @@ if (APPLE)
|
|||||||
# Build with clang ang libc++
|
# Build with clang ang libc++
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11")
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11")
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
||||||
|
|
||||||
|
# On OS X we use Sparkle framework for updates
|
||||||
|
find_path(SPARKLE_INCLUDE_DIR Sparkle.h)
|
||||||
|
find_library(SPARKLE_FRAMEWORK NAMES Sparkle)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(Boost 1.46.0 COMPONENTS program_options filesystem system thread REQUIRED)
|
find_package(Boost 1.46.0 COMPONENTS program_options filesystem system thread REQUIRED)
|
||||||
|
@ -173,6 +173,9 @@ static void prog_help(const po::options_description &opts)
|
|||||||
// printf(" -v, --version display version information and exit\n");
|
// printf(" -v, --version display version information and exit\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
void OSX_checkForUpdates();
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
int _tmain(int argc, _TCHAR* argv[])
|
int _tmain(int argc, _TCHAR* argv[])
|
||||||
@ -188,6 +191,9 @@ int main(int argc, char** argv)
|
|||||||
std::string workDir = executablePath.substr(0, executablePath.rfind('/'));
|
std::string workDir = executablePath.substr(0, executablePath.rfind('/'));
|
||||||
chdir(workDir.c_str());
|
chdir(workDir.c_str());
|
||||||
|
|
||||||
|
// Check for updates
|
||||||
|
OSX_checkForUpdates();
|
||||||
|
|
||||||
// Check that game data is prepared. Otherwise run vcmibuilder helper application
|
// Check that game data is prepared. Otherwise run vcmibuilder helper application
|
||||||
FILE* check = fopen((GVCMIDirs.UserPath + "/game_data_prepared").c_str(), "r");
|
FILE* check = fopen((GVCMIDirs.UserPath + "/game_data_prepared").c_str(), "r");
|
||||||
if (check == NULL) {
|
if (check == NULL) {
|
||||||
|
@ -46,8 +46,15 @@ set(client_SRCS
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
add_executable(vcmiclient WIN32 ${client_SRCS})
|
add_executable(vcmiclient WIN32 ${client_SRCS})
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
# When building for OS X we need add SDLMain.m to source files
|
# OS X specific includes
|
||||||
add_executable(vcmiclient MACOSX_BUNDLE ${client_SRCS} SDLMain.m vcmi.icns Info.plist)
|
include_directories(${SPARKLE_INCLUDE_DIR})
|
||||||
|
|
||||||
|
# OS X specific source files
|
||||||
|
set(client_SRCS ${client_SRCS} SDLMain.m OSX.mm Info.plist vcmi.icns ../osx/vcmi_dsa_public.pem)
|
||||||
|
add_executable(vcmiclient MACOSX_BUNDLE ${client_SRCS})
|
||||||
|
|
||||||
|
# OS X specific libraries
|
||||||
|
target_link_libraries(vcmiclient ${SPARKLE_FRAMEWORK})
|
||||||
|
|
||||||
# Because server and AI libs would be copies to bundle they need to be built before client
|
# Because server and AI libs would be copies to bundle they need to be built before client
|
||||||
add_dependencies(vcmiclient vcmiserver VCAI EmptyAI StupidAI BattleAI)
|
add_dependencies(vcmiclient vcmiserver VCAI EmptyAI StupidAI BattleAI)
|
||||||
@ -55,8 +62,9 @@ elseif(APPLE)
|
|||||||
# Custom Info.plist
|
# Custom Info.plist
|
||||||
set_target_properties(vcmiclient PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
set_target_properties(vcmiclient PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
|
||||||
|
|
||||||
# Copy icon file
|
# Copy icon file and public key for Sparkle
|
||||||
set_source_files_properties(vcmi.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
set_source_files_properties(vcmi.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||||
|
set_source_files_properties(../osx/vcmi_dsa_public.pem PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||||
|
|
||||||
# Copy server executable, libs and game data to bundle
|
# Copy server executable, libs and game data to bundle
|
||||||
set(BUNDLE_PATH ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/vcmiclient.app/Contents)
|
set(BUNDLE_PATH ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/vcmiclient.app/Contents)
|
||||||
|
@ -2,9 +2,15 @@
|
|||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleIconFile</key>
|
<key>CFBundleIconFile</key>
|
||||||
<string>vcmi.icns</string>
|
<string>vcmi.icns</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${VCMI_VERSION_MAJOR}.${VCMI_VERSION_MINOR}</string>
|
<string>${VCMI_VERSION_MAJOR}.${VCMI_VERSION_MINOR}</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.vcmi.vcmiclient</string>
|
||||||
|
<key>SUFeedURL</key>
|
||||||
|
<string>http://vcmi.eu/sparkle_appcast.xml</string>
|
||||||
|
<key>SUPublicDSAKeyFile</key>
|
||||||
|
<string>vcmi_dsa_public.pem</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
7
client/OSX.mm
Normal file
7
client/OSX.mm
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#import "Sparkle.h"
|
||||||
|
|
||||||
|
void OSX_checkForUpdates() {
|
||||||
|
SUUpdater* updater = [[SUUpdater alloc] init];
|
||||||
|
[[SUUpdater sharedUpdater] checkForUpdatesInBackground];
|
||||||
|
}
|
16
osx/sparkle_appcast.xml
Normal file
16
osx/sparkle_appcast.xml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<rss version="2.0" xmlns:sparkle="http://vcmi.eu/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<channel>
|
||||||
|
<title>VCMI App Changelog</title>
|
||||||
|
<link>http://vcmi.eu/sparkle_appcast.xml</link>
|
||||||
|
<description>Most recent changes with links to updates.</description>
|
||||||
|
<language>en</language>
|
||||||
|
<item>
|
||||||
|
<title>Version 0.92</title>
|
||||||
|
<description>Version 0.92 description</description>
|
||||||
|
<pubDate>Wed, 09 Jan 2006 19:20:11 +0000</pubDate>
|
||||||
|
<sparkle:releaseNotesLink>http://vcmi.com/sparkle_release_notes.html</sparkle:releaseNotesLink>
|
||||||
|
<enclosure url="http://download.vcmi.eu/vcmi-0.92.dmg" sparkle:version="0.92" length="34906250" type="application/octet-stream" sparkle:dsaSignature="MC0CFF75UKfXunY2GNSW4hs1O6MaWycLAhUA3YiRM9uUrnoS/PhWHgjRjwWcHo4=" />
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
9
osx/sparkle_release_notes.html
Normal file
9
osx/sparkle_release_notes.html
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<ul>
|
||||||
|
<li>0.92 Feature 1</li>
|
||||||
|
<li>0.92 Feature 2</li>
|
||||||
|
</ul>
|
||||||
|
</body>
|
||||||
|
</html>
|
12
osx/vcmi_dsa_public.pem
Normal file
12
osx/vcmi_dsa_public.pem
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MIIBuDCCASwGByqGSM44BAEwggEfAoGBAPBRGeziJsHw0F7CM9JmSOiIOBmJ4hYl
|
||||||
|
dbmdU1iJR7XHX5lZIUOl323cCANhzOogVAzkvEVhFedA6H4iO6VRt7nTJSgLA4hO
|
||||||
|
gMqMJGKp4bDQIwupUK5xQUUcaXumT03Aj8jzzibW9YjNB8NeuSSMfMi5KGZw5pkf
|
||||||
|
nSvZM0TUVVX/AhUA74nJWqRFwUPc6aPGCOgfsRzPYMsCgYEApYMP5/tIr4yrqHVM
|
||||||
|
xHLj1s+Y/Zgs3+kRqudTLgYE20Br3Tmmi2ejM9phrEHn5mv6Ss/FYyWqKxdtzCEN
|
||||||
|
PjRA/JkKMpoX+sy/S3OE/NrrnikVjCRvgOJcM6FPt9iaENRqjz20dZMIq42vqeE9
|
||||||
|
K5u1XJ/YtiwU2b1fX0nNtREhjUwDgYUAAoGBAJT2cMQ2qTGecdNIjEByCFMZpWg0
|
||||||
|
nV+jKgpthNUahwxbUN3ru9nrWMUNv1pBiS3pxqFV6ec7qozKnedwyTx+IRJXTN4T
|
||||||
|
IrxYsgPJDHhkBeoVVAkacihkLUtwPSphorZWF4OMFmrlc5WsmYt2lEahR2TZGQrW
|
||||||
|
5GBNP18/S/nDBe7j
|
||||||
|
-----END PUBLIC KEY-----
|
Loading…
Reference in New Issue
Block a user