Mercurial > hg > orthanc-stone
annotate Resources/CMake/SdlConfiguration.cmake @ 28:a75bb9af7384
sync
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 29 Nov 2016 13:28:06 +0100 |
parents | d9452f5a5346 |
children | 22ab2d8566fa |
rev | line source |
---|---|
0 | 1 if (STATIC_BUILD OR NOT USE_SYSTEM_SDL) |
2 SET(SDL_SOURCES_DIR ${CMAKE_BINARY_DIR}/SDL2-2.0.4) | |
3 SET(SDL_URL "http://www.montefiore.ulg.ac.be/~jodogne/Orthanc/ThirdPartyDownloads/Stone/SDL2-2.0.4.tar.gz") | |
4 SET(SDL_MD5 "44fc4a023349933e7f5d7a582f7b886e") | |
5 | |
6 DownloadPackage(${SDL_MD5} ${SDL_URL} "${SDL_SOURCES_DIR}") | |
7 | |
8 include_directories(${SDL_SOURCES_DIR}/include) | |
9 | |
10 set(TMP "${SDL_SOURCES_DIR}/include/SDL_config_premake.h") | |
11 if (NOT EXISTS "${TMP}") | |
12 file(WRITE "${TMP}" " | |
13 #include \"SDL_platform.h\" | |
14 #define HAVE_STDARG_H 1 | |
15 #define HAVE_STDDEF_H 1 | |
16 #define HAVE_STDINT_H 1 | |
17 ") | |
18 endif() | |
19 | |
20 # General source files | |
21 file(GLOB SDL_SOURCES | |
22 ${SDL_SOURCES_DIR}/src/*.c | |
23 ${SDL_SOURCES_DIR}/src/atomic/*.c | |
24 ${SDL_SOURCES_DIR}/src/audio/*.c | |
25 ${SDL_SOURCES_DIR}/src/cpuinfo/*.c | |
26 ${SDL_SOURCES_DIR}/src/dynapi/*.c | |
27 ${SDL_SOURCES_DIR}/src/events/*.c | |
28 ${SDL_SOURCES_DIR}/src/file/*.c | |
29 ${SDL_SOURCES_DIR}/src/haptic/*.c | |
30 ${SDL_SOURCES_DIR}/src/joystick/*.c | |
31 ${SDL_SOURCES_DIR}/src/libm/*.c | |
32 ${SDL_SOURCES_DIR}/src/power/*.c | |
33 ${SDL_SOURCES_DIR}/src/render/*.c | |
34 ${SDL_SOURCES_DIR}/src/stdlib/*.c | |
35 ${SDL_SOURCES_DIR}/src/thread/*.c | |
36 ${SDL_SOURCES_DIR}/src/timer/*.c | |
37 ${SDL_SOURCES_DIR}/src/video/*.c | |
38 | |
39 ${SDL_SOURCES_DIR}/src/loadso/dummy/*.c | |
40 #${SDL_SOURCES_DIR}/src/timer/dummy/*.c | |
41 ${SDL_SOURCES_DIR}/src/audio/dummy/*.c | |
42 ${SDL_SOURCES_DIR}/src/filesystem/dummy/*.c | |
43 ${SDL_SOURCES_DIR}/src/haptic/dummy/*.c | |
44 ${SDL_SOURCES_DIR}/src/joystick/dummy/*.c | |
45 #${SDL_SOURCES_DIR}/src/main/dummy/*.c | |
46 ${SDL_SOURCES_DIR}/src/video/dummy/*.c | |
47 ) | |
48 | |
49 add_definitions( | |
50 -DUSING_PREMAKE_CONFIG_H=1 | |
51 | |
52 -DSDL_AUDIO_DISABLED=1 | |
53 -DSDL_AUDIO_DRIVER_DUMMY=1 | |
54 -DSDL_FILESYSTEM_DISABLED=1 | |
55 -DSDL_FILESYSTEM_DUMMY=1 | |
56 -DSDL_FILE_DISABLED=1 | |
57 -DSDL_HAPTIC_DISABLED=1 | |
58 -DSDL_JOYSTICK_DISABLED=1 | |
59 | |
60 #-DSDL_THREADS_DISABLED=1 | |
61 ) | |
62 | |
3
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
63 if (CMAKE_SYSTEM_NAME STREQUAL "Linux") |
0 | 64 file(GLOB TMP |
65 ${SDL_SOURCES_DIR}/src/core/linux/*.c | |
66 ${SDL_SOURCES_DIR}/src/loadso/dlopen/*.c | |
67 ${SDL_SOURCES_DIR}/src/render/opengl/*.c | |
68 ${SDL_SOURCES_DIR}/src/render/opengles2/*.c | |
69 ${SDL_SOURCES_DIR}/src/render/software/*.c | |
70 ${SDL_SOURCES_DIR}/src/thread/pthread/*.c | |
71 ${SDL_SOURCES_DIR}/src/timer/unix/*.c | |
72 ${SDL_SOURCES_DIR}/src/video/x11/*.c | |
73 ) | |
74 | |
75 list(APPEND SDL_SOURCES ${TMP}) | |
76 | |
77 add_definitions( | |
78 -DSDL_LOADSO_DLOPEN=1 | |
79 -DSDL_THREAD_PTHREAD=1 | |
80 -DSDL_TIMER_UNIX=1 | |
81 -DSDL_POWER_DISABLED=1 | |
82 | |
83 -DSDL_VIDEO_DRIVER_X11=1 | |
84 -DSDL_VIDEO_OPENGL=1 | |
85 -DSDL_VIDEO_OPENGL_ES2=1 | |
86 -DSDL_VIDEO_RENDER_OGL=1 | |
87 -DSDL_VIDEO_RENDER_OGL_ES2=1 | |
88 -DSDL_VIDEO_OPENGL_GLX=1 | |
89 -DSDL_VIDEO_OPENGL_EGL=1 | |
90 | |
91 -DSDL_ASSEMBLY_ROUTINES=1 | |
92 -DSDL_THREAD_PTHREAD_RECURSIVE_MUTEX=1 | |
93 -DSDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS=1 | |
94 -DHAVE_GCC_SYNC_LOCK_TEST_AND_SET=1 | |
95 ) | |
96 | |
97 link_libraries(X11 Xext) | |
98 | |
3
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
99 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows") |
0 | 100 file(GLOB TMP |
101 ${SDL_SOURCES_DIR}/src/audio/directsound/*.c | |
102 ${SDL_SOURCES_DIR}/src/audio/disk/*.c | |
103 ${SDL_SOURCES_DIR}/src/audio/winmm/*.c | |
104 ${SDL_SOURCES_DIR}/src/joystick/windows/*.c | |
105 ${SDL_SOURCES_DIR}/src/haptic/windows/*.c | |
106 ${SDL_SOURCES_DIR}/src/power/windows/*.c | |
107 | |
108 ${SDL_SOURCES_DIR}/src/main/windows/*.c | |
109 ${SDL_SOURCES_DIR}/src/core/windows/*.c | |
110 ${SDL_SOURCES_DIR}/src/loadso/windows/*.c | |
111 ${SDL_SOURCES_DIR}/src/render/direct3d/*.c | |
112 ${SDL_SOURCES_DIR}/src/render/direct3d11/*.c | |
113 ${SDL_SOURCES_DIR}/src/render/opengl/*.c | |
114 ${SDL_SOURCES_DIR}/src/render/psp/*.c | |
115 ${SDL_SOURCES_DIR}/src/render/opengles/*.c | |
116 ${SDL_SOURCES_DIR}/src/render/opengles2/*.c | |
117 ${SDL_SOURCES_DIR}/src/render/software/*.c | |
118 ${SDL_SOURCES_DIR}/src/thread/generic/SDL_syscond.c # Don't include more files from "thread/generic/*.c"! | |
119 ${SDL_SOURCES_DIR}/src/thread/windows/*.c | |
120 ${SDL_SOURCES_DIR}/src/timer/windows/*.c | |
121 ${SDL_SOURCES_DIR}/src/video/windows/*.c | |
122 ${SDL_SOURCES_DIR}/src/windows/dlopen/*.c | |
123 ) | |
124 | |
125 list(APPEND SDL_SOURCES ${TMP}) | |
126 | |
127 # NB: OpenGL ES headers are not available in MinGW-W64 | |
128 add_definitions( | |
129 -DSDL_LOADSO_WINDOWS=1 | |
130 -DSDL_THREAD_WINDOWS=1 | |
131 -DSDL_TIMER_WINDOWS=1 | |
132 -DSDL_POWER_WINDOWS=1 | |
133 | |
134 -DSDL_VIDEO_OPENGL=1 | |
135 -DSDL_VIDEO_OPENGL_WGL=1 | |
136 -DSDL_VIDEO_RENDER_D3D=1 | |
137 -DSDL_VIDEO_RENDER_OGL=1 | |
138 -DSDL_VIDEO_DRIVER_WINDOWS=1 | |
139 ) | |
140 | |
141 if (MSVC) | |
142 add_definitions( | |
143 -D__FLTUSED__ | |
144 -DHAVE_LIBC=1 | |
145 ) | |
146 else() | |
147 add_definitions( | |
148 -DHAVE_GCC_ATOMICS=1 | |
149 -DSDL_ASSEMBLY_ROUTINES=1 | |
150 ) | |
151 endif() | |
152 | |
153 link_libraries(imm32 winmm version) | |
3
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
154 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
155 elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin") |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
156 file(GLOB TMP |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
157 ${SDL_SOURCES_DIR}/src/loadso/dlopen/*.c |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
158 ${SDL_SOURCES_DIR}/src/render/opengl/*.c |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
159 ${SDL_SOURCES_DIR}/src/render/opengles2/*.c |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
160 ${SDL_SOURCES_DIR}/src/render/software/*.c |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
161 ${SDL_SOURCES_DIR}/src/thread/pthread/*.c |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
162 ${SDL_SOURCES_DIR}/src/timer/unix/*.c |
5
d9452f5a5346
fix build on Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3
diff
changeset
|
163 ${SDL_SOURCES_DIR}/src/video/cocoa/*.m |
3
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
164 ) |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
165 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
166 list(APPEND SDL_SOURCES ${TMP}) |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
167 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
168 add_definitions( |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
169 -DSDL_LOADSO_DLOPEN=1 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
170 -DSDL_THREAD_PTHREAD=1 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
171 -DSDL_TIMER_UNIX=1 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
172 -DSDL_POWER_DISABLED=1 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
173 |
5
d9452f5a5346
fix build on Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3
diff
changeset
|
174 -DSDL_VIDEO_DRIVER_COCOA=1 |
3
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
175 -DSDL_VIDEO_OPENGL=1 |
5
d9452f5a5346
fix build on Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3
diff
changeset
|
176 -DSDL_VIDEO_OPENGL_CGL=1 |
3
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
177 -DSDL_VIDEO_RENDER_OGL=1 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
178 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
179 -DSDL_ASSEMBLY_ROUTINES=1 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
180 -DSDL_THREAD_PTHREAD_RECURSIVE_MUTEX=1 |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
181 ) |
490347621f42
attempt to build for OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
182 |
5
d9452f5a5346
fix build on Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3
diff
changeset
|
183 find_library(CARBON_LIBRARY Carbon) |
d9452f5a5346
fix build on Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3
diff
changeset
|
184 find_library(COCOA_LIBRARY Cocoa) |
d9452f5a5346
fix build on Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3
diff
changeset
|
185 find_library(IOKIT_LIBRARY IOKit) |
d9452f5a5346
fix build on Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3
diff
changeset
|
186 find_library(QUARTZ_LIBRARY QuartzCore) |
d9452f5a5346
fix build on Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3
diff
changeset
|
187 link_libraries(${CARBON_LIBRARY} ${COCOA_LIBRARY} ${IOKIT_LIBRARY} ${QUARTZ_LIBRARY}) |
d9452f5a5346
fix build on Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3
diff
changeset
|
188 |
0 | 189 endif() |
190 | |
191 else() | |
192 pkg_search_module(SDL2 REQUIRED sdl2) | |
193 include_directories(${SDL2_INCLUDE_DIRS}) | |
194 link_libraries(${SDL2_LIBRARIES}) | |
195 endif() |