MERGING TRUNK
[blender-staging.git] / blenderplayer / CMakeLists.txt
index 3648ea46150b469dd330666bb009eced5c0007df..d90639562d22ca21210f19c1b07360929cf2c63d 100644 (file)
@@ -1,13 +1,10 @@
 # $Id$
-# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+# ***** BEGIN GPL LICENSE BLOCK *****
 #
 # 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
-# of the License, or (at your option) any later version. The Blender
-# Foundation also sells licenses for use in proprietary software under
-# the Blender License.  See http://www.blender.org/BL/ for information
-# about this.
+# of the License, or (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 #
 # Contributor(s): Jacques Beaurain.
 #
-# ***** END GPL/BL DUAL LICENSE BLOCK *****
+# ***** END GPL LICENSE BLOCK *****
 
 MESSAGE(STATUS "Configuring blenderplayer")
 
 SETUP_LIBDIRS()
 
-FILE(APPEND ../source/blender/makesdna/intern/dna.c "")
-
 IF(WITH_QUICKTIME)
   ADD_DEFINITIONS(-DWITH_QUICKTIME)
 ENDIF(WITH_QUICKTIME)
 
+IF(LINUX)
+  ADD_DEFINITIONS(-DWITH_BINRELOC)
+  INCLUDE_DIRECTORIES(${BINRELOC_INC})
+endif(LINUX)
+
+ADD_CUSTOM_COMMAND(
+  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
+)
+
 IF(WIN32)
-  ADD_EXECUTABLE(blenderplayer ${EXETYPE} ../source/blender/makesdna/intern/dna.c ../source/icons/winplayer.rc)
+  ADD_EXECUTABLE(blenderplayer ${EXETYPE} ${CMAKE_CURRENT_BINARY_DIR}/dna.c ../source/icons/winblender.rc)
 ELSE(WIN32)
-  ADD_EXECUTABLE(blenderplayer ../source/blender/makesdna/intern/dna.c)
+  ADD_EXECUTABLE(blenderplayer ${CMAKE_CURRENT_BINARY_DIR}/dna.c)
 ENDIF(WIN32)
 
 ADD_DEPENDENCIES(blenderplayer makesdna)
 
-SETUP_LIBLINKS(blenderplayer)
-FILE(READ ${CMAKE_SOURCE_DIR}/cmake_blender_libs.txt BLENDER_LINK_LIBS)
+FILE(READ ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt BLENDER_LINK_LIBS)
 
 SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} gp_common gp_ghost blenkernel_blc)
 
+IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+  SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} extern_binreloc)
+ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
 IF(UNIX)
   # Sort libraries
   SET(BLENDER_SORTED_LIBS
@@ -63,8 +72,6 @@ IF(UNIX)
     bf_decimation 
     bf_blenloader 
     bf_blenpluginapi 
-    bf_imbuf 
-    bf_avi 
     bf_blroutines 
     bf_converter 
     bf_sumo 
@@ -82,6 +89,9 @@ IF(UNIX)
     bf_moto 
     bf_soundsystem 
     bf_kernel 
+    bf_nodes
+    bf_imbuf
+    bf_avi 
     kx_network 
     bf_ngnetwork 
     bf_loopbacknetwork 
@@ -97,6 +107,8 @@ IF(UNIX)
     bf_readblenfile 
     blenkernel_blc
     bf_quicktime
+    extern_binreloc
+       extern_glew
   ) 
 
   FOREACH(SORTLIB ${BLENDER_SORTED_LIBS})
@@ -107,7 +119,7 @@ IF(UNIX)
       ENDIF(${SEARCHLIB} STREQUAL ${SORTLIB})
     ENDFOREACH(SEARCHLIB)
     IF(REMLIB)
-      MESSAGE("Removing library ${REMLIB} from blenderplayer linking because: not configured")
+      MESSAGE(STATUS "Removing library ${REMLIB} from blenderplayer linking because: not configured")
       LIST(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
     ENDIF(REMLIB)
   ENDFOREACH(SORTLIB)
@@ -117,3 +129,4 @@ ELSE(UNIX)
   TARGET_LINK_LIBRARIES(blenderplayer ${BLENDER_LINK_LIBS})
 ENDIF(UNIX)
 
+SETUP_LIBLINKS(blenderplayer)