Fix for bug #8329: approximate AO with shadow disabled gave artifacts.
[blender-staging.git] / blenderplayer / CMakeLists.txt
1 # $Id$
2 # ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version. The Blender
8 # Foundation also sells licenses for use in proprietary software under
9 # the Blender License.  See http://www.blender.org/BL/ for information
10 # about this.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software Foundation,
19 # Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20 #
21 # The Original Code is Copyright (C) 2006, Blender Foundation
22 # All rights reserved.
23 #
24 # The Original Code is: all of this file.
25 #
26 # Contributor(s): Jacques Beaurain.
27 #
28 # ***** END GPL/BL DUAL LICENSE BLOCK *****
29
30 MESSAGE(STATUS "Configuring blenderplayer")
31
32 SETUP_LIBDIRS()
33
34 IF(WITH_QUICKTIME)
35   ADD_DEFINITIONS(-DWITH_QUICKTIME)
36 ENDIF(WITH_QUICKTIME)
37
38 ADD_CUSTOM_COMMAND(
39   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/dna.c
40   COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna ${CMAKE_CURRENT_BINARY_DIR}/dna.c ${CMAKE_SOURCE_DIR}/source/blender/makesdna/
41   DEPENDS ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna
42 )
43
44 IF(WIN32)
45   ADD_EXECUTABLE(blenderplayer ${EXETYPE} ${CMAKE_CURRENT_BINARY_DIR}/dna.c ../source/icons/winblender.rc)
46 ELSE(WIN32)
47   ADD_EXECUTABLE(blenderplayer ${CMAKE_CURRENT_BINARY_DIR}/dna.c)
48 ENDIF(WIN32)
49
50 ADD_DEPENDENCIES(blenderplayer makesdna)
51
52 FILE(READ ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt BLENDER_LINK_LIBS)
53
54 SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} gp_common gp_ghost blenkernel_blc)
55
56 IF(UNIX)
57   # Sort libraries
58   SET(BLENDER_SORTED_LIBS
59     gp_ghost 
60     gp_common 
61     bf_string 
62     bf_ghost 
63     bf_blenkernel 
64     verse 
65     bf_blenkernel 
66     bf_decimation 
67     bf_blenloader 
68     bf_blenpluginapi 
69     bf_blroutines 
70     bf_converter 
71     bf_sumo 
72     bf_ketsji 
73     extern_solid 
74     extern_qhull 
75     bf_bullet 
76     bf_common 
77     bf_dummy 
78     bf_logic 
79     bf_rasterizer 
80     bf_oglrasterizer 
81     bf_expressions 
82     bf_scenegraph 
83     bf_moto 
84     bf_soundsystem 
85     bf_kernel 
86     bf_nodes
87     bf_imbuf
88     bf_avi 
89     kx_network 
90     bf_ngnetwork 
91     bf_loopbacknetwork 
92     extern_bullet 
93     bf_guardedalloc 
94     bf_memutil 
95     bf_bmfont 
96     bf_blenlib 
97     bf_cineon 
98     bf_openexr 
99     bf_ftfont 
100     extern_ftgl 
101     bf_readblenfile 
102     blenkernel_blc
103     bf_quicktime
104   ) 
105
106   FOREACH(SORTLIB ${BLENDER_SORTED_LIBS})
107     SET(REMLIB ${SORTLIB})
108     FOREACH(SEARCHLIB ${BLENDER_LINK_LIBS})
109       IF(${SEARCHLIB} STREQUAL ${SORTLIB})
110         SET(REMLIB "")
111       ENDIF(${SEARCHLIB} STREQUAL ${SORTLIB})
112     ENDFOREACH(SEARCHLIB)
113     IF(REMLIB)
114       MESSAGE(STATUS "Removing library ${REMLIB} from blenderplayer linking because: not configured")
115       LIST(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
116     ENDIF(REMLIB)
117   ENDFOREACH(SORTLIB)
118
119   TARGET_LINK_LIBRARIES(blenderplayer ${BLENDER_SORTED_LIBS})
120 ELSE(UNIX)
121   TARGET_LINK_LIBRARIES(blenderplayer ${BLENDER_LINK_LIBS})
122 ENDIF(UNIX)
123
124 SETUP_LIBLINKS(blenderplayer)