curses 1.2.6 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +19 -0
  3. data/.github/workflows/ubuntu.yml +26 -0
  4. data/.github/workflows/windows.yml +28 -0
  5. data/.gitmodules +1 -1
  6. data/.travis.yml +6 -3
  7. data/History.md +40 -0
  8. data/README.md +4 -1
  9. data/Rakefile +0 -83
  10. data/curses.gemspec +2 -3
  11. data/ext/curses/curses.c +1271 -151
  12. data/ext/curses/extconf.rb +140 -17
  13. data/lib/curses.rb +5 -12
  14. data/sample/form.rb +52 -0
  15. data/sample/menu.rb +1 -1
  16. data/vendor/PDCurses/.gitignore +47 -0
  17. data/vendor/PDCurses/.travis.yml +49 -0
  18. data/vendor/PDCurses/CMakeLists.txt +68 -0
  19. data/vendor/PDCurses/HISTORY.md +2036 -0
  20. data/vendor/PDCurses/IMPLEMNT.md +327 -0
  21. data/vendor/PDCurses/README.md +77 -0
  22. data/vendor/PDCurses/acs_defs.h +265 -0
  23. data/vendor/PDCurses/appveyor.yml +218 -0
  24. data/vendor/PDCurses/cmake/README.md +71 -0
  25. data/vendor/PDCurses/cmake/build_dependencies.cmake +178 -0
  26. data/vendor/PDCurses/cmake/build_options.cmake +25 -0
  27. data/vendor/PDCurses/cmake/dll_version.cmake +26 -0
  28. data/vendor/PDCurses/cmake/gen_config_header.cmake +43 -0
  29. data/vendor/PDCurses/cmake/get_version.cmake +17 -0
  30. data/vendor/PDCurses/cmake/make_uninstall.cmake +19 -0
  31. data/vendor/PDCurses/cmake/project_common.cmake +121 -0
  32. data/vendor/PDCurses/cmake/resource.in.cmake +52 -0
  33. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +83 -0
  34. data/vendor/PDCurses/cmake/target_arch.cmake +36 -0
  35. data/vendor/PDCurses/cmake/version.in.cmake +73 -0
  36. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +96 -0
  37. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +106 -0
  38. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +105 -0
  39. data/vendor/PDCurses/curses.h +1846 -0
  40. data/vendor/PDCurses/curspriv.h +134 -0
  41. data/vendor/PDCurses/demos/README.md +25 -0
  42. data/vendor/PDCurses/demos/firework.c +144 -0
  43. data/vendor/PDCurses/demos/newtest.c +581 -0
  44. data/vendor/PDCurses/demos/ozdemo.c +447 -0
  45. data/vendor/PDCurses/demos/ptest.c +283 -0
  46. data/vendor/PDCurses/demos/rain.c +157 -0
  47. data/vendor/PDCurses/demos/testcurs.c +1607 -0
  48. data/vendor/PDCurses/demos/tui.c +1048 -0
  49. data/vendor/PDCurses/demos/tui.h +65 -0
  50. data/vendor/PDCurses/demos/tuidemo.c +233 -0
  51. data/vendor/PDCurses/demos/version.c +61 -0
  52. data/vendor/PDCurses/demos/worm.c +432 -0
  53. data/vendor/PDCurses/demos/xmas.c +955 -0
  54. data/vendor/PDCurses/dos/CMakeLists.txt +47 -0
  55. data/vendor/PDCurses/dos/Makefile.bcc +83 -0
  56. data/vendor/PDCurses/dos/Makefile.dmc +257 -0
  57. data/vendor/PDCurses/dos/Makefile.msc +113 -0
  58. data/vendor/PDCurses/dos/Makefile.wcc +107 -0
  59. data/vendor/PDCurses/dos/README.md +51 -0
  60. data/vendor/PDCurses/dos/bccdos.lrf +9 -0
  61. data/vendor/PDCurses/dos/mscdos.lrf +50 -0
  62. data/vendor/PDCurses/dos/pdcclip.c +132 -0
  63. data/vendor/PDCurses/dos/pdcdisp.c +135 -0
  64. data/vendor/PDCurses/dos/pdcdos.h +194 -0
  65. data/vendor/PDCurses/dos/pdcgetsc.c +98 -0
  66. data/vendor/PDCurses/dos/pdckbd.c +513 -0
  67. data/vendor/PDCurses/dos/pdcscrn.c +785 -0
  68. data/vendor/PDCurses/dos/pdcsetsc.c +101 -0
  69. data/vendor/PDCurses/dos/pdcutil.c +212 -0
  70. data/vendor/PDCurses/libobjs.mif +26 -0
  71. data/vendor/PDCurses/makedist.mif +20 -0
  72. data/vendor/PDCurses/man/README.md +21 -0
  73. data/vendor/PDCurses/man/intro.md +361 -0
  74. data/vendor/PDCurses/man/manext.c +119 -0
  75. data/vendor/PDCurses/man/sdl.md +152 -0
  76. data/vendor/PDCurses/man/sdl2.md +58 -0
  77. data/vendor/PDCurses/man/x11.md +407 -0
  78. data/vendor/PDCurses/ncurses/CMakeLists.txt +66 -0
  79. data/vendor/PDCurses/ncurses/README.md +26 -0
  80. data/vendor/PDCurses/ncurses/makefile +29 -0
  81. data/vendor/PDCurses/os2/CMakeLists.txt +41 -0
  82. data/vendor/PDCurses/os2/Makefile.bcc +90 -0
  83. data/vendor/PDCurses/os2/Makefile.wcc +43 -0
  84. data/vendor/PDCurses/os2/README.md +43 -0
  85. data/vendor/PDCurses/os2/iccos2.lrf +50 -0
  86. data/vendor/PDCurses/os2/iccos2.mak +256 -0
  87. data/vendor/PDCurses/os2/pdcclip.c +188 -0
  88. data/vendor/PDCurses/os2/pdcdisp.c +93 -0
  89. data/vendor/PDCurses/os2/pdcgetsc.c +89 -0
  90. data/vendor/PDCurses/os2/pdckbd.c +521 -0
  91. data/vendor/PDCurses/os2/pdcos2.h +55 -0
  92. data/vendor/PDCurses/os2/pdcscrn.c +449 -0
  93. data/vendor/PDCurses/os2/pdcsetsc.c +112 -0
  94. data/vendor/PDCurses/os2/pdcutil.c +52 -0
  95. data/vendor/PDCurses/panel.h +56 -0
  96. data/vendor/PDCurses/pdcurses/README.md +25 -0
  97. data/vendor/PDCurses/pdcurses/addch.c +693 -0
  98. data/vendor/PDCurses/pdcurses/addchstr.c +245 -0
  99. data/vendor/PDCurses/pdcurses/addstr.c +240 -0
  100. data/vendor/PDCurses/pdcurses/attr.c +359 -0
  101. data/vendor/PDCurses/pdcurses/beep.c +68 -0
  102. data/vendor/PDCurses/pdcurses/bkgd.c +223 -0
  103. data/vendor/PDCurses/pdcurses/border.c +411 -0
  104. data/vendor/PDCurses/pdcurses/clear.c +159 -0
  105. data/vendor/PDCurses/pdcurses/color.c +298 -0
  106. data/vendor/PDCurses/pdcurses/debug.c +109 -0
  107. data/vendor/PDCurses/pdcurses/delch.c +96 -0
  108. data/vendor/PDCurses/pdcurses/deleteln.c +211 -0
  109. data/vendor/PDCurses/pdcurses/deprec.c +27 -0
  110. data/vendor/PDCurses/pdcurses/getch.c +417 -0
  111. data/vendor/PDCurses/pdcurses/getstr.c +474 -0
  112. data/vendor/PDCurses/pdcurses/getyx.c +139 -0
  113. data/vendor/PDCurses/pdcurses/inch.c +127 -0
  114. data/vendor/PDCurses/pdcurses/inchstr.c +214 -0
  115. data/vendor/PDCurses/pdcurses/initscr.c +367 -0
  116. data/vendor/PDCurses/pdcurses/inopts.c +324 -0
  117. data/vendor/PDCurses/pdcurses/insch.c +271 -0
  118. data/vendor/PDCurses/pdcurses/insstr.c +264 -0
  119. data/vendor/PDCurses/pdcurses/instr.c +246 -0
  120. data/vendor/PDCurses/pdcurses/kernel.c +259 -0
  121. data/vendor/PDCurses/pdcurses/keyname.c +157 -0
  122. data/vendor/PDCurses/pdcurses/mouse.c +438 -0
  123. data/vendor/PDCurses/pdcurses/move.c +57 -0
  124. data/vendor/PDCurses/pdcurses/outopts.c +159 -0
  125. data/vendor/PDCurses/pdcurses/overlay.c +214 -0
  126. data/vendor/PDCurses/pdcurses/pad.c +260 -0
  127. data/vendor/PDCurses/pdcurses/panel.c +633 -0
  128. data/vendor/PDCurses/pdcurses/printw.c +126 -0
  129. data/vendor/PDCurses/pdcurses/refresh.c +279 -0
  130. data/vendor/PDCurses/pdcurses/scanw.c +578 -0
  131. data/vendor/PDCurses/pdcurses/scr_dump.c +213 -0
  132. data/vendor/PDCurses/pdcurses/scroll.c +101 -0
  133. data/vendor/PDCurses/pdcurses/slk.c +591 -0
  134. data/vendor/PDCurses/pdcurses/termattr.c +182 -0
  135. data/vendor/PDCurses/pdcurses/terminfo.c +217 -0
  136. data/vendor/PDCurses/pdcurses/touch.c +163 -0
  137. data/vendor/PDCurses/pdcurses/util.c +312 -0
  138. data/vendor/PDCurses/pdcurses/window.c +569 -0
  139. data/vendor/PDCurses/sdl1/Makefile.mng +110 -0
  140. data/vendor/PDCurses/sdl1/README.md +31 -0
  141. data/vendor/PDCurses/sdl1/deffont.h +385 -0
  142. data/vendor/PDCurses/sdl1/deficon.h +23 -0
  143. data/vendor/PDCurses/sdl1/pdcclip.c +131 -0
  144. data/vendor/PDCurses/sdl1/pdcdisp.c +373 -0
  145. data/vendor/PDCurses/sdl1/pdcgetsc.c +30 -0
  146. data/vendor/PDCurses/sdl1/pdckbd.c +405 -0
  147. data/vendor/PDCurses/sdl1/pdcscrn.c +414 -0
  148. data/vendor/PDCurses/sdl1/pdcsdl.h +31 -0
  149. data/vendor/PDCurses/sdl1/pdcsetsc.c +64 -0
  150. data/vendor/PDCurses/sdl1/pdcutil.c +40 -0
  151. data/vendor/PDCurses/sdl1/sdltest.c +79 -0
  152. data/vendor/PDCurses/sdl2/CMakeLists.txt +76 -0
  153. data/vendor/PDCurses/sdl2/Makefile.vc +164 -0
  154. data/vendor/PDCurses/sdl2/README.md +34 -0
  155. data/vendor/PDCurses/sdl2/deffont.h +385 -0
  156. data/vendor/PDCurses/sdl2/deficon.h +23 -0
  157. data/vendor/PDCurses/sdl2/pdcclip.c +93 -0
  158. data/vendor/PDCurses/sdl2/pdcdisp.c +534 -0
  159. data/vendor/PDCurses/sdl2/pdcgetsc.c +30 -0
  160. data/vendor/PDCurses/sdl2/pdckbd.c +480 -0
  161. data/vendor/PDCurses/sdl2/pdcscrn.c +443 -0
  162. data/vendor/PDCurses/sdl2/pdcsdl.h +33 -0
  163. data/vendor/PDCurses/sdl2/pdcsetsc.c +67 -0
  164. data/vendor/PDCurses/sdl2/pdcutil.c +39 -0
  165. data/vendor/PDCurses/sdl2/sdltest.c +81 -0
  166. data/vendor/PDCurses/term.h +48 -0
  167. data/vendor/PDCurses/version.mif +7 -0
  168. data/vendor/PDCurses/vt/CMakeLists.txt +28 -0
  169. data/vendor/PDCurses/vt/Makefile.bcc +111 -0
  170. data/vendor/PDCurses/vt/Makefile.dmc +258 -0
  171. data/vendor/PDCurses/vt/Makefile.vc +144 -0
  172. data/vendor/PDCurses/vt/Makefile.wcc +107 -0
  173. data/vendor/PDCurses/vt/README.md +64 -0
  174. data/vendor/PDCurses/vt/pdcclip.c +20 -0
  175. data/vendor/PDCurses/vt/pdcdisp.c +284 -0
  176. data/vendor/PDCurses/vt/pdcgetsc.c +27 -0
  177. data/vendor/PDCurses/vt/pdckbd.c +394 -0
  178. data/vendor/PDCurses/vt/pdcscrn.c +434 -0
  179. data/vendor/PDCurses/vt/pdcsetsc.c +45 -0
  180. data/vendor/PDCurses/vt/pdcutil.c +43 -0
  181. data/vendor/PDCurses/vt/pdcvt.h +16 -0
  182. data/vendor/PDCurses/watcom.mif +68 -0
  183. data/vendor/PDCurses/wincon/CMakeLists.txt +27 -0
  184. data/vendor/PDCurses/wincon/Makefile.bcc +88 -0
  185. data/vendor/PDCurses/wincon/Makefile.dmc +256 -0
  186. data/vendor/PDCurses/wincon/Makefile.lcc +273 -0
  187. data/vendor/PDCurses/wincon/Makefile.mng +176 -0
  188. data/vendor/PDCurses/wincon/Makefile.vc +144 -0
  189. data/vendor/PDCurses/wincon/Makefile.wcc +51 -0
  190. data/vendor/PDCurses/wincon/README.md +85 -0
  191. data/vendor/PDCurses/wincon/pdcclip.c +174 -0
  192. data/vendor/PDCurses/wincon/pdcdisp.c +143 -0
  193. data/vendor/PDCurses/wincon/pdcgetsc.c +55 -0
  194. data/vendor/PDCurses/wincon/pdckbd.c +786 -0
  195. data/vendor/PDCurses/wincon/pdcscrn.c +717 -0
  196. data/vendor/PDCurses/wincon/pdcsetsc.c +91 -0
  197. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  198. data/vendor/PDCurses/wincon/pdcurses.rc +28 -0
  199. data/vendor/PDCurses/wincon/pdcutil.c +41 -0
  200. data/vendor/PDCurses/wincon/pdcwin.h +31 -0
  201. data/vendor/PDCurses/wingui/CMakeLists.txt +27 -0
  202. data/vendor/PDCurses/wingui/Makefile.bcc +85 -0
  203. data/vendor/PDCurses/wingui/Makefile.dmc +259 -0
  204. data/vendor/PDCurses/wingui/Makefile.lcc +273 -0
  205. data/vendor/PDCurses/wingui/Makefile.mng +171 -0
  206. data/vendor/PDCurses/wingui/Makefile.vc +144 -0
  207. data/vendor/PDCurses/wingui/Makefile.wcc +51 -0
  208. data/vendor/PDCurses/wingui/README.md +93 -0
  209. data/vendor/PDCurses/wingui/pdcclip.c +174 -0
  210. data/vendor/PDCurses/wingui/pdcdisp.c +718 -0
  211. data/vendor/PDCurses/wingui/pdcgetsc.c +30 -0
  212. data/vendor/PDCurses/wingui/pdckbd.c +143 -0
  213. data/vendor/PDCurses/wingui/pdcscrn.c +2797 -0
  214. data/vendor/PDCurses/wingui/pdcsetsc.c +89 -0
  215. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  216. data/vendor/PDCurses/wingui/pdcurses.rc +28 -0
  217. data/vendor/PDCurses/wingui/pdcutil.c +61 -0
  218. data/vendor/PDCurses/wingui/pdcwin.h +122 -0
  219. data/vendor/PDCurses/x11/Makefile.in +754 -0
  220. data/vendor/PDCurses/x11/PDCurses.spec +82 -0
  221. data/vendor/PDCurses/x11/README.md +62 -0
  222. data/vendor/PDCurses/x11/ScrollBox.c +319 -0
  223. data/vendor/PDCurses/x11/ScrollBox.h +51 -0
  224. data/vendor/PDCurses/x11/ScrollBoxP.h +70 -0
  225. data/vendor/PDCurses/x11/aclocal.m4 +994 -0
  226. data/vendor/PDCurses/x11/big_icon.xbm +46 -0
  227. data/vendor/PDCurses/x11/compose.h +201 -0
  228. data/vendor/PDCurses/x11/config.guess +1500 -0
  229. data/vendor/PDCurses/x11/config.h.in +100 -0
  230. data/vendor/PDCurses/x11/config.sub +1616 -0
  231. data/vendor/PDCurses/x11/configure +6700 -0
  232. data/vendor/PDCurses/x11/configure.ac +295 -0
  233. data/vendor/PDCurses/x11/debian/changelog +6 -0
  234. data/vendor/PDCurses/x11/debian/compat +1 -0
  235. data/vendor/PDCurses/x11/debian/control +11 -0
  236. data/vendor/PDCurses/x11/debian/copyright +27 -0
  237. data/vendor/PDCurses/x11/debian/rules +98 -0
  238. data/vendor/PDCurses/x11/install-sh +253 -0
  239. data/vendor/PDCurses/x11/little_icon.xbm +14 -0
  240. data/vendor/PDCurses/x11/ncurses_cfg.h +45 -0
  241. data/vendor/PDCurses/x11/pdcclip.c +173 -0
  242. data/vendor/PDCurses/x11/pdcdisp.c +85 -0
  243. data/vendor/PDCurses/x11/pdcgetsc.c +28 -0
  244. data/vendor/PDCurses/x11/pdckbd.c +104 -0
  245. data/vendor/PDCurses/x11/pdcscrn.c +258 -0
  246. data/vendor/PDCurses/x11/pdcsetsc.c +95 -0
  247. data/vendor/PDCurses/x11/pdcutil.c +52 -0
  248. data/vendor/PDCurses/x11/pdcx11.c +316 -0
  249. data/vendor/PDCurses/x11/pdcx11.h +191 -0
  250. data/vendor/PDCurses/x11/sb.c +155 -0
  251. data/vendor/PDCurses/x11/x11.c +3686 -0
  252. data/vendor/PDCurses/x11/xcurses-config.in +81 -0
  253. metadata +255 -21
@@ -0,0 +1,218 @@
1
+ version: 4.0.2.{build}
2
+
3
+ shallow_clone: true
4
+ clone_depth: 1
5
+
6
+ configuration:
7
+ #- MinSizeRel // https://bugzilla.libsdl.org/show_bug.cgi?id=4233
8
+ - Release
9
+ - Debug
10
+
11
+ environment:
12
+ DIST_DIR: '%APPVEYOR_BUILD_FOLDER%\dist'
13
+ WATCOM: C:\Tools\watcom
14
+
15
+ matrix:
16
+
17
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
18
+ TOOLCHAIN: Watcom20
19
+ TARGET: os2
20
+ ARCHIVE: WATCOM20_%CONFIGURATION%_OS2V2_%APPVEYOR_BUILD_NUMBER%
21
+ GENERATOR: 'Watcom WMake'
22
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_os2v2_toolchain.cmake'
23
+ CMAKE_ARGS: '-DPDC_OS2_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
24
+
25
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
26
+ TOOLCHAIN: Watcom19
27
+ TARGET: dos
28
+ ARCHIVE: WATCOM19_%CONFIGURATION%_DOS16_%APPVEYOR_BUILD_NUMBER%
29
+ GENERATOR: 'Watcom WMake'
30
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos16_toolchain.cmake'
31
+ CMAKE_ARGS: '-DPDC_DOS_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
32
+
33
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
34
+ TOOLCHAIN: Watcom19
35
+ TARGET: dos
36
+ ARCHIVE: WATCOM19_%CONFIGURATION%_DOS32_%APPVEYOR_BUILD_NUMBER%
37
+ GENERATOR: 'Watcom WMake'
38
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos32_toolchain.cmake'
39
+ CMAKE_ARGS: '-DPDC_DOS_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
40
+
41
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
42
+ TOOLCHAIN: Watcom20
43
+ TARGET: dos
44
+ ARCHIVE: WATCOM20_%CONFIGURATION%_DOS16_%APPVEYOR_BUILD_NUMBER%
45
+ GENERATOR: 'Watcom WMake'
46
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos16_toolchain.cmake'
47
+ CMAKE_ARGS: '-DPDC_DOS_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
48
+
49
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
50
+ TOOLCHAIN: Watcom20
51
+ TARGET: dos
52
+ ARCHIVE: WATCOM20_%CONFIGURATION%_DOS32_%APPVEYOR_BUILD_NUMBER%
53
+ GENERATOR: 'Watcom WMake'
54
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos32_toolchain.cmake'
55
+ CMAKE_ARGS: '-DPDC_DOS_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
56
+
57
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
58
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
59
+ ARCHITECTURE: amd64_x86
60
+ ARCHIVE: VS2015_%CONFIGURATION%_WIDE_x86_%APPVEYOR_BUILD_NUMBER%
61
+ GENERATOR: 'NMake Makefiles'
62
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
63
+
64
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
65
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
66
+ ARCHITECTURE: amd64_x86
67
+ ARCHIVE: VS2015_%CONFIGURATION%_UTF8_x86_%APPVEYOR_BUILD_NUMBER%
68
+ GENERATOR: 'NMake Makefiles'
69
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
70
+
71
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
72
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
73
+ ARCHITECTURE: amd64
74
+ ARCHIVE: VS2015_%CONFIGURATION%_WIDE_x64_%APPVEYOR_BUILD_NUMBER%
75
+ GENERATOR: 'NMake Makefiles'
76
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
77
+
78
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
79
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
80
+ ARCHITECTURE: amd64
81
+ ARCHIVE: VS2015_%CONFIGURATION%_UTF8_x64_%APPVEYOR_BUILD_NUMBER%
82
+ GENERATOR: 'NMake Makefiles'
83
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
84
+
85
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
86
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
87
+ ARCHITECTURE: amd64_arm
88
+ ARCHIVE: VS2015_%CONFIGURATION%_WIDE_ARM_%APPVEYOR_BUILD_NUMBER%
89
+ GENERATOR: 'NMake Makefiles'
90
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
91
+
92
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
93
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
94
+ ARCHITECTURE: amd64_arm
95
+ ARCHIVE: VS2015_%CONFIGURATION%_UTF8_ARM_%APPVEYOR_BUILD_NUMBER%
96
+ GENERATOR: 'NMake Makefiles'
97
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
98
+
99
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
100
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm.bat'
101
+ ARCHITECTURE: amd64_arm
102
+ ARCHIVE: VS2017_%CONFIGURATION%_WIDE_ARM_%APPVEYOR_BUILD_NUMBER%
103
+ GENERATOR: 'NMake Makefiles'
104
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
105
+
106
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
107
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm.bat'
108
+ ARCHITECTURE: amd64_arm
109
+ ARCHIVE: VS2017_%CONFIGURATION%_UTF8_ARM_%APPVEYOR_BUILD_NUMBER%
110
+ GENERATOR: 'NMake Makefiles'
111
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
112
+
113
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
114
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat'
115
+ ARCHITECTURE: amd64_arm64
116
+ ARCHIVE: VS2017_%CONFIGURATION%_WIDE_ARM64_%APPVEYOR_BUILD_NUMBER%
117
+ GENERATOR: 'NMake Makefiles'
118
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
119
+
120
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
121
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat'
122
+ ARCHITECTURE: amd64_arm64
123
+ ARCHIVE: VS2017_%CONFIGURATION%_UTF8_ARM64_%APPVEYOR_BUILD_NUMBER%
124
+ GENERATOR: 'NMake Makefiles'
125
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
126
+
127
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
128
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat'
129
+ ARCHITECTURE: amd64_x86
130
+ ARCHIVE: VS2017_%CONFIGURATION%_WIDE_x86_%APPVEYOR_BUILD_NUMBER%
131
+ GENERATOR: 'NMake Makefiles'
132
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
133
+
134
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
135
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat'
136
+ ARCHITECTURE: amd64_x86
137
+ ARCHIVE: VS2017_%CONFIGURATION%_UTF8_x86_%APPVEYOR_BUILD_NUMBER%
138
+ GENERATOR: 'NMake Makefiles'
139
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
140
+
141
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
142
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat'
143
+ ARCHITECTURE: amd64
144
+ ARCHIVE: VS2017_%CONFIGURATION%_WIDE_x64_%APPVEYOR_BUILD_NUMBER%
145
+ GENERATOR: 'NMake Makefiles'
146
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
147
+
148
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
149
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat'
150
+ ARCHITECTURE: amd64
151
+ ARCHIVE: VS2017_%CONFIGURATION%_UTF8_x64_%APPVEYOR_BUILD_NUMBER%
152
+ GENERATOR: 'NMake Makefiles'
153
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
154
+
155
+ init:
156
+ - echo BUILD_NUMBER=%APPVEYOR_BUILD_NUMBER%
157
+
158
+ install:
159
+
160
+ # Open Watcom
161
+ - if "%TOOLCHAIN%"=="Watcom19" ( echo Installing Open Watcom 1.9 )
162
+ - if "%TOOLCHAIN%"=="Watcom19" ( cd %APPVEYOR_BUILD_FOLDER% )
163
+ - if "%TOOLCHAIN%"=="Watcom19" ( set "OPEN_WATCOM_URL=https://sourceforge.net/projects/openwatcom/files/open-watcom-1.9/open-watcom-c-win32-1.9.exe" )
164
+ - if "%TOOLCHAIN%"=="Watcom19" ( appveyor DownloadFile "%OPEN_WATCOM_URL%" -FileName open-watcom-c-win32-1.9.exe )
165
+ # todo - check the md5 here...
166
+ - if "%TOOLCHAIN%"=="Watcom19" ( 7z x -y open-watcom-c-win32-1.9.exe -o"%WATCOM%" > nul )
167
+ - if "%TOOLCHAIN%"=="Watcom19" ( set "PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%" )
168
+
169
+ - if "%TOOLCHAIN%"=="Watcom20" ( echo Installing Open Watcom 2.0 )
170
+ - if "%TOOLCHAIN%"=="Watcom20" ( cd %APPVEYOR_BUILD_FOLDER% )
171
+ - if "%TOOLCHAIN%"=="Watcom20" ( set "OPEN_WATCOM_URL=https://github.com/open-watcom/travis-ci-ow-builds/archive/master.zip" )
172
+ - if "%TOOLCHAIN%"=="Watcom20" ( appveyor DownloadFile "%OPEN_WATCOM_URL%" -FileName master.zip )
173
+ - if "%TOOLCHAIN%"=="Watcom20" ( 7z x -y master.zip -o"%WATCOM%" > nul )
174
+ # todo - check the md5 here...
175
+ - if "%TOOLCHAIN%"=="Watcom20" ( set "WATCOM=%WATCOM%\travis-ci-ow-builds-master" )
176
+ - if "%TOOLCHAIN%"=="Watcom20" ( set "PATH=%WATCOM%\BINNT64;%WATCOM%\BINNT;%PATH%" )
177
+
178
+ # DOS BAT file
179
+ - if "%TARGET%"=="dos" ( set "EDPATH=%WATCOM%\EDDAT" )
180
+ - if "%TARGET%"=="dos" ( set "INCLUDE=%WATCOM%\H;%WATCOM%\H\NT" )
181
+
182
+ # OS/2 CMD file
183
+ - if "%TARGET%"=="os2" ( set "BEGINLIBPATH=%WATCOM%\BINP\DLL" )
184
+ - if "%TARGET%"=="os2" ( set "EDPATH=%WATCOM%\EDDAT" )
185
+ - if "%TARGET%"=="os2" ( set "INCLUDE=%WATCOM%\H;%WATCOM%\H\OS2" )
186
+
187
+ - cmake --version
188
+
189
+ build:
190
+ parallel: true
191
+
192
+ build_script:
193
+
194
+ - if exist "%VCVARSALL%" ( call "%VCVARSALL%" %ARCHITECTURE% )
195
+
196
+ - if "%CONFIGURATION%"=="Debug" ( set PDCDEBUG=ON ) else ( set PDCDEBUG=OFF )
197
+ - if "%CONFIGURATION%"=="Debug" ( set PDCDEBUG=ON ) else ( set PDCDEBUG=OFF )
198
+
199
+ - cd %APPVEYOR_BUILD_FOLDER%
200
+ - mkdir build
201
+ - cd build
202
+
203
+ - cmake %CMAKE_TOOLCHAIN_ARGS% -G"%GENERATOR%" -DCMAKE_VERBOSE_MAKEFILE=TRUE
204
+ -DCMAKE_BUILD_TYPE=%CONFIGURATION%
205
+ "-DCMAKE_INSTALL_PREFIX=%DIST_DIR%\%APPVEYOR_BUILD_WORKER_IMAGE%"
206
+ -DBUILD_NUMBER=%APPVEYOR_BUILD_NUMBER% -DPDCDEBUG=%PDCDEBUG% %CMAKE_ARGS%
207
+ ..
208
+
209
+ cmake --build . --config %CONFIGURATION% --target install
210
+
211
+ after_build:
212
+ - cd %DIST_DIR%
213
+ - 7z a -tzip %ARCHIVE%.zip "%APPVEYOR_BUILD_WORKER_IMAGE%"
214
+ - certutil -hashfile %ARCHIVE%.zip MD5 > %ARCHIVE%.md5
215
+
216
+ artifacts:
217
+ - path: dist\$(ARCHIVE).zip
218
+ - path: dist\$(ARCHIVE).md5
@@ -0,0 +1,71 @@
1
+
2
+ CMake Options
3
+ -------------
4
+
5
+ option(PDC_BUILD_SHARED "Build dynamic libs for pdcurses" ON)
6
+ option(PDC_UTF8 "Force to UTF8" OFF)
7
+ option(PDC_WIDE "Wide - pulls in sdl-ttf" OFF)
8
+ option(PDCDEBUG "Debug tracing" OFF)
9
+ option(PDC_CHTYPE_32 "CHTYPE_32" OFF)
10
+ option(PDC_CHTYPE_16 "CHTYPE_16" OFF)
11
+ option(PDC_DOS_BUILD "Build DOS Project" OFF)
12
+ option(PDC_SDL2_BUILD "Build SDL2 Project" ON)
13
+ option(PDC_SDL2_DEPS_BUILD "Build SDL2 and dependencies" ON)
14
+
15
+
16
+
17
+ To override the default option value, use the "-DBUILD_SDL2=ON" scheme. If you set it once, CMake caches the value.
18
+
19
+ When using pre-built SDL2 bits, simply set these two variables when invoking cmake the first time.
20
+
21
+ -DSDL2_INCLUDE_DIR=/my/path/to/sdl2/include/SDL2
22
+ -DSDL2_LIBRARY_DIR=/my/path/to/sdl2/lib/folder
23
+
24
+
25
+ Appveyor
26
+ --------
27
+
28
+ Upon cmake branch check-ins, Appveyor will build the following variants:
29
+ wide/utf8 - Release/Debug, Visual Studio 2015 - amd64_x86/amd64/amd64_arm
30
+ wide/utf8 - Release/Debug, Visual Studio 2017 - amd64_x86/amd64/amd64_arm/amd64_arm64
31
+
32
+ ^There is currently a SDL2 bug preventing MinSizeRel builds:
33
+ https://bugzilla.libsdl.org/show_bug.cgi?id=4233
34
+
35
+
36
+ Native Windows Building
37
+ -----------------------
38
+
39
+ Win32 (pdcurses.sln)
40
+
41
+ mkdir build32 & pushd build32
42
+ cmake -G"Visual Studio 15" -DPDC_WIDE=ON -DCMAKE_INSTALL_PREFIX=c:\tmp\pdcurses\Win32 -DCMAKE_BUILD_TYPE=Debug -DPDCDEBUG=ON ..
43
+ popd
44
+ cmake --build build32 --config Debug --target install
45
+
46
+ Win64 (pdcurses.sln)
47
+
48
+ mkdir build64 & pushd build64
49
+ cmake -G"Visual Studio 15 Win64" -DPDC_WIDE=ON -DCMAKE_INSTALL_PREFIX=c:\tmp\pdcurses\Win64 -DCMAKE_BUILD_TYPE=Debug -DPDCDEBUG=ON ..
50
+ popd
51
+ cmake --build build64 --config Debug --target install
52
+
53
+
54
+ Cygwin
55
+ ------
56
+
57
+ mkdir build && pushd build
58
+ cmake .. -G"Unix Makefiles" -DPDC_SDL2_BUILD=OFF -DCMAKE_INSTALL_PREFIX=/cygdrive/c/tmp/pdcurses/Cyg64 -DCMAKE_BUILD_TYPE=Debug -DPDCDEBUG=ON -DWINDOWS_KIT_LIBRARY_DIR=/cygdrive/c/Program\ Files\ \(x86\)/Windows\ Kits/10/Lib/10.0.14393.0/um/x64 ..
59
+ popd
60
+ cmake --build build --config Debug --target install
61
+
62
+ Note: The demo apps will all build, only version.exe works. All other apps print "Redirection is not supported."
63
+
64
+
65
+ Linux Building
66
+ --------------
67
+
68
+ SDL2 (Currently the only project supported with CMake)
69
+
70
+ cmake .. -DPDC_WIDE=ON -DCMAKE_INSTALL_PREFIX=/home/joel/pdcurses/out -DCMAKE_BUILD_TYPE=Debug -GNinja
71
+ autoninja install
@@ -0,0 +1,178 @@
1
+
2
+ IF (PDC_SDL2_DEPS_BUILD)
3
+
4
+ INCLUDE(ExternalProject)
5
+
6
+ IF(NOT WIN32)
7
+ set(FLAGS_FOR_DYNAMIC_LINK -fPIC)
8
+ ENDIF()
9
+
10
+ SET(SDL2_RELEASE 2.0.8)
11
+ ExternalProject_Add(sdl2_ext
12
+ URL https://www.libsdl.org/release/SDL2-${SDL2_RELEASE}.zip
13
+ URL_HASH "SHA256=e6a7c71154c3001e318ba7ed4b98582de72ff970aca05abc9f45f7cbdc9088cb"
14
+ UPDATE_COMMAND ""
15
+ DOWNLOAD_DIR ${CMAKE_BINARY_DIR}
16
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/SDL2-${SDL2_RELEASE}
17
+ BUILD_IN_SOURCE 0
18
+ CMAKE_ARGS
19
+ ${SDL_CMAKE_BUILD_OPTS}
20
+ -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}
21
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
22
+ -DCMAKE_C_FLAGS=${FLAGS_FOR_DYNAMIC_LINK} ${EXTERNAL_C_FLAGS}
23
+ )
24
+
25
+ MESSAGE(STATUS "SDL2 Installing to: ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}")
26
+ SET(SDL2_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}/include/SDL2)
27
+ SET(SDL2_LIBRARY_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}/lib)
28
+ IF("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
29
+ IF(WIN32)
30
+ set(SDL2_LIBRARIES "SDL2maind.lib;SDL2d.lib")
31
+ set(SDL2_LIBRARY "SDL2d.lib")
32
+ ELSEIF(APPLE)
33
+ set(SDL2_LIBRARIES "SDL2maind;SDL2d")
34
+ set(SDL2_LIBRARY "SDL2d")
35
+ ELSE()
36
+ set(SDL2_LIBRARIES "SDL2maind;SDL2-2.0d")
37
+ set(SDL2_LIBRARY "SDL2-2.0d")
38
+ ENDIF()
39
+ ELSE()
40
+ IF(WIN32)
41
+ set(SDL2_LIBRARIES "SDL2main.lib;SDL2.lib")
42
+ set(SDL2_LIBRARY "SDL2.lib")
43
+ ELSEIF(APPLE)
44
+ set(SDL2_LIBRARIES "SDL2main;SDL2")
45
+ set(SDL2_LIBRARY "SDL2")
46
+ ELSE()
47
+ set(SDL2_LIBRARIES "SDL2main;SDL2-2.0")
48
+ set(SDL2_LIBRARY "SDL2-2.0")
49
+ ENDIF()
50
+ ENDIF()
51
+
52
+ IF (PDC_WIDE)
53
+
54
+ ExternalProject_Add(zlib_ext
55
+ GIT_REPOSITORY "https://github.com/madler/zlib.git"
56
+ GIT_TAG "v1.2.11"
57
+ UPDATE_COMMAND ""
58
+ DOWNLOAD_DIR ${CMAKE_BINARY_DIR}
59
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/zlib
60
+ BUILD_IN_SOURCE 1
61
+ CMAKE_ARGS
62
+ ${ZLIB_CMAKE_BUILD_OPTS}
63
+ -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}
64
+ -DCMAKE_C_FLAGS=${EXTERNAL_C_FLAGS}
65
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
66
+ -DBUILD_SHARED_LIBS=${BUILD_SHARED}
67
+ -DAMD64=${ZLIB_AMD64}
68
+ -DASM686=${ZLIB_ASM686}
69
+ )
70
+
71
+ MESSAGE(STATUS "zlib Installing to: ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}")
72
+ SET(ZLIB_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}/include)
73
+ SET(ZLIB_LIBRARY_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}/lib)
74
+ IF("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
75
+ IF(WIN32)
76
+ set(ZLIB_LIBRARY zlibd.lib)
77
+ ELSE()
78
+ set(ZLIB_LIBRARY z)
79
+ ENDIF()
80
+ ELSE()
81
+ IF(WIN32)
82
+ set(ZLIB_LIBRARY zlib.lib)
83
+ ELSE()
84
+ set(ZLIB_LIBRARY z)
85
+ ENDIF()
86
+ ENDIF()
87
+
88
+ ExternalProject_Add(freetype2_ext
89
+ GIT_REPOSITORY "https://git.savannah.gnu.org/git/freetype/freetype2.git"
90
+ GIT_TAG "VER-2-8-1"
91
+ UPDATE_COMMAND ""
92
+ DOWNLOAD_DIR ${CMAKE_BINARY_DIR}
93
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/freetype2
94
+ BUILD_IN_SOURCE 0
95
+ CMAKE_ARGS
96
+ ${FT2_CMAKE_BUILD_OPTS}
97
+ -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}
98
+ -DCMAKE_C_FLAGS=${FLAGS_FOR_DYNAMIC_LINK} ${EXTERNAL_C_FLAGS}
99
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
100
+ -DWITH_HarfBuzz=OFF
101
+ -DWITH_BZip2=OFF
102
+ -DWITH_PNG=OFF
103
+ -DWITH_ZLIB=ON
104
+ -DZLIB_FOUND=ON
105
+ -DZLIB_LIBRARY=${ZLIB_LIBRARY}
106
+ -DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR}
107
+ -DZLIB_LIBRARY_DIR=${ZLIB_LIBRARY_DIR}
108
+ )
109
+
110
+ ADD_DEPENDENCIES(freetype2_ext zlib_ext)
111
+ MESSAGE(STATUS "freetype2 Installing to: ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}")
112
+ SET(FT2_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}/include/freetype2)
113
+ SET(FT2_LIBRARY_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}/lib)
114
+ IF("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
115
+ IF(WIN32)
116
+ set(FT2_LIBRARY freetyped.lib)
117
+ ELSE()
118
+ set(FT2_LIBRARY freetyped)
119
+ ENDIF()
120
+ ELSE()
121
+ IF(WIN32)
122
+ set(FT2_LIBRARY freetype.lib)
123
+ ELSE()
124
+ set(FT2_LIBRARY freetype)
125
+ ENDIF()
126
+ ENDIF()
127
+
128
+ SET(SDL2_TTF_RELEASE 2.0.14)
129
+
130
+ ExternalProject_Add(sdl2_ttf_ext
131
+ URL https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${SDL2_TTF_RELEASE}.zip
132
+ URL_HASH "SHA256=ad7a7d2562c19ad2b71fa4ab2e76f9f52b3ee98096c0a7d7efbafc2617073c27"
133
+ PATCH_COMMAND cmake -E copy
134
+ ${CMAKE_SOURCE_DIR}/cmake/sdl2_ttf/CMakeLists.txt
135
+ ${CMAKE_BINARY_DIR}/sdl2_ttf/CMakeLists.txt
136
+ UPDATE_COMMAND ""
137
+ DOWNLOAD_DIR ${CMAKE_BINARY_DIR}
138
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/sdl2_ttf
139
+ BUILD_IN_SOURCE 0
140
+ CMAKE_ARGS
141
+ ${SDL2_TTF_CMAKE_BUILD_OPTS}
142
+ -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}
143
+ -DCMAKE_C_FLAGS=${EXTERNAL_C_FLAGS}
144
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
145
+ -DSDL2_TTF_RELEASE=${SDL2_TTF_RELEASE}
146
+ -DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR}
147
+ -DZLIB_LIBRARY_DIR=${ZLIB_LIB_DIR}
148
+ -DZLIB_LIBRARY=${ZLIB_LIBRARY}
149
+ -DFT2_INCLUDE_DIR=${FT2_INCLUDE_DIR}
150
+ -DFT2_LIBRARY_DIR=${FT2_LIBRARY_DIR}
151
+ -DFT2_LIBRARY=${FT2_LIBRARY}
152
+ -DSDL2_INCLUDE_DIR=${SDL2_INCLUDE_DIR}
153
+ -DSDL2_LIBRARY_DIR=${SDL2_LIBRARY_DIR}
154
+ -DSDL2_LIBRARY=${SDL2_LIBRARY}
155
+ -DSDL2_LIBRARIES=${SDL2_LIBRARIES}
156
+ )
157
+
158
+ ADD_DEPENDENCIES(sdl2_ttf_ext sdl2_ext freetype2_ext)
159
+ MESSAGE(STATUS "SDL2_ttf Installing to: ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}")
160
+ SET(SDL2_TTF_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}/include/SDL2_ttf)
161
+ SET(SDL2_TTF_LIBRARY_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}/lib)
162
+ IF("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
163
+ IF(WIN32)
164
+ set(SDL2_TTF_LIBRARY "SDL2_ttfd.lib")
165
+ ELSE()
166
+ set(SDL2_TTF_LIBRARY "SDL2_ttf")
167
+ ENDIF()
168
+ ELSE()
169
+ IF(WIN32)
170
+ set(SDL2_TTF_LIBRARY "SDL2_ttf.lib")
171
+ ELSE()
172
+ set(SDL2_TTF_LIBRARY "SDL2_ttf")
173
+ ENDIF()
174
+ ENDIF()
175
+
176
+ ENDIF (PDC_WIDE)
177
+
178
+ ENDIF()