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