[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40606] trunk/blender/source: OSX: fix player bundle_creation
jens verwiebe
info at jensverwiebe.de
Tue Sep 27 12:51:58 CEST 2011
Revision: 40606
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40606
Author: jensverwiebe
Date: 2011-09-27 10:51:57 +0000 (Tue, 27 Sep 2011)
Log Message:
-----------
OSX: fix player bundle_creation
Modified Paths:
--------------
trunk/blender/source/blenderplayer/CMakeLists.txt
trunk/blender/source/creator/CMakeLists.txt
Modified: trunk/blender/source/blenderplayer/CMakeLists.txt
===================================================================
--- trunk/blender/source/blenderplayer/CMakeLists.txt 2011-09-27 10:43:45 UTC (rev 40605)
+++ trunk/blender/source/blenderplayer/CMakeLists.txt 2011-09-27 10:51:57 UTC (rev 40606)
@@ -63,8 +63,18 @@
endif()
add_executable(blenderplayer ${EXETYPE} ${CMAKE_CURRENT_BINARY_DIR}/dna.c ../icons/winblender.rc)
+
elseif(APPLE)
- add_executable(blenderplayer MACOSX_BUNDLE ${CMAKE_CURRENT_BINARY_DIR}/dna.c)
+ add_executable(blenderplayer ${EXETYPE} ${CMAKE_CURRENT_BINARY_DIR}/dna.c)
+ # setup Info.plist
+ execute_process(COMMAND date "+%Y-%m-%d" OUTPUT_VARIABLE BLENDER_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(PLAYER_SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blenderplayer.app)
+ set(PLAYER_SOURCEINFO ${PLAYER_SOURCEDIR}/Contents/Info.plist)
+ set_target_properties(blenderplayer PROPERTIES
+ MACOSX_BUNDLE_INFO_PLIST ${PLAYER_SOURCEINFO}
+ MACOSX_BUNDLE_SHORT_VERSION_STRING ${BLENDER_VERSION}
+ MACOSX_BUNDLE_LONG_VERSION_STRING "${BLENDER_VERSION} ${BLENDER_DATE}")
+
else()
add_executable(blenderplayer ${CMAKE_CURRENT_BINARY_DIR}/dna.c)
endif()
Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt 2011-09-27 10:43:45 UTC (rev 40605)
+++ trunk/blender/source/creator/CMakeLists.txt 2011-09-27 10:51:57 UTC (rev 40606)
@@ -713,40 +713,66 @@
# install blenderplayer bundle - copy of blender.app above. re-using macros et al
# note we are using OSX Bundle as base and copying Blender dummy bundle on top of it
if(WITH_GAMEENGINE AND WITH_PLAYER)
- set(SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blenderplayer.app)
- set(SOURCEINFO ${SOURCEDIR}/Contents/Info.plist)
- set(TARGETDIR_VER ${TARGETDIR}/blenderplayer.app/Contents/MacOS/${BLENDER_VERSION})
+ set(PLAYER_SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blenderplayer.app)
+ set(PLAYER_SOURCEINFO ${PLAYER_SOURCEDIR}/Contents/Info.plist)
+ set(PLAYER_TARGETDIR_VER ${TARGETDIR}/blenderplayer.app/Contents/MacOS/${BLENDER_VERSION})
- # setup Info.plist
- execute_process(COMMAND date "+%Y-%m-%d" OUTPUT_VARIABLE BLENDER_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
- set_target_properties(blender PROPERTIES
- MACOSX_BUNDLE_INFO_PLIST ${SOURCEINFO}
- MACOSX_BUNDLE_SHORT_VERSION_STRING ${BLENDER_VERSION}
- MACOSX_BUNDLE_LONG_VERSION_STRING "${BLENDER_VERSION} ${BLENDER_DATE}")
-
- # important to make a clean install each time else old scripts get loaded.
+ # important to make a clean install each time else old scripts get loaded.
install(
CODE
- "file(REMOVE_RECURSE ${TARGETDIR_VER})"
+ "file(REMOVE_RECURSE ${PLAYER_TARGETDIR_VER})"
)
- # message after building.
- add_custom_command(
- TARGET blender POST_BUILD MAIN_DEPENDENCY blender
- COMMAND ${CMAKE_COMMAND} -E echo 'now run: \"make install\" to copy runtime files & scripts to ${TARGETDIR_VER}'
- )
-
+
+ # handy install macro to exclude files, we use \$ escape for the "to"
+ # argument when calling so ${BUILD_TYPE} does not get expanded
+ macro(install_dir from to)
+ install(
+ DIRECTORY ${from}
+ DESTINATION ${to}
+ PATTERN ".svn" EXCLUDE
+ PATTERN "*.pyc" EXCLUDE
+ PATTERN "*.pyo" EXCLUDE
+ PATTERN "*.orig" EXCLUDE
+ PATTERN "*.rej" EXCLUDE
+ PATTERN "__pycache__" EXCLUDE
+ PATTERN "__MACOSX" EXCLUDE
+ PATTERN ".DS_Store" EXCLUDE
+ )
+ endmacro()
+
install(
- FILES ${SOURCEDIR}/Contents/PkgInfo
+ FILES ${PLAYER_SOURCEDIR}/Contents/PkgInfo
DESTINATION ${TARGETDIR}/blenderplayer.app/Contents
)
-
+
install_dir(
- ${SOURCEDIR}/Contents/Resources
+ ${PLAYER_SOURCEDIR}/Contents/Resources
\${TARGETDIR}/blenderplayer.app/Contents/
)
+ install(
+ FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
+ DESTINATION ${PLAYER_TARGETDIR_VER}
+ )
+
+ # localization
+ if(WITH_INTERNATIONAL)
+ install(
+ FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.Blanguages
+ DESTINATION ${PLAYER_TARGETDIR_VER}/datafiles
+ )
+
+ install(
+ DIRECTORY
+ ${CMAKE_SOURCE_DIR}/release/bin/.blender/fonts
+ ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale
+ DESTINATION ${PLAYER_TARGETDIR_VER}/datafiles
+ PATTERN ".svn" EXCLUDE
+ )
+ endif()
+
# python
if(WITH_PYTHON)
add_custom_command(
@@ -759,10 +785,10 @@
# copy extracted python files
install_dir(
${CMAKE_CURRENT_BINARY_DIR}/python
- \${TARGETDIR_VER}
+ \${PLAYER_TARGETDIR_VER}
)
endif()
-
+
endif()
endif()
More information about the Bf-blender-cvs
mailing list