Changed: Set CMAKE_OSX_DEPLOYMENT_TARGET if not defined
Changed: Use custom Info.plist Added: RYZOM_DATA_DIR option to copy data from there
This commit is contained in:
parent
15d2226427
commit
421c6482d9
1 changed files with 22 additions and 13 deletions
|
@ -42,30 +42,39 @@ SOURCE_GROUP("r2" FILES ${SRC_R2})
|
||||||
|
|
||||||
# on Mac, create a .App Bundle
|
# on Mac, create a .App Bundle
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
|
IF(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
|
SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.6")
|
||||||
|
ENDIF(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
|
|
||||||
SET(MACOSX_BUNDLE_INFO_STRING "Ryzom Core Client")
|
SET(MACOSX_BUNDLE_INFO_STRING "Ryzom Core Client")
|
||||||
SET(MACOSX_BUNDLE_ICON_FILE "atys.icns")
|
SET(MACOSX_BUNDLE_ICON_FILE "ryzom.icns")
|
||||||
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "")
|
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "")
|
||||||
SET(MACOSX_BUNDLE_LONG_VERSION_STRING ${NL_VERSION})
|
SET(MACOSX_BUNDLE_LONG_VERSION_STRING ${NL_VERSION})
|
||||||
SET(MACOSX_BUNDLE_BUNDLE_NAME "Ryzom Core Client")
|
SET(MACOSX_BUNDLE_BUNDLE_NAME "Ryzom Core Client")
|
||||||
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "0.8")
|
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "0.8")
|
||||||
SET(MACOSX_BUNDLE_BUNDLE_VERSION "1.0")
|
SET(MACOSX_BUNDLE_BUNDLE_VERSION "1.0")
|
||||||
SET(MACOSX_BUNDLE_COPYRIGHT "Winchgate and The Ryzom Core Community")
|
SET(MACOSX_BUNDLE_COPYRIGHT "Winchgate and The Ryzom Core Community")
|
||||||
|
SET(RYZOM_OUTPUT_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${MACOSX_BUNDLE_BUNDLE_NAME}.app)
|
||||||
# TODO: in release mode, cmake could copy all the dylibs into the .app
|
SET(RYZOM_CONTENTS_DIR ${RYZOM_OUTPUT_DIR}/Contents)
|
||||||
# bundle for redistribution... should some part of cpack handle that?
|
SET(RYZOM_RESOURCES_DIR ${RYZOM_CONTENTS_DIR}/Resources)
|
||||||
# ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD
|
SET(MAC_RESOURCES_DIR ${CMAKE_SOURCE_DIR}/ryzom/client/macosx)
|
||||||
# # make frameworks directory in app bundle
|
|
||||||
# COMMAND ${CMAKE_COMMAND} -E make_directory
|
|
||||||
# ${CMAKE_CURRENT_BINARY_DIR}/ryzom_client.app/Contents/Frameworks
|
|
||||||
# # copy framework into app bundle
|
|
||||||
# COMMAND ${CMAKE_COMMAND} -E copy ${SOME_LIBRARY}
|
|
||||||
# ${CMAKE_CURRENT_BINARY_DIR}/ryzom_client.app/Contents/Frameworks
|
|
||||||
# # ...
|
|
||||||
# # install_name_tool the lib pathes
|
|
||||||
ENDIF(APPLE)
|
ENDIF(APPLE)
|
||||||
|
|
||||||
ADD_EXECUTABLE(ryzom_client WIN32 MACOSX_BUNDLE ${SRC} ${SRC_INTERFACE} ${SRC_MODE} ${SRC_R2})
|
ADD_EXECUTABLE(ryzom_client WIN32 MACOSX_BUNDLE ${SRC} ${SRC_INTERFACE} ${SRC_MODE} ${SRC_R2})
|
||||||
|
|
||||||
|
IF(APPLE)
|
||||||
|
SET_TARGET_PROPERTIES(ryzom_client PROPERTIES OUTPUT_NAME ${MACOSX_BUNDLE_BUNDLE_NAME})
|
||||||
|
SET_TARGET_PROPERTIES(ryzom_client PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${MAC_RESOURCES_DIR}/Info.plist)
|
||||||
|
ADD_CUSTOM_COMMAND(TARGET ryzom_client PRE_BUILD COMMAND mkdir -p ${RYZOM_RESOURCES_DIR})
|
||||||
|
ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND cp ARGS ${MAC_RESOURCES_DIR}/PkgInfo ${RYZOM_CONTENTS_DIR})
|
||||||
|
ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND cp ARGS ${MAC_RESOURCES_DIR}/ryzom.icns ${RYZOM_RESOURCES_DIR})
|
||||||
|
ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND cp ARGS ${CMAKE_SOURCE_DIR}/ryzom/client/client_default.cfg ${RYZOM_RESOURCES_DIR})
|
||||||
|
|
||||||
|
IF(RYZOM_DATA_DIR)
|
||||||
|
ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND cp -R ARGS ${RYZOM_DATA_DIR} ${RYZOM_RESOURCES_DIR})
|
||||||
|
ENDIF(RYZOM_DATA_DIR)
|
||||||
|
ENDIF(APPLE)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
${LIBXML2_INCLUDE_DIR}
|
${LIBXML2_INCLUDE_DIR}
|
||||||
|
|
Loading…
Reference in a new issue