11cmake_minimum_required (VERSION 3.6)
22project (external)
33
4- add_library (external empty.cpp)
4+ option (BUILD_EXT_BOX2D "Build with internal Box2D support" ON )
5+ option (BUILD_EXT_CHIPMUNK "Build with internal chipmunk support" ON )
6+ option (BUILD_EXT_FREETYPE2 "Build with internal freetype2 support" ON )
7+ option (BUILD_EXT_RECAST "Build with internal recast support" ON )
8+ option (BUILD_EXT_BULLET "Build with internal bullet support" ON )
9+ option (BUILD_EXT_JPEG "Build with internal jpeg support" ON )
10+ option (BUILD_EXT_OPENSSL "Build with internal openssl support" ON )
11+ option (BUILD_EXT_TIFF "Build with internal tiff support" ON )
12+ option (BUILD_EXT_UV "Build with internal uv support" ON )
13+ option (BUILD_EXT_WEBP "Build with internal webp support" ON )
14+ option (BUILD_EXT_WEBSOCKETS "Build with internal websockets support" ON )
15+ option (BUILD_EXT_TINYXML2 "Build with internal tinyxml2 support" ON )
16+ option (BUILD_EXT_XXHASH "Build with internal xxhash support" ON )
17+ option (BUILD_EXT_XXTEA "Build with internal xxtea support" ON )
18+ option (BUILD_EXT_CLIPPER "Build with internal clipper support" ON )
19+ option (BUILD_EXT_EDTAA3FUNC "Build with internal edtaa3func support" ON )
20+ option (BUILD_EXT_CONVERTUTF "Build with internal ConvertUTF support" ON )
21+ option (BUILD_EXT_POLY2TRI "Build with internal poly2tri support" ON )
22+ option (BUILD_EXT_MD5 "Build with internal md5 support" ON )
23+ option (BUILD_EXT_SQLITE "Build with internal SQLite support" ON )
24+ option (BUILD_EXT_ZLIB "Build with internal zlib support" ON )
25+ option (BUILD_EXT_CURL "Build with internal curl support" ON )
526
6- add_subdirectory (Box2D)
7- add_subdirectory (chipmunk)
8- add_subdirectory (freetype2)
9- add_subdirectory (recast)
10- add_subdirectory (bullet)
11- add_subdirectory (jpeg)
12- add_subdirectory (openssl)
13- add_subdirectory (tiff)
14- add_subdirectory (uv)
15- add_subdirectory (webp)
16- add_subdirectory (websockets)
17- add_subdirectory (tinyxml2)
18- add_subdirectory (xxhash)
19- add_subdirectory (xxtea)
20- add_subdirectory (clipper)
21- add_subdirectory (edtaa3func)
22- add_subdirectory (ConvertUTF)
23- add_subdirectory (poly2tri)
24- add_subdirectory (md5)
27+ add_library (external empty.cpp)
2528
26- target_link_libraries (external
27- ext_box2d
28- ext_chipmunk
29- ext_freetype
30- ext_recast
31- ext_jpeg
32- ext_uv
33- ext_webp
34- ext_bullet
35- ext_ssl
36- ext_crypto
37- ext_tiff
38- ext_websockets
39- ext_tinyxml2
40- ext_xxhash
41- ext_xxtea
42- ext_clipper
43- ext_edtaa3func
44- ext_convertUTF
45- ext_poly2tri
46- ext_md5
47- )
29+ if (BUILD_EXT_BOX2D)
30+ add_subdirectory (Box2D)
31+ target_link_libraries (external ext_box2d)
32+ endif (BUILD_EXT_BOX2D)
33+ if (BUILD_EXT_CHIPMUNK)
34+ add_subdirectory (chipmunk)
35+ target_link_libraries (external ext_chipmunk)
36+ endif (BUILD_EXT_CHIPMUNK)
37+ if (BUILD_EXT_FREETYPE2)
38+ add_subdirectory (freetype2)
39+ target_link_libraries (external ext_freetype)
40+ endif (BUILD_EXT_FREETYPE2)
41+ if (BUILD_EXT_RECAST)
42+ add_subdirectory (recast)
43+ target_link_libraries (external ext_recast)
44+ endif (BUILD_EXT_RECAST)
45+ if (BUILD_EXT_BULLET)
46+ add_subdirectory (bullet)
47+ target_link_libraries (external ext_bullet)
48+ endif (BUILD_EXT_BULLET)
49+ if (BUILD_EXT_JPEG)
50+ add_subdirectory (jpeg)
51+ target_link_libraries (external ext_jpeg)
52+ endif (BUILD_EXT_JPEG)
53+ if (BUILD_EXT_OPENSSL)
54+ add_subdirectory (openssl)
55+ target_link_libraries (external ext_ssl)
56+ target_link_libraries (external ext_crypto)
57+ endif (BUILD_EXT_OPENSSL)
58+ if (BUILD_EXT_TIFF)
59+ add_subdirectory (tiff)
60+ target_link_libraries (external ext_tiff)
61+ endif (BUILD_EXT_TIFF)
62+ if (BUILD_EXT_UV)
63+ add_subdirectory (uv)
64+ target_link_libraries (external ext_uv)
65+ endif (BUILD_EXT_UV)
66+ if (BUILD_EXT_WEBP)
67+ add_subdirectory (webp)
68+ target_link_libraries (external ext_webp)
69+ endif (BUILD_EXT_WEBP)
70+ if (BUILD_EXT_WEBSOCKETS)
71+ add_subdirectory (websockets)
72+ target_link_libraries (external ext_websockets)
73+ endif (BUILD_EXT_WEBSOCKETS)
74+ if (BUILD_EXT_TINYXML2)
75+ add_subdirectory (tinyxml2)
76+ target_link_libraries (external ext_tinyxml2)
77+ endif (BUILD_EXT_TINYXML2)
78+ if (BUILD_EXT_XXHASH)
79+ add_subdirectory (xxhash)
80+ target_link_libraries (external ext_xxhash)
81+ endif (BUILD_EXT_XXHASH)
82+ if (BUILD_EXT_XXTEA)
83+ add_subdirectory (xxtea)
84+ target_link_libraries (external ext_xxtea)
85+ endif (BUILD_EXT_XXTEA)
86+ if (BUILD_EXT_CLIPPER)
87+ add_subdirectory (clipper)
88+ target_link_libraries (external ext_clipper)
89+ endif (BUILD_EXT_CLIPPER)
90+ if (BUILD_EXT_EDTAA3FUNC)
91+ add_subdirectory (edtaa3func)
92+ target_link_libraries (external ext_edtaa3func)
93+ endif (BUILD_EXT_EDTAA3FUNC)
94+ if (BUILD_EXT_CONVERTUTF)
95+ add_subdirectory (ConvertUTF)
96+ target_link_libraries (external ext_convertUTF)
97+ endif (BUILD_EXT_CONVERTUTF)
98+ if (BUILD_EXT_POLY2TRI)
99+ add_subdirectory (poly2tri)
100+ target_link_libraries (external ext_poly2tri)
101+ endif (BUILD_EXT_POLY2TRI)
102+ if (BUILD_EXT_MD5)
103+ add_subdirectory (md5)
104+ target_link_libraries (external ext_md5)
105+ endif (BUILD_EXT_MD5)
48106
49107# use lua/js specific libs by property to prevent conflict
50108if (BUILD_JS_LIBS)
@@ -63,10 +121,12 @@ if(BUILD_LUA_LIBS)
63121endif ()
64122
65123if (NOT LINUX)
66- add_subdirectory (curl)
124+ if (BUILD_EXT_CURL)
125+ add_subdirectory (curl)
126+ target_link_libraries (external ext_curl)
127+ endif (BUILD_EXT_CURL)
67128 add_subdirectory (png)
68129 target_link_libraries (external
69- ext_curl
70130 ext_png
71131 )
72132endif (NOT LINUX)
@@ -91,14 +151,16 @@ endif()
91151
92152if (WINDOWS)
93153 # sqlite3 prebuilt only existed at windows
94- add_subdirectory (sqlite3)
154+ if (BUILD_EXT_SQLITE)
155+ add_subdirectory (sqlite3)
156+ target_link_libraries (external ext_sqlite3)
157+ endif (BUILD_EXT_SQLITE)
95158 add_subdirectory (win32 -specific/gles)
96159 add_subdirectory (win32 -specific/icon)
97160 add_subdirectory (win32 -specific/MP3Decoder)
98161 add_subdirectory (win32 -specific/OggDecoder)
99162 add_subdirectory (win32 -specific/OpenalSoft)
100163 target_link_libraries (external
101- ext_sqlite3
102164 ext_gles
103165 ext_icon
104166 ext_MP3Decoder
@@ -115,15 +177,19 @@ if(WINDOWS OR MACOSX OR LINUX)
115177endif ()
116178
117179if (MACOSX OR ANDROID OR WINDOWS)
118- add_subdirectory (zlib)
119- target_link_libraries (external
120- ext_zlib
121- )
180+ if (BUILD_EXT_ZLIB)
181+ add_subdirectory (zlib)
182+ target_link_libraries (external
183+ ext_zlib
184+ )
185+ endif (BUILD_EXT_ZLIB)
122186endif ()
123187
124188# unzip depend on zlib
125- add_subdirectory (unzip)
126- target_link_libraries (external ext_unzip)
189+ if (BUILD_EXT_UNZIP)
190+ add_subdirectory (unzip)
191+ target_link_libraries (external ext_unzip)
192+ endif (BUILD_EXT_UNZIP)
127193
128194# put "external" into External folder, too
129195set_target_properties (external
0 commit comments