Recreating my GSoC branch.
[blender.git] / source / blender / makesrna / intern / CMakeLists.txt
1 # $Id: CMakeLists.txt 17433 2008-11-12 21:16:53Z blendix $
2 # ***** BEGIN GPL 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.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software Foundation,
16 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 #
18 # The Original Code is Copyright (C) 2006, Blender Foundation
19 # All rights reserved.
20 #
21 # The Original Code is: all of this file.
22 #
23 # Contributor(s): Jacques Beaurain.
24 #
25 # ***** END GPL LICENSE BLOCK *****
26
27 FILE(GLOB DEFSRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c")
28 FILE(GLOB APISRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*_api.c")
29 LIST(REMOVE_ITEM DEFSRC rna_access.c rna_define.c makesrna.c)
30 LIST(REMOVE_ITEM DEFSRC ${APISRC})
31  
32 STRING(REGEX REPLACE "rna_([a-zA-Z0-9_-]*).c" "${CMAKE_CURRENT_BINARY_DIR}/rna_\\1_gen.c" GENSRC "${DEFSRC}")
33
34 SET(SRC
35         makesrna.c
36         rna_define.c
37         ${DEFSRC}
38         ${APISRC}
39         ../../../../intern/guardedalloc/intern/mallocn.c
40         ../../../../intern/guardedalloc/intern/mmap_win.c)
41
42 INCLUDE_DIRECTORIES(
43         ../../../../intern/audaspace/intern
44         ../../../../intern/guardedalloc
45         ..
46         ../../makesdna
47         ../../blenkernel
48         ../../blenlib
49         ../../ikplugin
50         ../../windowmanager
51         ../../editors/include
52         ../../gpu
53         ../../imbuf
54         ../../render/extern/include
55         . )
56
57 FILE(GLOB INC_FILES ../*.h ../../makesdna/*.h)
58
59 IF(NOT WITH_PYTHON)
60         ADD_DEFINITIONS(-DDISABLE_PYTHON)
61 ENDIF(NOT WITH_PYTHON)
62
63 IF(WIN32)
64         SET(INC ${INC} ${PTHREADS_INC})
65 ENDIF(WIN32)
66
67 IF(WITH_GAMEENGINE)
68         ADD_DEFINITIONS(-DGAMEBLENDER)
69 ENDIF(WITH_GAMEENGINE)
70
71 IF(WITH_OPENEXR)
72         ADD_DEFINITIONS(-DWITH_OPENEXR)
73 ENDIF(WITH_OPENEXR)
74
75 IF(WITH_TIFF)
76         ADD_DEFINITIONS(-DWITH_TIFF)
77 ENDIF(WITH_TIFF)
78
79 IF(WITH_OPENJPEG)
80         ADD_DEFINITIONS(-DWITH_OPENJPEG)
81 ENDIF(WITH_OPENJPEG)
82
83 IF(WITH_DDS)
84         ADD_DEFINITIONS(-DWITH_DDS)
85 ENDIF(WITH_DDS)
86
87 IF(WITH_QUICKTIME)
88         SET(INC ${INC} ../../quicktime)
89         ADD_DEFINITIONS(-DWITH_QUICKTIME)
90 ENDIF(WITH_QUICKTIME)
91
92 IF(WITH_FFMPEG)
93         SET(INC ${INC} ${FFMPEG_INC})
94         ADD_DEFINITIONS(-DWITH_FFMPEG)
95 ENDIF(WITH_FFMPEG)
96
97 IF(WITH_LCMS)
98         SET(INC ${INC} ${LCMS_INCLUDE_DIR})
99         ADD_DEFINITIONS(-DWITH_LCMS)
100 ENDIF(WITH_LCMS)
101
102 IF(NOT WITH_ELBEEM)
103         ADD_DEFINITIONS(-DDISABLE_ELBEEM)
104 ENDIF(NOT WITH_ELBEEM)
105
106 IF(WITH_FFTW3)
107         ADD_DEFINITIONS(-DFFTW3=1)
108 ENDIF(WITH_FFTW3)
109
110 IF(WITH_SDL)
111         ADD_DEFINITIONS(-DWITH_SDL)
112 ENDIF(WITH_SDL)
113
114 IF(WITH_OPENAL)
115         ADD_DEFINITIONS(-DWITH_OPENAL)
116 ENDIF(WITH_OPENAL)
117
118 IF(WITH_JACK)
119         ADD_DEFINITIONS(-DWITH_JACK)
120 ENDIF(WITH_JACK)
121
122 # Build makesrna executable
123 ADD_EXECUTABLE(makesrna ${SRC} ${INC_FILES})
124 TARGET_LINK_LIBRARIES(makesrna bf_dna)
125
126 # Output rna_*_gen.c
127 # note (linux only): with crashes try add this after COMMAND: valgrind --leak-check=full --track-origins=yes
128 ADD_CUSTOM_COMMAND(
129         OUTPUT ${GENSRC}
130         COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesrna ${CMAKE_CURRENT_BINARY_DIR}/
131         DEPENDS makesrna
132 )
133
134 # Build bf_rna
135 SET(SRC rna_access.c ${GENSRC})
136 BLENDERLIB(bf_rna "${SRC}" "${INC}")
137
138 MESSAGE(STATUS "Configuring makesrna")