forked from Mirrors/openclonk
cmake: Insert hacks and hardcoded paths to make mac version compilable using Unix make
parent
b3c1706b1b
commit
c26ac97729
|
@ -925,11 +925,6 @@ if(APPLE)
|
||||||
src/res/oc.icns
|
src/res/oc.icns
|
||||||
src/res/ocd.icns src/res/ocf.icns src/res/ocg.icns
|
src/res/ocd.icns src/res/ocf.icns src/res/ocg.icns
|
||||||
src/res/C4P.icns src/res/ocs.icns src/res/ocu.icns
|
src/res/C4P.icns src/res/ocs.icns src/res/ocu.icns
|
||||||
src/res/MainMenu.xib
|
|
||||||
src/res/FullScreen.xib
|
|
||||||
src/res/EditorGUIWindow.xib
|
|
||||||
src/res/EditorViewport.xib
|
|
||||||
src/res/Editor.xib
|
|
||||||
src/res/Mouse_Trans.png
|
src/res/Mouse_Trans.png
|
||||||
src/res/Cursor_Trans.png
|
src/res/Cursor_Trans.png
|
||||||
src/res/Brush_Trans.png
|
src/res/Brush_Trans.png
|
||||||
|
@ -945,6 +940,16 @@ if(APPLE)
|
||||||
src/res/Ift_Trans.png
|
src/res/Ift_Trans.png
|
||||||
src/res/NoIft_Trans.png
|
src/res/NoIft_Trans.png
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (CMAKE_GENERATOR STREQUAL Xcode)
|
||||||
|
list(APPEND OC_BUNDLE_RESOURCES
|
||||||
|
src/res/MainMenu.xib
|
||||||
|
src/res/FullScreen.xib
|
||||||
|
src/res/EditorGUIWindow.xib
|
||||||
|
src/res/EditorViewport.xib
|
||||||
|
src/res/Editor.xib
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Add icon resources
|
# Add icon resources
|
||||||
set_source_files_properties(
|
set_source_files_properties(
|
||||||
|
@ -1241,32 +1246,43 @@ endif()
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
add_custom_command(TARGET openclonk
|
|
||||||
POST_BUILD COMMAND "/usr/bin/ruby" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_bundle_libs"
|
# for good measure - seems to be part of default OSX installation
|
||||||
)
|
# linking with static freetype library requires it
|
||||||
|
target_link_libraries(openclonk "/usr/lib/libbz2.dylib")
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
if (NOT CMAKE_GENERATOR STREQUAL Xcode)
|
||||||
|
add_custom_command(TARGET openclonk POST_BUILD
|
||||||
SET_TARGET_PROPERTIES(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
# yadda, hardcoding openclonk.app - WHO CARES
|
||||||
SET_TARGET_PROPERTIES(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++ objective-c++")
|
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/MainMenu.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/MainMenu.nib"
|
||||||
SET_TARGET_PROPERTIES(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/FullScreen.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/FullScreen.nib"
|
||||||
SET_TARGET_PROPERTIES(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/EditorGUIWindow.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/EditorGUIWindow.nib"
|
||||||
SET_TARGET_PROPERTIES(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++ objective-c++")
|
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/EditorViewport.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/EditorViewport.nib"
|
||||||
SET_TARGET_PROPERTIES(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Editor.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/Editor.nib"
|
||||||
SET_TARGET_PROPERTIES(libmisc PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
VERBATIM
|
||||||
SET_TARGET_PROPERTIES(libmisc PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++ objective-c++")
|
)
|
||||||
SET_TARGET_PROPERTIES(libmisc PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
else()
|
||||||
SET_TARGET_PROPERTIES(openclonk PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES)
|
set(CMAKE_XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
||||||
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
||||||
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++ objective-c++")
|
||||||
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
||||||
|
set_target_properties(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
||||||
|
set_target_properties(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++ objective-c++")
|
||||||
|
set_target_properties(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
||||||
|
set_target_properties(libmisc PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES)
|
||||||
|
set_target_properties(libmisc PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++ objective-c++")
|
||||||
|
set_target_properties(libmisc PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/C4Include.h")
|
||||||
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (USE_APPLE_CLANG)
|
if (USE_APPLE_CLANG)
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
|
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++0x -stdlib=libc++ -g -Wall")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++ -g -Wall -fobjc-arc")
|
||||||
SET_TARGET_PROPERTIES(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++0x objective-c++0x")
|
set_target_properties(c4group PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++0x objective-c++0x")
|
||||||
SET_TARGET_PROPERTIES(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++0x objective-c++0x")
|
set_target_properties(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++0x objective-c++0x")
|
||||||
|
|
||||||
set(HAVE_RVALUE_REF ON)
|
set(HAVE_RVALUE_REF ON)
|
||||||
else()
|
else()
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
|
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
|
||||||
|
@ -1489,12 +1505,23 @@ get_target_property(C4GROUP_LOCATION c4group LOCATION)
|
||||||
get_target_property(CLONK_LOCATION openclonk LOCATION)
|
get_target_property(CLONK_LOCATION openclonk LOCATION)
|
||||||
foreach(group ${OC_C4GROUPS})
|
foreach(group ${OC_C4GROUPS})
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
add_custom_command(TARGET openclonk
|
if (CMAKE_GENERATOR STREQUAL Xcode)
|
||||||
POST_BUILD COMMAND "/bin/sh" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
add_custom_command(TARGET openclonk
|
||||||
"${C4GROUP_LOCATION}"
|
POST_BUILD COMMAND "/bin/sh" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
"${C4GROUP_LOCATION}"
|
||||||
DEPENDS c4group
|
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
||||||
|
# leave out third parameter here so the script can figure out Xcode-ish paths as usual
|
||||||
|
DEPENDS c4group
|
||||||
)
|
)
|
||||||
|
else()
|
||||||
|
add_custom_command(TARGET openclonk
|
||||||
|
POST_BUILD COMMAND "/bin/sh" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_pack_gamedata.sh"
|
||||||
|
"${C4GROUP_LOCATION}"
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}"
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources"
|
||||||
|
DEPENDS c4group
|
||||||
|
)
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
|
||||||
|
@ -1502,7 +1529,7 @@ foreach(group ${OC_C4GROUPS})
|
||||||
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
|
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
|
||||||
DEPENDS c4group
|
DEPENDS c4group
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
|
@ -5,7 +5,7 @@ $libs_to_bundle=".*?/lib(jpeg|GLEW|llvm|SDL|SDL_mixer|freetype|ogg|vorbis|vorbis
|
||||||
$executable_path = ENV['EXECUTABLE_PATH']
|
$executable_path = ENV['EXECUTABLE_PATH']
|
||||||
$frameworks_folder_path = ENV['FRAMEWORKS_FOLDER_PATH']
|
$frameworks_folder_path = ENV['FRAMEWORKS_FOLDER_PATH']
|
||||||
|
|
||||||
Dir.chdir ENV['TARGET_BUILD_DIR']
|
Dir.chdir ENV['TARGET_BUILD_DIR'] if ENV['TARGET_BUILD_DIR']
|
||||||
puts "Bundling libraries..."
|
puts "Bundling libraries..."
|
||||||
|
|
||||||
def bundle_dependencies(executable_path)
|
def bundle_dependencies(executable_path)
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
|
|
||||||
C4GROUP=$1
|
C4GROUP=$1
|
||||||
SRC_GROUP=$2
|
SRC_GROUP=$2
|
||||||
|
RESOURCES=${3:-$TARGET_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH}
|
||||||
RESOURCES=$TARGET_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH
|
|
||||||
TARGET_GROUP=$RESOURCES/`basename $SRC_GROUP`
|
TARGET_GROUP=$RESOURCES/`basename $SRC_GROUP`
|
||||||
|
|
||||||
should_update() {
|
should_update() {
|
||||||
|
|
Loading…
Reference in New Issue