CMake lists initial submission. Documentationand further verification for different...
[blender-staging.git] / source / creator / 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 SETUP_LIBDIRS()
31
32 FILE(APPEND ../source/blender/makesdna/intern/dna.c "")
33
34 INCLUDE_DIRECTORIES(../../intern/guardedalloc
35   ../blender/blenlib
36   ../blender/blenkernel
37   ../blender/include
38   ../blender/blenloader
39   ../blender/imbuf
40   ../blender/renderconverter
41   ../blender/render/extern/include
42   ../blender/python
43   ../blender/makesdna
44   ../kernel/gen_messaging
45   ../kernel/gen_system
46 )
47
48 IF(WITH_QUICKTIME)
49   ADD_DEFINITIONS(-DWITH_QUICKTIME)
50 ENDIF(WITH_QUICKTIME)
51
52 IF(WIN32)
53   ADD_EXECUTABLE(blender ${EXETYPE} creator.c ../blender/makesdna/intern/dna.c ../icons/winblender.rc)
54 ELSE(WIN32)
55   ADD_EXECUTABLE(blender ${EXETYPE} creator.c ../blender/makesdna/intern/dna.c)
56 ENDIF(WIN32)
57
58 ADD_DEPENDENCIES(blender makesdna)
59
60 SETUP_LIBLINKS(blender)
61 FILE(READ ${CMAKE_SOURCE_DIR}/cmake_blender_libs.txt BLENDER_LINK_LIBS)
62
63 SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} src blender_python blender_render blender_radiosity blender_IK bf_elbeem)
64
65 IF(UNIX)
66   # Sort libraries
67   SET(BLENDER_SORTED_LIBS
68     src 
69     bf_decimation 
70     blender_BSP 
71     bf_soundsystem 
72     bf_ghost 
73     bf_string 
74     blender_img 
75     blender_render 
76     blender_radiosity 
77     blender_ONL 
78     blender_python 
79     bf_blenkernel 
80     bf_blenloader 
81     bf_blenpluginapi 
82     bf_imbuf 
83     bf_blenlib 
84     bf_avi 
85     bf_cineon 
86     bf_openexr 
87     bf_readblenfile 
88     blender_bop 
89     bf_kernel 
90     bf_decimation 
91     bf_elbeem 
92     bf_yafray 
93     blender_IK 
94     bf_memutil 
95     bf_guardedalloc 
96     blender_CTR 
97     bf_moto 
98     bf_bmfont 
99     verse 
100     src 
101     bf_ftfont 
102     extern_ftgl 
103     bf_blroutines 
104     bf_converter 
105     bf_dummy 
106     bf_bullet 
107     bf_common 
108     bf_ketsji 
109     bf_logic 
110     bf_rasterizer 
111     bf_oglrasterizer 
112     bf_expressions 
113     bf_scenegraph 
114     bf_moto 
115     bf_blroutines 
116     kx_network 
117     bf_kernel 
118     bf_ngnetwork 
119     extern_bullet 
120     bf_loopbacknetwork 
121     bf_sumo 
122     bf_common 
123     extern_solid 
124     extern_qhull 
125     bf_moto 
126     blender_python
127   )
128
129   FOREACH(SORTLIB ${BLENDER_SORTED_LIBS})
130     SET(REMLIB ${SORTLIB})
131     FOREACH(SEARCHLIB ${BLENDER_LINK_LIBS})
132       IF(${SEARCHLIB} STREQUAL ${SORTLIB})
133         SET(REMLIB "")
134       ENDIF(${SEARCHLIB} STREQUAL ${SORTLIB})
135     ENDFOREACH(SEARCHLIB)
136     IF(REMLIB)
137       MESSAGE("Removing library ${REMLIB} from blender linking because: not configured")
138       LIST(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
139     ENDIF(REMLIB)
140   ENDFOREACH(SORTLIB)
141   TARGET_LINK_LIBRARIES(blender ${BLENDER_SORTED_LIBS})
142 ELSE(UNIX)
143   TARGET_LINK_LIBRARIES(blender ${BLENDER_LINK_LIBS})
144 ENDIF(UNIX)
145
146 MESSAGE(STATUS "Configuring blender")