From ecf4b7d94431a9ea10789f964f19528cc6d7e87f Mon Sep 17 00:00:00 2001 From: coulsonwang Date: Wed, 25 Dec 2019 14:10:32 +0800 Subject: [PATCH] external use cmake (#75) --- CMakeLists.txt | 20 ++ android/CMakeLists.txt | 182 ++++++++++++++++++ cmake/CocosExternalConfig.cmake | 34 ++++ ios/CMakeLists.txt | 109 +++++++++++ mac/CMakeLists.txt | 139 ++++++++++++++ sources/CMakeLists.txt | 59 ++++++ sources/ConvertUTF/CMakeLists.txt | 8 + sources/SocketRocket/CMakeLists.txt | 66 +++++++ sources/cjson/CMakeLists.txt | 12 ++ sources/clipper/CMakeLists.txt | 7 + sources/edtaa3func/CMakeLists.txt | 6 + sources/google-breakpad/CMakeLists.txt | 28 +++ sources/pvmp3dec/CMakeLists.txt | 83 ++++++++ sources/tremolo/CMakeLists.txt | 30 +++ win32/CMakeLists.txt | 252 +++++++++++++++++++++++++ 15 files changed, 1035 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 android/CMakeLists.txt create mode 100644 cmake/CocosExternalConfig.cmake create mode 100644 ios/CMakeLists.txt create mode 100644 mac/CMakeLists.txt create mode 100644 sources/CMakeLists.txt create mode 100644 sources/ConvertUTF/CMakeLists.txt create mode 100644 sources/SocketRocket/CMakeLists.txt create mode 100644 sources/cjson/CMakeLists.txt create mode 100644 sources/clipper/CMakeLists.txt create mode 100644 sources/edtaa3func/CMakeLists.txt create mode 100644 sources/google-breakpad/CMakeLists.txt create mode 100644 sources/pvmp3dec/CMakeLists.txt create mode 100644 sources/tremolo/CMakeLists.txt create mode 100644 win32/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..9738f517 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,20 @@ + +set(CC_EXTERNAL_LIBS) +set(CC_EXTERNAL_INCLUDES ${CMAKE_CURRENT_LIST_DIR}/sources) + +include(${CMAKE_CURRENT_LIST_DIR}/cmake/CocosExternalConfig.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/sources/CMakeLists.txt) + + +if(WINDOWS) + include(${CMAKE_CURRENT_LIST_DIR}/win32/CMakeLists.txt) +elseif(ANDROID) + include(${CMAKE_CURRENT_LIST_DIR}/android/CMakeLists.txt) +elseif(APPLE) + if(MACOSX) + include(${CMAKE_CURRENT_LIST_DIR}/mac/CMakeLists.txt) + elseif(IOS) + include(${CMAKE_CURRENT_LIST_DIR}/ios/CMakeLists.txt) + endif() +endif() + diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt new file mode 100644 index 00000000..5ed961be --- /dev/null +++ b/android/CMakeLists.txt @@ -0,0 +1,182 @@ + +add_library(crypto STATIC IMPORTED GLOBAL) +set_target_properties(crypto PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libcrypto.a +) + +add_library(freetype STATIC IMPORTED GLOBAL) +set_target_properties(freetype PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libfreetype.a +) + +add_library(jpeg STATIC IMPORTED GLOBAL) +set_target_properties(jpeg PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libjpeg.a +) + +add_library(png STATIC IMPORTED GLOBAL) +set_target_properties(png PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libpng.a +) + +add_library(ssl STATIC IMPORTED GLOBAL) +set_target_properties(ssl PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libssl.a +) + +add_library(tiff STATIC IMPORTED GLOBAL) +set_target_properties(tiff PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libtiff.a +) + +add_library(uv STATIC IMPORTED GLOBAL) +set_target_properties(uv PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libuv.a + INTERFACE_INCLUDE_DIRECTORIES ${platform_spec_path}/include/uv +) + +add_library(webp STATIC IMPORTED GLOBAL) +set_target_properties(webp PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libwebp.a +) + +add_library(websockets STATIC IMPORTED GLOBAL) +set_target_properties(websockets PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libwebsockets.a +) + +add_library(z STATIC IMPORTED GLOBAL) +set_target_properties(z PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/libz.a + INTERFACE_INCLUDE_DIRECTORIES ${platform_spec_path}/include/zlib +) + + +set(se_libs_name) + +if(USE_SE_V8) + set(V8_LIBS + # v8_inspector + v8_snapshot + v8_compiler + v8_libsampler + v8_base_without_compiler + v8_libplatform + v8_libbase + ) + + add_library(v8_libbase STATIC IMPORTED GLOBAL) + set_target_properties(v8_libbase PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_libbase.a + ) + + + add_library(v8_libplatform STATIC IMPORTED GLOBAL) + set_target_properties(v8_libplatform PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_libplatform.a + ) + + add_library(v8_libsampler STATIC IMPORTED GLOBAL) + set_target_properties(v8_libsampler PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_libsampler.a + ) + + add_library(v8_snapshot STATIC IMPORTED GLOBAL) + set_target_properties(v8_snapshot PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_snapshot.a + ) + + add_library(v8_inspector STATIC IMPORTED GLOBAL) + set_target_properties(v8_inspector PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/v8/libinspector.a + ) + + add_library(v8_compiler STATIC IMPORTED GLOBAL) + set_target_properties(v8_compiler PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_compiler.a + ) + + add_library(v8_base_without_compiler STATIC IMPORTED GLOBAL) + set_target_properties(v8_base_without_compiler PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_base_without_compiler.a + ) + + + set(V8_ARCHIVE_DIR ${CMAKE_CURRENT_BINARY_DIR}/v8_tmp) + + if(NOT EXISTS ${V8_ARCHIVE_DIR}) + file(MAKE_DIRECTORY ${V8_ARCHIVE_DIR}) + endif() + + if(NOT EXISTS ${V8_ARCHIVE_DIR}/v8_static.a) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${V8_ARCHIVE_DIR} + COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_libbase.a + COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_libplatform.a + COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_libsampler.a + COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_snapshot.a + COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_compiler.a + COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_base_without_compiler.a + WORKING_DIRECTORY ${V8_ARCHIVE_DIR} + ) + + file(GLOB v8_obj_files ${V8_ARCHIVE_DIR}/*.o) + set(v8_obj_files_args "") + set(V8_FILELIST ${V8_ARCHIVE_DIR}/v8_link_input_list.txt) + foreach(obj_file ${v8_obj_files}) + string(APPEND v8_obj_files_args " \"${obj_file}\"") + endforeach() + file(WRITE ${V8_FILELIST} ${v8_obj_files_args}) + execute_process( + COMMAND ${CMAKE_AR} -qcs ${V8_ARCHIVE_DIR}/v8_static.a @${V8_FILELIST} + WORKING_DIRECTORY ${V8_ARCHIVE_DIR} + ) + endif() + + + add_library(v8_static STATIC IMPORTED GLOBAL) + set_target_properties(v8_static PROPERTIES + IMPORTED_LOCATION ${V8_ARCHIVE_DIR}/v8_static.a + INTERFACE_INCLUDE_DIRECTORIES ${platform_spec_path}/include/v8 + ) + + set(se_libs_name v8_static) + +endif() + +if(USE_SOCKET) + list(APPEND CC_EXTERNAL_LIBS + websockets + ssl + crypto + ) +endif() + +if(USE_TIFF) + list(APPEND CC_EXTERNAL_LIBS + tiff + ) +endif() + +if(USE_SE_V8 AND USE_V8_DEBUGGER) + list(APPEND CC_EXTERNAL_LIBS + v8_inspector + ) +endif() + +list(APPEND CC_EXTERNAL_LIBS + freetype + jpeg + png + uv + webp + OpenSLES + ${se_libs_name} + z +) + + +list(APPEND CC_EXTERNAL_INCLUDES + ${platform_spec_path}/include +) \ No newline at end of file diff --git a/cmake/CocosExternalConfig.cmake b/cmake/CocosExternalConfig.cmake new file mode 100644 index 00000000..51dc1292 --- /dev/null +++ b/cmake/CocosExternalConfig.cmake @@ -0,0 +1,34 @@ + +# set friendly platform define + if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + set(WINDOWS TRUE) + set(SYSTEM_STRING "Windows Desktop") + elseif(${CMAKE_SYSTEM_NAME} MATCHES "Android") + set(ANDROID TRUE) + set(SYSTEM_STRING "Android") + elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + if(IOS) + set(APPLE TRUE) + set(SYSTEM_STRING "IOS") + else() + set(APPLE TRUE) + set(MACOSX TRUE) + set(SYSTEM_STRING "Mac OSX") + endif() + endif() + +if(IOS) + set(platform_name ios) + set(platform_spec_path ios) +elseif(ANDROID) + set(platform_name android) + set(platform_spec_path android/${ANDROID_ABI}) +elseif(WINDOWS) + set(platform_name win32) + set(platform_spec_path win32) +elseif(MACOSX) + set(platform_name mac) + set(platform_spec_path mac) +endif() + +set(platform_spec_path "${CMAKE_CURRENT_LIST_DIR}/../${platform_spec_path}") diff --git a/ios/CMakeLists.txt b/ios/CMakeLists.txt new file mode 100644 index 00000000..17cf7d95 --- /dev/null +++ b/ios/CMakeLists.txt @@ -0,0 +1,109 @@ + +add_library(crypto STATIC IMPORTED GLOBAL) +set_target_properties(crypto PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libcrypto.a +) + +add_library(freetype STATIC IMPORTED GLOBAL) +set_target_properties(freetype PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libfreetype.a +) + +add_library(jpeg STATIC IMPORTED GLOBAL) +set_target_properties(jpeg PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libjpeg.a +) + +add_library(png STATIC IMPORTED GLOBAL) +set_target_properties(png PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libpng.a +) + +add_library(ssl STATIC IMPORTED GLOBAL) +set_target_properties(ssl PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libssl.a +) + +add_library(tiff STATIC IMPORTED GLOBAL) +set_target_properties(tiff PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libtiff.a +) + +add_library(uv STATIC IMPORTED GLOBAL) +set_target_properties(uv PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libuv_a.a + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/uv +) + +add_library(webp STATIC IMPORTED GLOBAL) +set_target_properties(webp PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libwebp.a +) + +add_library(v8_monolith STATIC IMPORTED GLOBAL) +set_target_properties(v8_monolith PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libv8_monolith.a + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/v8 +) + +# add_library(inspector STATIC IMPORTED GLOBAL) +# set_target_properties(inspector PROPERTIES +# IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libinspector.a +# ) + +add_library(js_static STATIC IMPORTED GLOBAL) +set_target_properties(js_static PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libjs_static.a + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/spidermonkey +) + +add_library(mozglue STATIC IMPORTED GLOBAL) +set_target_properties(mozglue PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libmozglue.a +) + +set(se_libs_name) + +if(USE_SE_V8) + list(APPEND se_libs_name + v8_monolith + uv + ) +# if(USE_V8_DEBUGGER) +# list(APPEND se_libs_name) +# endif() +endif() + +if(USE_SE_SM) + list(APPEND se_libs_name + js_static + mozglue + ) + +endif() + +if(USE_SE_JSC) + find_library(JAVASCRIPT_CORE_LIBRARY JavaScriptCore REQUIRED) + set(se_libs_name ${JAVASCRIPT_CORE_LIBRARY}) +endif() + + +if(USE_TIFF) + list(APPEND CC_EXTERNAL_LIBS + tiff + ) +endif() + +list(APPEND CC_EXTERNAL_INCLUDES + ${CMAKE_CURRENT_LIST_DIR}/include +) + +list(APPEND CC_EXTERNAL_LIBS + freetype + jpeg + png + webp + ${se_libs_name} + crypto + ssl +) diff --git a/mac/CMakeLists.txt b/mac/CMakeLists.txt new file mode 100644 index 00000000..d2e4a706 --- /dev/null +++ b/mac/CMakeLists.txt @@ -0,0 +1,139 @@ + +add_library(crypto STATIC IMPORTED GLOBAL) +set_target_properties(crypto PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libcrypto.a +) + +add_library(curl STATIC IMPORTED GLOBAL) +set_target_properties(curl PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libcurl.a +) + +add_library(freetype STATIC IMPORTED GLOBAL) +set_target_properties(freetype PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libfreetype.a +) + +add_library(glfw3 STATIC IMPORTED GLOBAL) +set_target_properties(glfw3 PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libglfw3.a +) + + +add_library(jpeg STATIC IMPORTED GLOBAL) +set_target_properties(jpeg PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libjpeg.a +) + +add_library(png STATIC IMPORTED GLOBAL) +set_target_properties(png PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libpng.a +) + +add_library(ssl STATIC IMPORTED GLOBAL) +set_target_properties(ssl PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libssl.a +) + +add_library(tiff STATIC IMPORTED GLOBAL) +set_target_properties(tiff PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libtiff.a +) + +add_library(uv STATIC IMPORTED GLOBAL) +set_target_properties(uv PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libuv_a.a + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/uv +) + +add_library(webp STATIC IMPORTED GLOBAL) +set_target_properties(webp PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libwebp.a +) + +add_library(websockets STATIC IMPORTED GLOBAL) +set_target_properties(websockets PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libwebsockets.a +) + +add_library(z STATIC IMPORTED GLOBAL) +set_target_properties(z PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libz.a + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/zlib +) + +add_library(v8_monolith STATIC IMPORTED GLOBAL) +set_target_properties(v8_monolith PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libv8_monolith.a + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/v8 +) + +add_library(inspector STATIC IMPORTED GLOBAL) +set_target_properties(inspector PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libinspector.a +) + +add_library(js_static STATIC IMPORTED GLOBAL) +set_target_properties(js_static PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libjs_static.a + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/spidermonkey +) + +add_library(mozglue STATIC IMPORTED GLOBAL) +set_target_properties(mozglue PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libmozglue.a +) + +set(se_libs_name) + +if(USE_SE_V8) + list(APPEND se_libs_name + v8_monolith + uv + ) + if(USE_V8_DEBUGGER) + list(APPEND se_libs_name inspector) + endif() +endif() + +if(USE_SE_SM) + list(APPEND se_libs_name + js_static + mozglue + ) + +endif() + +if(USE_SE_JSC) + find_library(JAVASCRIPT_CORE_LIBRARY JavaScriptCore REQUIRED) + set(se_libs_name ${JAVASCRIPT_CORE_LIBRARY}) +endif() + +# if(USE_SOCKETS) +# list(APPEND CC_EXTERNAL_LIBS +# websockets +# ) +# endif() + +if(USE_TIFF) + list(APPEND CC_EXTERNAL_LIBS + tiff + ) +endif() + +list(APPEND CC_EXTERNAL_LIBS + freetype + glfw3 + jpeg + png + webp + curl + ${se_libs_name} + crypto + ssl + z +) + +list(APPEND CC_EXTERNAL_INCLUDES + ${CMAKE_CURRENT_LIST_DIR}/include +) \ No newline at end of file diff --git a/sources/CMakeLists.txt b/sources/CMakeLists.txt new file mode 100644 index 00000000..e1fb5c85 --- /dev/null +++ b/sources/CMakeLists.txt @@ -0,0 +1,59 @@ + + + +set(CC_EXTERNAL_SROUCES + ${CMAKE_CURRENT_LIST_DIR}/tinyxml2/tinyxml2.cpp + ${CMAKE_CURRENT_LIST_DIR}/tinyxml2/tinyxml2.h + + ${CMAKE_CURRENT_LIST_DIR}/xxtea/xxtea.cpp + ${CMAKE_CURRENT_LIST_DIR}/xxtea/xxtea.h + + ${CMAKE_CURRENT_LIST_DIR}/unzip/crypt.h + ${CMAKE_CURRENT_LIST_DIR}/unzip/ioapi.cpp + ${CMAKE_CURRENT_LIST_DIR}/unzip/ioapi.h + ${CMAKE_CURRENT_LIST_DIR}/unzip/ioapi_mem.cpp + ${CMAKE_CURRENT_LIST_DIR}/unzip/ioapi_mem.h + ${CMAKE_CURRENT_LIST_DIR}/unzip/unzip.cpp + ${CMAKE_CURRENT_LIST_DIR}/unzip/unzip.h + + + ${CMAKE_CURRENT_LIST_DIR}/ConvertUTF/ConvertUTF.c + ${CMAKE_CURRENT_LIST_DIR}/ConvertUTF/ConvertUTF.h + ${CMAKE_CURRENT_LIST_DIR}/ConvertUTF/ConvertUTFWrapper.cpp +) + +if(ANDROID) + + include(${CMAKE_CURRENT_LIST_DIR}/pvmp3dec/CMakeLists.txt) + include(${CMAKE_CURRENT_LIST_DIR}/tremolo/CMakeLists.txt) + + list(APPEND CC_EXTERNAL_LIBS + pvmp3dec + vorbisidec + ) + + if(ANDROID_NDK) + list(APPEND CC_EXTERNAL_SROUCES + ${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c + ) + list(APPEND CC_EXTERNAL_INCLUDES + ${ANDROID_NDK}/sources/android/cpufeatures + ) + endif() + +elseif(WINDOWS) + set_source_files_properties(${CMAKE_CURRENT_LIST_DIR}/ConvertUTF/ConvertUTF.c PROPERTIES + LANGUAGE C + ) +elseif(APPLE) + if(USE_SOCKET) + include(${CMAKE_CURRENT_LIST_DIR}/SocketRocket/CMakeLists.txt) + list(APPEND CC_EXTERNAL_LIBS + SocketRocket + ) + endif() +endif() + +list(APPEND CC_EXTERNAL_INCLUDES + ${CMAKE_CURRENT_LIST_DIR} +) \ No newline at end of file diff --git a/sources/ConvertUTF/CMakeLists.txt b/sources/ConvertUTF/CMakeLists.txt new file mode 100644 index 00000000..452a99d0 --- /dev/null +++ b/sources/ConvertUTF/CMakeLists.txt @@ -0,0 +1,8 @@ + +add_library(ConvertUTF + ${CMAKE_CURRENT_LIST_DIR}/ConvertUTF.h + ${CMAKE_CURRENT_LIST_DIR}/ConvertUTF.c + ${CMAKE_CURRENT_LIST_DIR}/ConvertUTFWrapper.cpp +) + +target_include_directories(ConvertUTF PUBLIC ${CMAKE_CURRENT_LIST_DIR}) \ No newline at end of file diff --git a/sources/SocketRocket/CMakeLists.txt b/sources/SocketRocket/CMakeLists.txt new file mode 100644 index 00000000..4d3a0dde --- /dev/null +++ b/sources/SocketRocket/CMakeLists.txt @@ -0,0 +1,66 @@ + + + +set(SOCKET_ROCKET_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/SRWebSocket.m + ${CMAKE_CURRENT_LIST_DIR}/NSRunLoop+SRWebSocket.m + ${CMAKE_CURRENT_LIST_DIR}/SRSecurityPolicy.m + ${CMAKE_CURRENT_LIST_DIR}/SocketRocket.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/SRConstants.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Proxy/SRProxyConnect.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Proxy/SRProxyConnect.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/RunLoop/SRRunLoopThread.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/RunLoop/SRRunLoopThread.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Security/SRPinningSecurityPolicy.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Security/SRPinningSecurityPolicy.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/NSRunLoop+SRWebSocketPrivate.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Delegate/SRDelegateController.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Delegate/SRDelegateController.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/NSURLRequest+SRWebSocketPrivate.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRHash.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRLog.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRMutex.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRHTTPConnectMessage.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRSIMDHelpers.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRRandom.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRURLUtilities.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRError.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRLog.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRHash.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRMutex.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRHTTPConnectMessage.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRError.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRRandom.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRURLUtilities.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities/SRSIMDHelpers.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/IOConsumer/SRIOConsumerPool.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/IOConsumer/SRIOConsumer.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/IOConsumer/SRIOConsumer.h + ${CMAKE_CURRENT_LIST_DIR}/Internal/IOConsumer/SRIOConsumerPool.m + ${CMAKE_CURRENT_LIST_DIR}/Internal/SRConstants.m + ${CMAKE_CURRENT_LIST_DIR}/NSURLRequest+SRWebSocket.h + ${CMAKE_CURRENT_LIST_DIR}/SRWebSocket.h + ${CMAKE_CURRENT_LIST_DIR}/NSRunLoop+SRWebSocket.h + ${CMAKE_CURRENT_LIST_DIR}/SRSecurityPolicy.h + ${CMAKE_CURRENT_LIST_DIR}/NSURLRequest+SRWebSocket.m +) + +add_library(SocketRocket ${SOCKET_ROCKET_SOURCES}) + +cocos_mark_code_files(SocketRocket) + +target_include_directories(SocketRocket + PUBLIC ${CMAKE_CURRENT_LIST_DIR} + PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../ + PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Internal + PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Internal/Utilities + PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Internal/RunLoop + PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Internal/Security + PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Internal/Delegate + PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Internal/IOConsumer + PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Internal/Proxy +) + +target_compile_options(SocketRocket PRIVATE + -fobjc-arc +) diff --git a/sources/cjson/CMakeLists.txt b/sources/cjson/CMakeLists.txt new file mode 100644 index 00000000..0b11f6f7 --- /dev/null +++ b/sources/cjson/CMakeLists.txt @@ -0,0 +1,12 @@ + + +add_library(cjson + ${CMAKE_CURRENT_LIST_DIR}/fpconv.h + ${CMAKE_CURRENT_LIST_DIR}/lua_cjson.h + ${CMAKE_CURRENT_LIST_DIR}/strbuf.h + ${CMAKE_CURRENT_LIST_DIR}/lua_cjson.c + ${CMAKE_CURRENT_LIST_DIR}/fpconv.c + ${CMAKE_CURRENT_LIST_DIR}/strbuf.c +) + +target_include_directories(cjson PUBLIC ${CMAKE_CURRENT_LIST_DIR}) \ No newline at end of file diff --git a/sources/clipper/CMakeLists.txt b/sources/clipper/CMakeLists.txt new file mode 100644 index 00000000..9342e0a3 --- /dev/null +++ b/sources/clipper/CMakeLists.txt @@ -0,0 +1,7 @@ + +add_library(clipper + ${CMAKE_CURRENT_LIST_DIR}/clipper.hpp + ${CMAKE_CURRENT_LIST_DIR}/clipper.cpp +) + +target_include_directories(clipper PUBLIC ${CMAKE_CURRENT_LIST_DIR}) \ No newline at end of file diff --git a/sources/edtaa3func/CMakeLists.txt b/sources/edtaa3func/CMakeLists.txt new file mode 100644 index 00000000..fc7d8d42 --- /dev/null +++ b/sources/edtaa3func/CMakeLists.txt @@ -0,0 +1,6 @@ + + +add_library(edtaa3func + ${CMAKE_CURRENT_LIST_DIR}/edtaa3func.h + ${CMAKE_CURRENT_LIST_DIR}/edtaa3func.cpp +) \ No newline at end of file diff --git a/sources/google-breakpad/CMakeLists.txt b/sources/google-breakpad/CMakeLists.txt new file mode 100644 index 00000000..452e04d5 --- /dev/null +++ b/sources/google-breakpad/CMakeLists.txt @@ -0,0 +1,28 @@ + +add_library(google-breakpad + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/crash_generation/crash_generation_client.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/dump_writer_common/thread_info.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/dump_writer_common/ucontext_reader.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/handler/exception_handler.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/handler/minidump_descriptor.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/log/log.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/microdump_writer/microdump_writer.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/minidump_writer/linux_dumper.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/minidump_writer/linux_ptrace_dumper.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/linux/minidump_writer/minidump_writer.cc + ${CMAKE_CURRENT_LIST_DIR}/src/client/minidump_file_writer.cc + ${CMAKE_CURRENT_LIST_DIR}/src/common/android/breakpad_getcontext.S + ${CMAKE_CURRENT_LIST_DIR}/src/common/md5.cc + ${CMAKE_CURRENT_LIST_DIR}/src/common/string_conversion.cc + ${CMAKE_CURRENT_LIST_DIR}/src/common/linux/elfutils.cc + ${CMAKE_CURRENT_LIST_DIR}/src/common/linux/file_id.cc + ${CMAKE_CURRENT_LIST_DIR}/src/common/linux/guid_creator.cc + ${CMAKE_CURRENT_LIST_DIR}/src/common/linux/linux_libc_support.cc + ${CMAKE_CURRENT_LIST_DIR}/src/common/linux/memory_mapped_file.cc + ${CMAKE_CURRENT_LIST_DIR}/src/common/linux/safe_readlink.cc +) + +target_include_directories(google-breakpad PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/src + ${CMAKE_CURRENT_LIST_DIR}/src/common/android/include +) \ No newline at end of file diff --git a/sources/pvmp3dec/CMakeLists.txt b/sources/pvmp3dec/CMakeLists.txt new file mode 100644 index 00000000..3ba4cd88 --- /dev/null +++ b/sources/pvmp3dec/CMakeLists.txt @@ -0,0 +1,83 @@ +cmake_minimum_required(VERSION 3.8) + + + +set(PVMP3SOURCE + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_normalize.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_alias_reduction.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_crc.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_decode_header.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_decode_huff_cw.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_getbits.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_dequantize_sample.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_framedecoder.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_get_main_data_size.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_get_side_info.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_get_scale_factors.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_mpeg2_get_scale_data.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_mpeg2_get_scale_factors.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_mpeg2_stereo_proc.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_huffman_decoding.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_huffman_parsing.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_tables.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_imdct_synth.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_mdct_6.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_dct_6.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_poly_phase_synthesis.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_equalizer.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_seek_synch.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_stereo_proc.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_reorder.cpp +) + + + + +message(STATUS "-------------------abi for pvmp3:${ANDROID_ABI}------------------------------") + +if("${ANDROID_ABI}" MATCHES "armeabi.*") + message(STATUS "pvmp3dec compile with asm") + set(PVMP3SOURCE_ASM + ${CMAKE_CURRENT_LIST_DIR}/src/asm/pvmp3_polyphase_filter_window_gcc.s + ${CMAKE_CURRENT_LIST_DIR}/src/asm/pvmp3_mdct_18_gcc.s + ${CMAKE_CURRENT_LIST_DIR}/src/asm/pvmp3_dct_9_gcc.s + ${CMAKE_CURRENT_LIST_DIR}/src/asm/pvmp3_dct_16_gcc.s + ) + #set_source_files_properties(${PVMP3SOURCE_ASM} PROPERTIES LANGUAGE ASM) + set_source_files_properties(${PVMP3SOURCE_ASM} PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp" ) + + list(APPEND PVMP3SOURCE ${PVMP3SOURCE_ASM}) +else() + list(APPEND PVMP3SOURCE + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_polyphase_filter_window.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_mdct_18.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_dct_9.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/pvmp3_dct_16.cpp + ) +endif() + +message(STATUS "pvmp3dec source list ->") +message(STATUS "${PVMP3SOURCE}") + +add_library(pvmp3dec ${PVMP3SOURCE}) + +target_include_directories(pvmp3dec PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/src + ${CMAKE_CURRENT_LIST_DIR}/include +) + +# set_target_properties(pvmp3dec +# PROPERTIES LINK_LANGUAGE ASM +# ) + +file(WRITE ${CMAKE_CURRENT_LIST_DIR}/def.h "#pragma once\n#define OSCL_UNUSED_ARG(x) (void)(x)") + +# target_compile_definitions(pvmp3dec PRIVATE +# OSCL_UNUSED_ARG(x)=(void)(x) +# ) + +target_compile_options(pvmp3dec PRIVATE + #-fsanitize=signed-integer-overflow + -include ${CMAKE_CURRENT_LIST_DIR}/def.h + # +) \ No newline at end of file diff --git a/sources/tremolo/CMakeLists.txt b/sources/tremolo/CMakeLists.txt new file mode 100644 index 00000000..2880fdf4 --- /dev/null +++ b/sources/tremolo/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.8) + +set(VORIBISIDEC_SOURCE + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/bitwise.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/codebook.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/dsp.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/floor0.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/floor1.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/floor_lookup.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/framing.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/info.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/mapping0.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/mdct.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/misc.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/res012.c + ${CMAKE_CURRENT_LIST_DIR}/Tremolo/vorbisfile.c +) + + +add_library(vorbisidec ${VORIBISIDEC_SOURCE}) + +set_target_properties(vorbisidec PROPERTIES LANGUAGE C) + +target_include_directories(vorbisidec PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/Tremolo +) + +target_compile_definitions(vorbisidec PRIVATE + ONLY_C +) diff --git a/win32/CMakeLists.txt b/win32/CMakeLists.txt new file mode 100644 index 00000000..7cc2191e --- /dev/null +++ b/win32/CMakeLists.txt @@ -0,0 +1,252 @@ +add_library(dbghelp SHARED IMPORTED GLOBAL) + +set_target_properties(dbghelp PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/dbghelp.dll +) + +add_library(freetype STATIC IMPORTED GLOBAL) + +set_target_properties(freetype PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/freetype.lib +) + +add_library(glew32 SHARED IMPORTED GLOBAL) + +set_target_properties(glew32 PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glew32.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/glew32.lib +) + +add_library(glfw3-2015 STATIC IMPORTED GLOBAL) + +set_target_properties(glfw3-2015 PROPERTIES + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/glfw3-2015.lib +) + +add_library(glfw3 STATIC IMPORTED GLOBAL) + +set_target_properties(glfw3 PROPERTIES + #IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glfw3.lib + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glfw3-2015.lib + #IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/glfw3-2015.lib +) + +add_library(iconv SHARED IMPORTED GLOBAL) + +set_target_properties(iconv PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/iconv.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libiconv.lib +) + + +add_library(crypto STATIC IMPORTED GLOBAL) + +set_target_properties(crypto PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libcrypto.lib + #IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libcrypto.lib + #IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libcrypto-1_1.dll +) + + +add_library(curl SHARED IMPORTED GLOBAL) + +set_target_properties(curl PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libcurl.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libcurl.lib +) + +add_library(jpeg STATIC IMPORTED GLOBAL) + +set_target_properties(jpeg PROPERTIES + #IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libjpeg.lib + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libjpeg-2015.lib +) + +add_library(mpg123 SHARED IMPORTED GLOBAL) + +set_target_properties(mpg123 PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libmpg123.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libmpg123.lib +) + +add_library(ogg SHARED IMPORTED GLOBAL) + +set_target_properties(ogg PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libogg.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libogg.lib +) + +add_library(png STATIC IMPORTED GLOBAL) + +set_target_properties(png PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libpng-2015.lib + #IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libpng.lib +) + + +add_library(ssl STATIC IMPORTED GLOBAL) + +set_target_properties(ssl PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libssl.lib + #IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libssl-1_1.dll +) + +# add_library(tiff-2015 STATIC IMPORTED GLOBAL) + +# set_target_properties(tiff-2015 PROPERTIES +# IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libtiff-2015.lib +# ) + +add_library(tiff SHARED IMPORTED GLOBAL) + +set_target_properties(tiff PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libtiff.dll + #IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libtiff.lib + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libtiff-2015.lib +) + +add_library(uv STATIC IMPORTED GLOBAL) + +set_target_properties(uv PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libuv.lib + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/uv +) + + +add_library(vorbis SHARED IMPORTED GLOBAL) + +set_target_properties(vorbis PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libvorbis.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libvorbis.lib +) + +add_library(vorbisfile SHARED IMPORTED GLOBAL) + +set_target_properties(vorbisfile PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libvorbisfile.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/libvorbisfile.lib +) + +add_library(webp STATIC IMPORTED GLOBAL) + +set_target_properties(webp PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libwebp.lib +) + +add_library(zlib STATIC IMPORTED GLOBAL) + +set_target_properties(zlib PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libzlib.lib + #IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/zlib1.dll + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/zlib +) + +add_library(websockets SHARED IMPORTED GLOBAL) + +set_target_properties(websockets PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/websockets.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/websockets.lib +) + + +add_library(OpenAL32 SHARED IMPORTED GLOBAL) + +set_target_properties(OpenAL32 PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/OpenAL32.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/OpenAL32.lib +) + +add_library(sqlite3 SHARED IMPORTED GLOBAL) + +set_target_properties(sqlite3 PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/sqlite3.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/sqlite3.lib +) + +set(se_libs_name) + +if(USE_SE_V8) + + add_library(v8 SHARED IMPORTED GLOBAL) + set_target_properties(v8 PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/v8.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/v8.dll.lib + ) + + add_library(v8_libbase SHARED IMPORTED GLOBAL) + set_target_properties(v8_libbase PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/v8_libbase.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/v8_libbase.dll.lib + ) + + add_library(v8_libplatform SHARED IMPORTED GLOBAL) + set_target_properties(v8_libplatform PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/v8_libplatform.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/v8_libplatform.dll.lib + ) + + target_link_libraries(v8 INTERFACE v8_libbase v8_libplatform) + + set_target_properties(v8 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/v8 + ) + + set(se_libs_name v8) + +endif() + + +if(USE_SE_SM) + add_library(mozglue STATIC IMPORTED GLOBAL) + + set_target_properties(mozglue PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/mozglue.lib + # IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/Debug/mozglue.lib + ) + + add_library(mozjs SHARED IMPORTED GLOBAL) + + set_target_properties(mozjs PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/Debug/mozjs-52.dll + IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/Debug/mozjs-52.lib + #IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/mozjs-52.dll + #IMPORTED_IMPLIB ${CMAKE_CURRENT_LIST_DIR}/libs/mozjs-52.lib + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/spidermonkey + ) + + # add_library(nspr4 SHARED IMPORTED GLOBAL) + # set_target_properties(nspr4 PROPERTIES + # IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/nspr4.dll + # ) + + set(se_libs_name mozglue mozjs) + +endif() + +list(APPEND CC_EXTERNAL_LIBS + freetype + glew32 + glfw3 + iconv + crypto + curl + jpeg + mpg123 + ogg + png + ssl + tiff + uv + vorbis + vorbisfile + webp + OpenAL32 + sqlite3 + ${se_libs_name} + zlib + websockets +) + +list(APPEND CC_EXTERNAL_INCLUDES + ${CMAKE_CURRENT_LIST_DIR}/include +) \ No newline at end of file