merge from trunk r37405
[blender.git] / intern / ghost / CMakeLists.txt
1 # $Id$
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 set(INC
28         .
29         ../string
30         ../../source/blender/imbuf
31         ../../source/blender/makesdna
32 )
33
34 set(INC_SYS
35         ${GLEW_INCLUDE_PATH}
36 )
37
38 set(SRC
39         intern/GHOST_Buttons.cpp
40         intern/GHOST_CallbackEventConsumer.cpp
41         intern/GHOST_C-api.cpp
42         intern/GHOST_Path-api.cpp
43         intern/GHOST_DisplayManager.cpp
44         intern/GHOST_EventManager.cpp
45         intern/GHOST_EventPrinter.cpp
46         intern/GHOST_ISystem.cpp
47         intern/GHOST_ISystemPaths.cpp
48         intern/GHOST_ModifierKeys.cpp
49         intern/GHOST_NDOFManager.cpp
50         intern/GHOST_Path-api.cpp
51         intern/GHOST_Rect.cpp
52         intern/GHOST_System.cpp
53         intern/GHOST_TimerManager.cpp
54         intern/GHOST_Window.cpp
55         intern/GHOST_WindowManager.cpp
56
57         GHOST_C-api.h
58         GHOST_IEvent.h
59         GHOST_IEventConsumer.h
60         GHOST_ISystem.h
61         GHOST_ISystemPaths.h
62         GHOST_ITimerTask.h
63         GHOST_IWindow.h
64         GHOST_Path-api.h
65         GHOST_Rect.h
66         GHOST_Types.h
67         intern/GHOST_Buttons.h
68         intern/GHOST_CallbackEventConsumer.h
69         intern/GHOST_Debug.h
70         intern/GHOST_DisplayManager.h
71         intern/GHOST_Event.h
72         intern/GHOST_EventButton.h
73         intern/GHOST_EventCursor.h
74         intern/GHOST_EventDragnDrop.h
75         intern/GHOST_EventKey.h
76         intern/GHOST_EventManager.h
77         intern/GHOST_EventNDOF.h
78         intern/GHOST_EventPrinter.h
79         intern/GHOST_EventString.h
80         intern/GHOST_EventTrackpad.h
81         intern/GHOST_EventWheel.h
82         intern/GHOST_ModifierKeys.h
83         intern/GHOST_NDOFManager.h
84         intern/GHOST_System.h
85         intern/GHOST_SystemPaths.h
86         intern/GHOST_TimerManager.h
87         intern/GHOST_TimerTask.h
88         intern/GHOST_Window.h
89         intern/GHOST_WindowManager.h
90 )
91
92 if(WITH_HEADLESS)
93         list(APPEND SRC
94                 intern/GHOST_DisplayManagerNULL.h
95                 intern/GHOST_SystemNULL.h
96                 intern/GHOST_WindowNULL.h
97         )
98         add_definitions(-DWITH_HEADLESS)
99
100         # ack, this is still system dependant
101         if(APPLE)
102                 if(WITH_COCOA)
103                         list(APPEND SRC
104                                 intern/GHOST_SystemPathsCocoa.mm
105                                 intern/GHOST_SystemPathsCocoa.h
106                         )
107                 else()
108                         list(APPEND SRC
109                                 intern/GHOST_SystemPathsCarbon.cpp
110                                 intern/GHOST_SystemPathsCarbon.h
111                         )
112                 endif()
113         elseif(UNIX)
114                 list(APPEND SRC
115                         intern/GHOST_SystemPathsX11.cpp
116                         intern/GHOST_SystemPathsX11.h
117                 )
118         elseif(WIN32)
119
120                 list(APPEND SRC
121                         intern/GHOST_SystemPathsWin32.cpp
122
123                         intern/GHOST_SystemPathsWin32.h
124                 )
125         endif()
126
127 elseif(APPLE)
128         if(WITH_COCOA)
129                 list(APPEND SRC
130                         intern/GHOST_DisplayManagerCocoa.mm
131                         intern/GHOST_SystemCocoa.mm
132                         intern/GHOST_SystemPathsCocoa.mm
133                         intern/GHOST_WindowCocoa.mm
134                         
135                         intern/GHOST_DisplayManagerCocoa.h
136                         intern/GHOST_SystemCocoa.h
137                         intern/GHOST_SystemPathsCocoa.h
138                         intern/GHOST_WindowCocoa.h
139                 )
140         else()
141                 list(APPEND SRC
142                         intern/GHOST_DisplayManagerCarbon.cpp
143                         intern/GHOST_SystemCarbon.cpp
144                         intern/GHOST_SystemPathsCarbon.cpp
145                         intern/GHOST_WindowCarbon.cpp
146
147                         intern/GHOST_DisplayManagerCarbon.h
148                         intern/GHOST_SystemCarbon.h
149                         intern/GHOST_SystemPathsCarbon.h
150                         intern/GHOST_WindowCarbon.h
151                 )
152         endif()
153
154         if(WITH_CODEC_QUICKTIME)
155                 add_definitions(-DWITH_QUICKTIME)
156         endif()
157
158 elseif(UNIX)
159
160         if(WITH_X11_XINPUT)
161                 add_definitions(-DWITH_X11_XINPUT)
162         endif()
163
164         list(APPEND INC_SYS ${X11_X11_INCLUDE_PATH})
165
166         list(APPEND SRC
167                 intern/GHOST_DisplayManagerX11.cpp
168                 intern/GHOST_SystemX11.cpp
169                 intern/GHOST_SystemPathsX11.cpp
170                 intern/GHOST_WindowX11.cpp
171
172                 intern/GHOST_DisplayManagerX11.h
173                 intern/GHOST_SystemX11.h
174                 intern/GHOST_SystemPathsX11.h
175                 intern/GHOST_WindowX11.h
176         )
177
178         if(NOT WITH_INSTALL_PORTABLE)
179                 add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}")
180         endif()
181
182         if(X11_XF86keysym_INCLUDE_PATH)
183                 add_definitions(-DWITH_XF86KEYSYM)
184                 list(APPEND INC_SYS ${X11_XF86keysym_INCLUDE_PATH})
185         endif()
186
187 elseif(WIN32)
188         if(MSVC)
189                 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
190         endif()
191
192         list(APPEND INC_SYS ${WINTAB_INC})
193
194         list(APPEND SRC
195                 intern/GHOST_DisplayManagerWin32.cpp
196                 intern/GHOST_SystemWin32.cpp
197                 intern/GHOST_SystemPathsWin32.cpp
198                 intern/GHOST_WindowWin32.cpp
199                 intern/GHOST_DropTargetWin32.cpp
200
201                 intern/GHOST_DisplayManagerWin32.h
202                 intern/GHOST_DropTargetWin32.h
203                 intern/GHOST_SystemWin32.h
204                 intern/GHOST_SystemPathsWin32.h
205                 intern/GHOST_WindowWin32.h
206                 intern/GHOST_TaskbarWin32.h
207         )
208 endif()
209
210 blender_add_lib(bf_intern_ghost "${SRC}" "${INC}" "${INC_SYS}")
211