155 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			155 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | let project = new Project('Kha'); | ||
|  | 
 | ||
|  | const pcreVersion = '10.42'; | ||
|  | const tlsVersion = '2.28.2'; | ||
|  | const zlibVersion = '1.2.13'; | ||
|  | 
 | ||
|  | project.addFiles('khacpp/src/**.h', 'khacpp/src/**.cpp', 'khacpp/include/**.h'); | ||
|  | project.addFiles('khacpp/project/libs/common/**.h', 'khacpp/project/libs/common/**.cpp'); | ||
|  | if (platform === Platform.Windows || platform === Platform.WindowsApp) project.addFiles('khacpp/project/libs/msvccompat/**.cpp'); | ||
|  | if (platform === Platform.Linux) project.addFiles('khacpp/project/libs/linuxcompat/**.cpp'); | ||
|  | project.addFiles('khacpp/project/libs/regexp/**.h', 'khacpp/project/libs/regexp/**.cpp', 'khacpp/project/libs/std/**.h', 'khacpp/project/libs/std/**.cpp'); | ||
|  | 
 | ||
|  | 
 | ||
|  | project.addFiles('khacpp/project/thirdparty/pcre2-' + pcreVersion + '-8/src/**.h', 'khacpp/project/thirdparty/pcre2-' + pcreVersion + '-8/src/**.c'); | ||
|  | project.addFiles('khacpp/project/thirdparty/pcre2-' + pcreVersion + '-16/src/**.h', 'khacpp/project/thirdparty/pcre2-' + pcreVersion + '-16/src/**.c'); | ||
|  | 
 | ||
|  | const zlibFiles = [ | ||
|  | 	'**.h', | ||
|  | 	'adler32.c', | ||
|  | 	'compress.c', | ||
|  | 	'crc32.c', | ||
|  | 	'gzio.c', | ||
|  | 	'uncompr.c', | ||
|  | 	'deflate.c', | ||
|  | 	'trees.c', | ||
|  | 	'zutil.c', | ||
|  | 	'inflate.c', | ||
|  | 	'infback.c', | ||
|  | 	'inftrees.c', | ||
|  | 	'inffast.c' | ||
|  | ]; | ||
|  | 
 | ||
|  | for (const file of zlibFiles) { | ||
|  | 	project.addFile('khacpp/project/thirdparty/zlib-' + zlibVersion + '/' + file); | ||
|  | } | ||
|  | 
 | ||
|  | project.addFiles('khacpp/project/thirdparty/mbedtls-' + tlsVersion + '/**'); | ||
|  | 
 | ||
|  | project.addFiles('*.cpp', '*.c', 'Backends/Kore/*.h', '*.natvis'); | ||
|  | project.addFiles('lib/**'); | ||
|  | project.addIncludeDir('lib'); | ||
|  | 
 | ||
|  | const pcreExcludes = [ | ||
|  | 	'pcre2_dftables.c', | ||
|  | 	'pcre2_fuzzsupport.c', | ||
|  | 	'pcre2_printint.c', | ||
|  | 	'pcre2_jit_match.c', | ||
|  | 	'pcre2_jit_misc.c', | ||
|  | 	'pcre2_jit_test.c', | ||
|  | 	'pcre2_ucptables.c', | ||
|  | 	'pcre2demo.c', | ||
|  | 	'pcre2grep.c', | ||
|  | 	'pcre2posix.h', | ||
|  | 	'pcre2posix.c', | ||
|  | 	'pcre2posix_test.c', | ||
|  | 	'pcre2test.c', | ||
|  | 	'sljit/**' | ||
|  | ]; | ||
|  | 
 | ||
|  | for (const file of pcreExcludes) { | ||
|  | 	project.addExclude('khacpp/project/thirdparty/pcre2-' + pcreVersion + '-8/src/' + file); | ||
|  | 	project.addExclude('khacpp/project/thirdparty/pcre2-' + pcreVersion + '-16/src/' + file); | ||
|  | } | ||
|  | project.addExcludes('khacpp/src/ExampleMain.cpp', 'khacpp/src/hx/Scriptable.cpp', 'khacpp/src/hx/NoFiles.cpp', 'khacpp/src/hx/cppia/**'); | ||
|  | project.addExcludes('khacpp/src/hx/Debugger.cpp', 'khacpp/src/hx/Profiler.cpp', 'khacpp/src/hx/Telemetry.cpp'); | ||
|  | project.addExcludes('khacpp/src/hx/NekoAPI.cpp'); | ||
|  | project.addExcludes('khacpp/src/hx/libs/sqlite/**'); | ||
|  | project.addExcludes('khacpp/src/hx/libs/mysql/**'); | ||
|  | 
 | ||
|  | project.addIncludeDirs('khacpp/include', 'khacpp/project/thirdparty/zlib-' + zlibVersion, 'khacpp/project/libs/nekoapi', 'khacpp/project/thirdparty/mbedtls-' + tlsVersion + '/include'); | ||
|  | project.addIncludeDir('khacpp/src/hx/libs/ssl'); | ||
|  | 
 | ||
|  | //if (options.vrApi == "rift") {
 | ||
|  | //	out += "project.addIncludeDirs('C:/khaviar/LibOVRKernel/Src/');\n";
 | ||
|  | //	out += "project.addIncludeDirs('C:/khaviar/LibOVR/Include/');\n";
 | ||
|  | //}
 | ||
|  | 
 | ||
|  | if (platform !== Platform.Android) { | ||
|  | 	project.addExcludes('khacpp/src/hx/AndroidCompat.cpp'); | ||
|  | } | ||
|  | 
 | ||
|  | if (platform === Platform.Windows) { | ||
|  | 	project.addDefine('HX_WINDOWS'); | ||
|  | 	project.addLib('Shlwapi'); | ||
|  | 	project.addLib('Crypt32'); | ||
|  | } | ||
|  | if (platform === Platform.WindowsApp) { | ||
|  | 	project.addDefine('HX_WINDOWS'); | ||
|  | 	project.addDefine('HX_WINRT'); | ||
|  | } | ||
|  | if (platform !== Platform.Windows || audio !== AudioApi.DirectSound) { | ||
|  | 	project.addDefine('KORE_MULTITHREADED_AUDIO'); | ||
|  | } | ||
|  | if (platform === Platform.OSX) { | ||
|  | 	project.addDefine('HXCPP_M64'); | ||
|  | 	project.addDefine('HX_MACOS'); | ||
|  | } | ||
|  | if (platform === Platform.Linux) project.addDefine('HX_LINUX'); | ||
|  | if (platform === Platform.iOS) { | ||
|  | 	project.addDefine('IPHONE'); | ||
|  | 	project.addDefine('HX_IPHONE'); | ||
|  | } | ||
|  | if (platform === Platform.tvOS) { | ||
|  | 	project.addDefine('APPLETV'); | ||
|  | } | ||
|  | if (platform === Platform.Android) { | ||
|  | 	project.addDefine('ANDROID'); | ||
|  | 	project.addDefine('_ANDROID'); | ||
|  | 	project.addDefine('HX_ANDROID'); | ||
|  | 	project.addDefine('HXCPP_ANDROID_PLATFORM=24'); | ||
|  | } | ||
|  | if (platform === Platform.OSX) { | ||
|  | 	project.addDefine('KORE_DEBUGDIR="osx"'); | ||
|  | 	project.addLib('Security'); | ||
|  | } | ||
|  | if (platform === Platform.iOS) project.addDefine('KORE_DEBUGDIR="ios"'); | ||
|  | 
 | ||
|  | // project:addDefine('HXCPP_SCRIPTABLE');
 | ||
|  | project.addDefine('STATIC_LINK'); | ||
|  | project.addDefine('PCRE2_STATIC'); | ||
|  | project.addDefine('HXCPP_VISIT_ALLOCS'); | ||
|  | project.addDefine('KHA'); | ||
|  | project.addDefine('KORE'); | ||
|  | project.addDefine('ROTATE90'); | ||
|  | project.addDefine('HAVE_CONFIG_H'); | ||
|  | project.addDefine('SUPPORT_UTF'); | ||
|  | project.addDefine('SUPPORT_UCP'); | ||
|  | project.addDefine('SUPPORT_UNICODE'); | ||
|  | project.addDefine('MBEDTLS_USER_CONFIG_FILE="mbedtls_config.h"'); | ||
|  | project.addDefine('HX_SMART_STRINGS'); | ||
|  | 
 | ||
|  | //if (Options.vrApi === "gearvr") {
 | ||
|  | //	out += "project.addDefine('VR_GEAR_VR');\n";
 | ||
|  | //}
 | ||
|  | //else if (Options.vrApi === "cardboard") {
 | ||
|  | //	out += "project.addDefine('VR_CARDBOARD');\n";
 | ||
|  | //}
 | ||
|  | //else if (Options.vrApi === "rift") {
 | ||
|  | //	out += "project.addDefine('VR_RIFT');\n";
 | ||
|  | //}
 | ||
|  | //
 | ||
|  | //if (options.vrApi == "rift") {
 | ||
|  | //	out += "project.addLib('C:/khaviar/LibOVRKernel/Lib/Windows/Win32/Release/VS2013/LibOVRKernel');\n";
 | ||
|  | //	out += "project.addLib('C:/khaviar/LibOVR/Lib/Windows/Win32/Release/VS2013/LibOVR');\n";
 | ||
|  | //}
 | ||
|  | 
 | ||
|  | if (platform === Platform.Windows || platform === Platform.WindowsApp) { | ||
|  | 	project.addDefine('_WINSOCK_DEPRECATED_NO_WARNINGS'); | ||
|  | } | ||
|  | if (platform === Platform.Windows) { | ||
|  | 	project.addLib('ws2_32'); | ||
|  | } | ||
|  | 
 | ||
|  | resolve(project); |