enable warning for unused args with gcc: -Wunused-parameter
[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 # this warning on generated files gets annoying
28 STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
29
30 FILE(GLOB DEFSRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c")
31 FILE(GLOB APISRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*_api.c")
32 LIST(REMOVE_ITEM DEFSRC rna_access.c rna_define.c makesrna.c)
33 LIST(REMOVE_ITEM DEFSRC ${APISRC})
34  
35 STRING(REGEX REPLACE "rna_([a-zA-Z0-9_-]*).c" "${CMAKE_CURRENT_BINARY_DIR}/rna_\\1_gen.c" GENSRC "${DEFSRC}")
36
37 SET(SRC
38         makesrna.c
39         rna_define.c
40         ${DEFSRC}
41         ${APISRC}
42         ../../../../intern/guardedalloc/intern/mallocn.c
43         ../../../../intern/guardedalloc/intern/mmap_win.c)
44
45 INCLUDE_DIRECTORIES(
46         ../../../../intern/audaspace/intern
47         ../../../../intern/guardedalloc
48         ../../../../intern/memutil
49         ..
50         ../../makesdna
51         ../../blenkernel
52         ../../blenlib
53         ../../ikplugin
54         ../../windowmanager
55         ../../editors/include
56         ../../gpu
57         ../../imbuf
58         ../../render/extern/include
59         ../../../../extern/glew/include
60         . )
61
62 FILE(GLOB INC_FILES ../*.h ../../makesdna/*.h)
63
64 IF(NOT WITH_PYTHON)
65         ADD_DEFINITIONS(-DDISABLE_PYTHON)
66 ENDIF(NOT WITH_PYTHON)
67
68 IF(WIN32)
69         LIST(APPEND INC ${PTHREADS_INC})
70 ENDIF(WIN32)
71
72 IF(WITH_GAMEENGINE)
73         ADD_DEFINITIONS(-DGAMEBLENDER)
74 ENDIF(WITH_GAMEENGINE)
75
76 IF(WITH_IMAGE_OPENEXR)
77         ADD_DEFINITIONS(-DWITH_OPENEXR)
78 ENDIF(WITH_IMAGE_OPENEXR)
79
80 IF(WITH_IMAGE_TIFF)
81         ADD_DEFINITIONS(-DWITH_TIFF)
82 ENDIF(WITH_IMAGE_TIFF)
83
84 IF(WITH_IMAGE_OPENJPEG)
85         ADD_DEFINITIONS(-DWITH_OPENJPEG)
86 ENDIF(WITH_IMAGE_OPENJPEG)
87
88 IF(WITH_IMAGE_DDS)
89         ADD_DEFINITIONS(-DWITH_DDS)
90 ENDIF(WITH_IMAGE_DDS)
91
92 IF(WITH_IMAGE_CINEON)
93         ADD_DEFINITIONS(-DWITH_CINEON)
94 ENDIF(WITH_IMAGE_CINEON)
95
96 IF(WITH_IMAGE_HDR)
97         ADD_DEFINITIONS(-DWITH_HDR)
98 ENDIF(WITH_IMAGE_HDR)
99
100 IF(WITH_QUICKTIME)
101         LIST(APPEND INC ../../quicktime)
102         ADD_DEFINITIONS(-DWITH_QUICKTIME)
103 ENDIF(WITH_QUICKTIME)
104
105 IF(WITH_FFMPEG)
106         LIST(APPEND INC ${FFMPEG_INC})
107         ADD_DEFINITIONS(-DWITH_FFMPEG)
108 ENDIF(WITH_FFMPEG)
109
110 IF(WITH_LCMS)
111         LIST(APPEND INC ${LCMS_INCLUDE_DIR})
112         ADD_DEFINITIONS(-DWITH_LCMS)
113 ENDIF(WITH_LCMS)
114
115 IF(NOT WITH_FLUID)
116         ADD_DEFINITIONS(-DDISABLE_ELBEEM)
117 ENDIF(NOT WITH_FLUID)
118
119 IF(WITH_FFTW3)
120         ADD_DEFINITIONS(-DFFTW3=1)
121 ENDIF(WITH_FFTW3)
122
123 IF(WITH_SDL)
124         ADD_DEFINITIONS(-DWITH_SDL)
125 ENDIF(WITH_SDL)
126
127 IF(WITH_OPENAL)
128         ADD_DEFINITIONS(-DWITH_OPENAL)
129 ENDIF(WITH_OPENAL)
130
131 IF(WITH_JACK)
132         ADD_DEFINITIONS(-DWITH_JACK)
133 ENDIF(WITH_JACK)
134
135 # Build makesrna executable
136 ADD_EXECUTABLE(makesrna ${SRC} ${INC_FILES})
137 TARGET_LINK_LIBRARIES(makesrna bf_dna)
138
139 # Output rna_*_gen.c
140 # note (linux only): with crashes try add this after COMMAND: valgrind --leak-check=full --track-origins=yes
141 ADD_CUSTOM_COMMAND(
142         OUTPUT ${GENSRC}
143         COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesrna ${CMAKE_CURRENT_BINARY_DIR}/
144         DEPENDS makesrna
145 )
146
147 # Build bf_rna
148 SET(SRC rna_access.c ${GENSRC})
149 BLENDERLIB(bf_rna "${SRC}" "${INC}")
150
151 MESSAGE(STATUS "Configuring makesrna")