2010-12-22 22:15:20 +00:00
|
|
|
# -*- mode: cmake; indent-tabs-mode: t; -*-
|
2006-11-17 02:27:12 +00:00
|
|
|
# $Id$
|
2008-04-16 22:40:48 +00:00
|
|
|
# ***** BEGIN GPL LICENSE BLOCK *****
|
2006-11-17 02:27:12 +00:00
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU General Public License
|
|
|
|
# as published by the Free Software Foundation; either version 2
|
2008-04-16 22:40:48 +00:00
|
|
|
# of the License, or (at your option) any later version.
|
2006-11-17 02:27:12 +00:00
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; if not, write to the Free Software Foundation,
|
2010-02-12 13:34:04 +00:00
|
|
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
2006-11-17 02:27:12 +00:00
|
|
|
#
|
|
|
|
# The Original Code is Copyright (C) 2006, Blender Foundation
|
|
|
|
# All rights reserved.
|
|
|
|
#
|
|
|
|
# The Original Code is: all of this file.
|
|
|
|
#
|
|
|
|
# Contributor(s): Jacques Beaurain.
|
|
|
|
#
|
2008-04-16 22:40:48 +00:00
|
|
|
# ***** END GPL LICENSE BLOCK *****
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2010-12-16 12:48:30 +00:00
|
|
|
# message(STATUS "Configuring blenderplayer")
|
2006-12-06 00:28:13 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
setup_libdirs()
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_CODEC_QUICKTIME)
|
|
|
|
add_definitions(-DWITH_QUICKTIME)
|
|
|
|
endif()
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
add_custom_command(
|
2009-09-06 01:51:23 +00:00
|
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/dna.c
|
|
|
|
COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna ${CMAKE_CURRENT_BINARY_DIR}/dna.c ${CMAKE_SOURCE_DIR}/source/blender/makesdna/
|
|
|
|
DEPENDS ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna
|
2006-12-07 00:18:57 +00:00
|
|
|
)
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WIN32 AND NOT UNIX)
|
2011-04-08 22:07:17 +00:00
|
|
|
string(SUBSTRING ${BLENDER_VERSION} 0 1 bver1)
|
|
|
|
string(SUBSTRING ${BLENDER_VERSION} 2 1 bver2)
|
|
|
|
string(SUBSTRING ${BLENDER_VERSION} 3 1 bver3)
|
2011-05-06 08:16:44 +00:00
|
|
|
if(MINGW)
|
|
|
|
add_definitions(
|
|
|
|
-DWINDRES
|
|
|
|
-DBLEN_VER_RC_STR_M=${BLENDER_VERSION}
|
|
|
|
-DBLEN_VER_RC_1=${bver1}
|
|
|
|
-DBLEN_VER_RC_2=${bver2}
|
|
|
|
-DBLEN_VER_RC_3=${bver3}
|
|
|
|
-DBLEN_VER_RC_4=0
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
add_definitions(
|
|
|
|
-DBLEN_VER_RC_STR=${BLENDER_VERSION}
|
|
|
|
-DBLEN_VER_RC_1=${bver1}
|
|
|
|
-DBLEN_VER_RC_2=${bver2}
|
|
|
|
-DBLEN_VER_RC_3=${bver3}
|
|
|
|
-DBLEN_VER_RC_4=0
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
add_executable(blenderplayer ${EXETYPE} ${CMAKE_CURRENT_BINARY_DIR}/dna.c ../icons/winblender.rc)
|
|
|
|
else()
|
|
|
|
add_executable(blenderplayer ${CMAKE_CURRENT_BINARY_DIR}/dna.c)
|
|
|
|
endif()
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
add_dependencies(blenderplayer makesdna)
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
get_property(BLENDER_LINK_LIBS GLOBAL PROPERTY BLENDER_LINK_LIBS)
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
list(APPEND BLENDER_LINK_LIBS
|
2010-12-06 10:56:37 +00:00
|
|
|
ge_player_common
|
|
|
|
ge_player_ghost
|
|
|
|
blenkernel_blc
|
|
|
|
)
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
|
list(APPEND BLENDER_LINK_LIBS extern_binreloc)
|
|
|
|
endif()
|
2008-04-11 19:58:54 +00:00
|
|
|
|
2011-04-12 01:56:03 +00:00
|
|
|
# if(UNIX)
|
2009-09-06 01:51:23 +00:00
|
|
|
# Sort libraries
|
2010-12-08 08:43:06 +00:00
|
|
|
set(BLENDER_SORTED_LIBS
|
2010-11-18 11:42:05 +00:00
|
|
|
ge_player_ghost
|
|
|
|
ge_player_common
|
2010-08-24 04:29:23 +00:00
|
|
|
bf_intern_string
|
2010-10-16 09:27:02 +00:00
|
|
|
bf_intern_ghost
|
2009-09-06 01:51:23 +00:00
|
|
|
bf_rna
|
|
|
|
bf_blenkernel
|
|
|
|
bf_blenloader
|
|
|
|
bf_blenpluginapi
|
2010-11-18 11:42:05 +00:00
|
|
|
ge_blen_routines
|
2010-11-12 07:16:33 +00:00
|
|
|
bf_editor_datafiles
|
2010-11-18 11:42:05 +00:00
|
|
|
ge_converter
|
|
|
|
ge_logic_ketsji
|
|
|
|
ge_phys_bullet
|
|
|
|
ge_phys_dummy
|
|
|
|
ge_phys_common
|
|
|
|
ge_logic
|
|
|
|
ge_rasterizer
|
|
|
|
ge_oglrasterizer
|
|
|
|
ge_logic_expressions
|
|
|
|
ge_scenegraph
|
2010-10-16 09:27:02 +00:00
|
|
|
bf_ikplugin
|
|
|
|
bf_intern_itasc
|
|
|
|
bf_intern_ik
|
|
|
|
bf_intern_smoke
|
2010-05-08 05:56:34 +00:00
|
|
|
bf_modifiers
|
2010-08-24 04:29:23 +00:00
|
|
|
bf_intern_moto
|
2009-09-06 01:51:23 +00:00
|
|
|
bf_nodes
|
|
|
|
bf_gpu
|
|
|
|
bf_imbuf
|
|
|
|
bf_avi
|
2010-11-18 11:42:05 +00:00
|
|
|
ge_logic_network
|
|
|
|
ge_logic_ngnetwork
|
|
|
|
ge_logic_loopbacknetwork
|
2009-09-06 01:51:23 +00:00
|
|
|
extern_bullet
|
2010-08-24 04:29:23 +00:00
|
|
|
bf_intern_guardedalloc
|
|
|
|
bf_intern_memutil
|
|
|
|
bf_python_ext
|
2009-09-06 01:51:23 +00:00
|
|
|
bf_blenlib
|
2010-11-18 11:42:05 +00:00
|
|
|
bf_imbuf_cineon
|
|
|
|
bf_imbuf_openexr
|
2011-04-18 07:11:40 +00:00
|
|
|
extern_openjpeg
|
|
|
|
extern_redcode
|
2010-11-18 11:42:05 +00:00
|
|
|
bf_imbuf_dds
|
2009-09-06 01:51:23 +00:00
|
|
|
bf_dna
|
2010-11-18 11:42:05 +00:00
|
|
|
ge_videotex
|
2009-09-06 01:51:23 +00:00
|
|
|
bf_blenfont
|
2010-08-24 04:29:23 +00:00
|
|
|
bf_intern_audaspace
|
2009-09-06 01:51:23 +00:00
|
|
|
blenkernel_blc
|
|
|
|
extern_binreloc
|
2010-09-15 19:03:52 +00:00
|
|
|
extern_minilzo
|
2010-10-16 09:27:02 +00:00
|
|
|
bf_intern_ghost # duplicate for linking
|
|
|
|
bf_blenkernel # duplicate for linking
|
2011-02-15 12:43:34 +00:00
|
|
|
bf_intern_mikktspace
|
2009-09-06 01:51:23 +00:00
|
|
|
)
|
2011-02-15 12:43:34 +00:00
|
|
|
|
2011-04-12 01:56:03 +00:00
|
|
|
if(WITH_BUILTIN_GLEW)
|
2011-04-05 23:31:01 +00:00
|
|
|
list(APPEND BLENDER_SORTED_LIBS extern_glew)
|
2011-04-12 01:56:03 +00:00
|
|
|
endif()
|
2011-04-05 23:31:01 +00:00
|
|
|
|
2011-03-05 09:27:14 +00:00
|
|
|
if(WITH_LZMA)
|
|
|
|
list(APPEND BLENDER_SORTED_LIBS extern_lzma)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(WITH_MOD_DECIMATE)
|
|
|
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_decimate)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(WITH_MOD_BOOLEAN)
|
|
|
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_bsp)
|
|
|
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_bop)
|
|
|
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_moto)
|
|
|
|
endif()
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_CODEC_QUICKTIME)
|
|
|
|
list(APPEND BLENDER_SORTED_LIBS bf_quicktime)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(WITH_CXX_GUARDEDALLOC)
|
|
|
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_guardedalloc_cpp)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
foreach(SORTLIB ${BLENDER_SORTED_LIBS})
|
|
|
|
set(REMLIB ${SORTLIB})
|
|
|
|
foreach(SEARCHLIB ${BLENDER_LINK_LIBS})
|
|
|
|
if(${SEARCHLIB} STREQUAL ${SORTLIB})
|
|
|
|
set(REMLIB "")
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
if(REMLIB)
|
2010-12-16 12:48:30 +00:00
|
|
|
# message(STATUS "Removing library ${REMLIB} from blenderplayer linking because: not configured")
|
|
|
|
list(APPEND REM_MSG ${REMLIB})
|
2010-12-08 08:43:06 +00:00
|
|
|
list(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
|
|
|
|
endif()
|
|
|
|
endforeach()
|
2010-12-17 04:41:48 +00:00
|
|
|
if(REM_MSG)
|
|
|
|
list(SORT REM_MSG)
|
|
|
|
message(STATUS "Player Skipping: (${REM_MSG})")
|
|
|
|
endif()
|
2010-12-08 08:43:06 +00:00
|
|
|
target_link_libraries(blenderplayer ${BLENDER_SORTED_LIBS})
|
2011-06-11 06:00:28 +00:00
|
|
|
|
|
|
|
unset(SEARCHLIB)
|
|
|
|
unset(SORTLIB)
|
|
|
|
unset(REMLIB)
|
|
|
|
unset(REM_MSG)
|
|
|
|
|
2011-04-12 01:56:03 +00:00
|
|
|
# else()
|
|
|
|
# target_link_libraries(blenderplayer ${BLENDER_LINK_LIBS})
|
|
|
|
# endif()
|
2010-12-08 08:43:06 +00:00
|
|
|
|
|
|
|
if(WITH_PLAYER)
|
|
|
|
add_subdirectory(bad_level_call_stubs)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
setup_liblinks(blenderplayer)
|