@@ -28,9 +28,10 @@ def create():
2828 cocos2d_root = os .path .join (cocos2d_src , 'Cocos2d-' + TAG )
2929 cocos2dx_root = os .path .join (cocos2d_root , 'cocos2dx' )
3030 cocos2dx_src = make_source_list (cocos2d_root , cocos2dx_root )
31- cocos2dx_includes = make_includes (cocos2d_root , cocos2dx_root )
31+ cocos2dx_includes = make_includes (cocos2d_root )
3232
3333 cocos2d_build = os .path .join (ports .get_build_dir (), 'cocos2d' )
34+ shared .try_delete (os .path .join (cocos2d_build , 'samples' ))
3435 shutil .copytree (os .path .join (cocos2d_root , 'samples' , 'Cpp' ),
3536 os .path .join (cocos2d_build , 'samples' ))
3637
@@ -41,8 +42,7 @@ def create():
4142 shared .safe_ensure_dirs (os .path .dirname (o ))
4243 command = [shared .PYTHON ,
4344 shared .EMCC ,
44- '-c' ,
45- os .path .join (cocos2dx_root , 'proj.emscripten' , src ),
45+ '-c' , src ,
4646 '-Wno-overloaded-virtual' ,
4747 '-Wno-deprecated-declarations' ,
4848 '-D__CC_PLATFORM_FILEUTILS_CPP__' ,
@@ -68,6 +68,11 @@ def create():
6868 ports .run_commands (commands )
6969 final = os .path .join (cocos2d_build , libname )
7070 ports .create_lib (final , o_s )
71+
72+ for dirname in cocos2dx_includes :
73+ target = os .path .join ('cocos2d' , os .path .relpath (dirname , cocos2d_root ))
74+ ports .install_header_dir (dirname , target = target )
75+
7176 return final
7277
7378 return [shared .Cache .get (libname , create , what = 'port' )]
@@ -86,13 +91,8 @@ def process_dependencies(settings):
8691def process_args (ports , args , settings , shared ):
8792 if settings .USE_COCOS2D == 3 :
8893 get (ports , settings , shared )
89- cocos2d_build = os .path .join (ports .get_dir (), 'cocos2d' )
90- cocos2d_root = os .path .join (cocos2d_build , 'Cocos2d-' + TAG )
91- cocos2dx_root = os .path .join (cocos2d_root , 'cocos2dx' )
92- cocos2dx_includes = make_includes (cocos2d_root , cocos2dx_root )
93- args += ['-Xclang' ]
94- for include in cocos2dx_includes :
95- args .append ('-isystem' + include )
94+ for include in make_includes (os .path .join (ports .get_include_dir (), 'cocos2d' )):
95+ args .append ('-I' + include )
9696 return args
9797
9898
@@ -133,30 +133,30 @@ def add_makefile(makefile):
133133 return sources
134134
135135
136- def make_includes (cocos2d_root , cocos2dx_root ):
137- return [os .path .join (cocos2d_root , 'CocosDenshion' , 'include' ),
138- os .path .join (cocos2d_root , 'extensions' ),
139- os .path .join (cocos2d_root , 'extensions' , 'AssetsManager' ),
140- os .path .join (cocos2d_root , 'extensions' , 'CCArmature' ),
141- os .path .join (cocos2d_root , 'extensions' , 'CCBReader' ),
142- os .path .join (cocos2d_root , 'extensions' , 'GUI' , 'CCControlExtension' ),
143- os .path .join (cocos2d_root , 'extensions' , 'GUI' , 'CCEditBox' ),
144- os .path .join (cocos2d_root , 'extensions' , 'GUI' , 'CCScrollView' ),
145- os .path .join (cocos2d_root , 'extensions' , 'network' ),
146- os .path .join (cocos2d_root , 'extensions' , 'Components' ),
147- os .path .join (cocos2d_root , 'extensions' , 'LocalStorage' ),
148- os .path .join (cocos2d_root , 'extensions' , 'physics_nodes' ),
149- os .path .join (cocos2d_root , 'extensions' , 'spine' ),
150- os .path .join (cocos2d_root , 'external' ),
151- os .path .join (cocos2d_root , 'external' , 'chipmunk' , 'include' , 'chipmunk' ),
152- cocos2dx_root ,
153- os .path .join (cocos2dx_root , 'cocoa' ),
154- os .path .join (cocos2dx_root , 'include' ),
155- os .path .join (cocos2dx_root , 'kazmath' , 'include' ),
156- os .path .join (cocos2dx_root , 'platform' ),
157- os .path .join (cocos2dx_root , 'platform' , 'emscripten' ),
158- os .path .join (cocos2dx_root , 'platform' , 'third_party' , 'linux' , 'libfreetype2' ),
159- os .path .join (cocos2dx_root , 'platform' , 'third_party' , 'common' , 'etc' ),
160- os .path .join (cocos2dx_root , 'platform' , 'third_party' , 'emscripten' , 'libtiff' , 'include' ),
161- os .path .join (cocos2dx_root , 'platform' , 'third_party' , 'emscripten' , 'libjpeg' ),
162- os .path .join (cocos2dx_root , 'platform' , 'third_party' , 'emscripten' , 'libwebp' )]
136+ def make_includes (root ):
137+ return [os .path .join (root , 'CocosDenshion' , 'include' ),
138+ os .path .join (root , 'extensions' ),
139+ os .path .join (root , 'extensions' , 'AssetsManager' ),
140+ os .path .join (root , 'extensions' , 'CCArmature' ),
141+ os .path .join (root , 'extensions' , 'CCBReader' ),
142+ os .path .join (root , 'extensions' , 'GUI' , 'CCControlExtension' ),
143+ os .path .join (root , 'extensions' , 'GUI' , 'CCEditBox' ),
144+ os .path .join (root , 'extensions' , 'GUI' , 'CCScrollView' ),
145+ os .path .join (root , 'extensions' , 'network' ),
146+ os .path .join (root , 'extensions' , 'Components' ),
147+ os .path .join (root , 'extensions' , 'LocalStorage' ),
148+ os .path .join (root , 'extensions' , 'physics_nodes' ),
149+ os .path .join (root , 'extensions' , 'spine' ),
150+ os .path .join (root , 'external' ),
151+ os .path .join (root , 'external' , 'chipmunk' , 'include' , 'chipmunk' ),
152+ os . path . join ( root , 'cocos2dx' ) ,
153+ os .path .join (root , 'cocos2dx' , 'cocoa' ),
154+ os .path .join (root , 'cocos2dx' , 'include' ),
155+ os .path .join (root , 'cocos2dx' , 'kazmath' , 'include' ),
156+ os .path .join (root , 'cocos2dx' , 'platform' ),
157+ os .path .join (root , 'cocos2dx' , 'platform' , 'emscripten' ),
158+ os .path .join (root , 'cocos2dx' , 'platform' , 'third_party' , 'linux' , 'libfreetype2' ),
159+ os .path .join (root , 'cocos2dx' , 'platform' , 'third_party' , 'common' , 'etc' ),
160+ os .path .join (root , 'cocos2dx' , 'platform' , 'third_party' , 'emscripten' , 'libtiff' , 'include' ),
161+ os .path .join (root , 'cocos2dx' , 'platform' , 'third_party' , 'emscripten' , 'libjpeg' ),
162+ os .path .join (root , 'cocos2dx' , 'platform' , 'third_party' , 'emscripten' , 'libwebp' )]
0 commit comments