Mercurial > hg > orthanc-stone
comparison Resources/CMake/SdlConfiguration.cmake @ 0:351ab0da0150
initial commit
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 14 Oct 2016 15:34:11 +0200 |
parents | |
children | 490347621f42 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:351ab0da0150 |
---|---|
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 | |
63 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") | |
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 | |
99 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
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) | |
154 endif() | |
155 | |
156 else() | |
157 pkg_search_module(SDL2 REQUIRED sdl2) | |
158 include_directories(${SDL2_INCLUDE_DIRS}) | |
159 link_libraries(${SDL2_LIBRARIES}) | |
160 endif() |