1 # ***** BEGIN GPL LICENSE BLOCK *****
3 # This program is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU General Public License
5 # as published by the Free Software Foundation; either version 2
6 # of the License, or (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software Foundation,
15 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 # The Original Code is Copyright (C) 2006, Blender Foundation
18 # All rights reserved.
20 # The Original Code is: all of this file.
22 # Contributor(s): Jacques Beaurain.
24 # ***** END GPL LICENSE BLOCK *****
26 # message(STATUS "Configuring blenderplayer")
30 if(WITH_CODEC_QUICKTIME)
31 add_definitions(-DWITH_QUICKTIME)
34 if(WIN32 AND NOT UNIX)
35 string(SUBSTRING ${BLENDER_VERSION} 0 1 bver1)
36 string(SUBSTRING ${BLENDER_VERSION} 2 1 bver2)
37 string(SUBSTRING ${BLENDER_VERSION} 3 1 bver3)
41 -DBLEN_VER_RC_STR_M=${BLENDER_VERSION}
42 -DBLEN_VER_RC_1=${bver1}
43 -DBLEN_VER_RC_2=${bver2}
44 -DBLEN_VER_RC_3=${bver3}
49 -DBLEN_VER_RC_STR=${BLENDER_VERSION}
50 -DBLEN_VER_RC_1=${bver1}
51 -DBLEN_VER_RC_2=${bver2}
52 -DBLEN_VER_RC_3=${bver3}
57 add_executable(blenderplayer ${EXETYPE} bad_level_call_stubs/stubs.c ../icons/winblender.rc)
59 install(TARGETS blenderplayer
60 COMPONENT Blenderplayer
64 add_executable(blenderplayer ${EXETYPE} bad_level_call_stubs/stubs.c)
66 execute_process(COMMAND date "+%Y-%m-%d" OUTPUT_VARIABLE BLENDER_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
67 set(PLAYER_SOURCEDIR ${CMAKE_SOURCE_DIR}/release/darwin/blenderplayer.app)
68 set(PLAYER_SOURCEINFO ${PLAYER_SOURCEDIR}/Contents/Info.plist)
69 set_target_properties(blenderplayer PROPERTIES
70 MACOSX_BUNDLE_INFO_PLIST ${PLAYER_SOURCEINFO}
71 MACOSX_BUNDLE_SHORT_VERSION_STRING ${BLENDER_VERSION}
72 MACOSX_BUNDLE_LONG_VERSION_STRING "${BLENDER_VERSION} ${BLENDER_DATE}")
75 add_executable(blenderplayer bad_level_call_stubs/stubs.c)
77 if(NOT WITH_INSTALL_PORTABLE)
90 add_dependencies(blenderplayer makesdna)
92 get_property(BLENDER_LINK_LIBS GLOBAL PROPERTY BLENDER_LINK_LIBS)
94 list(APPEND BLENDER_LINK_LIBS
100 if(CMAKE_SYSTEM_NAME MATCHES "Linux")
101 list(APPEND BLENDER_LINK_LIBS extern_binreloc)
106 set(BLENDER_SORTED_LIBS
111 bf_intern_ghostndof3dconnexion
141 ge_logic_loopbacknetwork
143 bf_intern_guardedalloc
165 bf_intern_ghost # duplicate for linking
166 bf_blenkernel # duplicate for linking
168 extern_recastnavigation
169 bf_intern_opencolorio
180 if(WITH_MOD_CLOTH_ELTOPO)
181 list(APPEND BLENDER_SORTED_LIBS extern_eltopo)
184 if(NOT WITH_SYSTEM_GLEW)
185 list(APPEND BLENDER_SORTED_LIBS ${BLENDER_GLEW_LIBRARIES})
189 list(APPEND BLENDER_SORTED_LIBS extern_lzma)
193 list(APPEND BLENDER_SORTED_LIBS extern_ceres)
197 list(APPEND BLENDER_SORTED_LIBS extern_carve)
201 list(APPEND BLENDER_SORTED_LIBS extern_xdnd)
204 if(WITH_CODEC_QUICKTIME)
205 list(APPEND BLENDER_SORTED_LIBS bf_quicktime)
208 if(WITH_CXX_GUARDEDALLOC)
209 list(APPEND BLENDER_SORTED_LIBS bf_intern_guardedalloc_cpp)
212 if(WITH_INTERNATIONAL)
213 list(APPEND BLENDER_SORTED_LIBS bf_intern_locale)
217 list(APPEND BLENDER_SORTED_LIBS bf_intern_opensubdiv)
221 list(APPEND BLENDER_SORTED_LIBS bf_intern_openvdb)
224 foreach(SORTLIB ${BLENDER_SORTED_LIBS})
225 set(REMLIB ${SORTLIB})
226 foreach(SEARCHLIB ${BLENDER_LINK_LIBS})
227 if(${SEARCHLIB} STREQUAL ${SORTLIB})
232 # message(STATUS "Removing library ${REMLIB} from blenderplayer linking because: not configured")
233 list(APPEND REM_MSG ${REMLIB})
234 list(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
239 message(STATUS "Player Skipping: (${REM_MSG})")
241 target_link_libraries(blenderplayer ${BLENDER_SORTED_LIBS})
249 # target_link_libraries(blenderplayer ${BLENDER_LINK_LIBS})
253 add_subdirectory(bad_level_call_stubs)
256 setup_liblinks(blenderplayer)
258 # We put CLEW and CUEW here because OPENSUBDIV_LIBRARIES dpeends on them..
259 if(WITH_CYCLES OR WITH_COMPOSITOR OR WITH_OPENSUBDIV)
260 target_link_libraries(blenderplayer "extern_clew")
261 if(WITH_CUDA_DYNLOAD)
262 target_link_libraries(blenderplayer "extern_cuew")
264 target_link_libraries(${target} ${CUDA_CUDA_LIBRARY})