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/ocd.icns src/res/ocf.icns src/res/ocg.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/Cursor_Trans.png
|
||||
src/res/Brush_Trans.png
|
||||
|
@ -945,6 +940,16 @@ if(APPLE)
|
|||
src/res/Ift_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
|
||||
set_source_files_properties(
|
||||
|
@ -1241,32 +1246,43 @@ endif()
|
|||
############################################################################
|
||||
|
||||
if (APPLE)
|
||||
add_custom_command(TARGET openclonk
|
||||
POST_BUILD COMMAND "/usr/bin/ruby" "${CMAKE_CURRENT_SOURCE_DIR}/tools/osx_bundle_libs"
|
||||
)
|
||||
|
||||
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)
|
||||
|
||||
|
||||
# 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")
|
||||
|
||||
if (NOT CMAKE_GENERATOR STREQUAL Xcode)
|
||||
add_custom_command(TARGET openclonk POST_BUILD
|
||||
# yadda, hardcoding openclonk.app - WHO CARES
|
||||
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/MainMenu.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/MainMenu.nib"
|
||||
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/FullScreen.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/FullScreen.nib"
|
||||
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/EditorGUIWindow.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/EditorGUIWindow.nib"
|
||||
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/EditorViewport.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/EditorViewport.nib"
|
||||
COMMAND ibtool "${CMAKE_CURRENT_SOURCE_DIR}/src/res/Editor.xib" --compile "${CMAKE_CURRENT_BINARY_DIR}/openclonk.app/Contents/Resources/Editor.nib"
|
||||
VERBATIM
|
||||
)
|
||||
else()
|
||||
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)
|
||||
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_LIBRARY "libc++")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++0x -stdlib=libc++ -g -Wall")
|
||||
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(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(openclonk PROPERTIES XCODE_ATTRIBUTE_GCC_PFE_FILE_C_DIALECTS "c++0x objective-c++0x")
|
||||
set(HAVE_RVALUE_REF ON)
|
||||
else()
|
||||
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)
|
||||
foreach(group ${OC_C4GROUPS})
|
||||
if (APPLE)
|
||||
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}"
|
||||
DEPENDS c4group
|
||||
if (CMAKE_GENERATOR STREQUAL Xcode)
|
||||
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}"
|
||||
# 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()
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${group}
|
||||
|
@ -1502,7 +1529,7 @@ foreach(group ${OC_C4GROUPS})
|
|||
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/planet/${group}
|
||||
DEPENDS c4group
|
||||
VERBATIM
|
||||
)
|
||||
)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
|
||||
endif()
|
||||
endforeach()
|
||||
|
|
|
@ -5,7 +5,7 @@ $libs_to_bundle=".*?/lib(jpeg|GLEW|llvm|SDL|SDL_mixer|freetype|ogg|vorbis|vorbis
|
|||
$executable_path = ENV['EXECUTABLE_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..."
|
||||
|
||||
def bundle_dependencies(executable_path)
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
|
||||
C4GROUP=$1
|
||||
SRC_GROUP=$2
|
||||
|
||||
RESOURCES=$TARGET_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH
|
||||
RESOURCES=${3:-$TARGET_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH}
|
||||
TARGET_GROUP=$RESOURCES/`basename $SRC_GROUP`
|
||||
|
||||
should_update() {
|
||||
|
|
Loading…
Reference in New Issue