external use cmake (#75)

This commit is contained in:
coulsonwang 2019-12-25 14:10:32 +08:00 committed by minggo
parent 3416f2284a
commit ecf4b7d944
15 changed files with 1035 additions and 0 deletions

20
CMakeLists.txt Normal file
View File

@ -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()

182
android/CMakeLists.txt Normal file
View File

@ -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
)

View File

@ -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}")

109
ios/CMakeLists.txt Normal file
View File

@ -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
)

139
mac/CMakeLists.txt Normal file
View File

@ -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
)

59
sources/CMakeLists.txt Normal file
View File

@ -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}
)

View File

@ -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})

View File

@ -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
)

View File

@ -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})

View File

@ -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})

View File

@ -0,0 +1,6 @@
add_library(edtaa3func
${CMAKE_CURRENT_LIST_DIR}/edtaa3func.h
${CMAKE_CURRENT_LIST_DIR}/edtaa3func.cpp
)

View File

@ -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
)

View File

@ -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
#
)

View File

@ -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
)

252
win32/CMakeLists.txt Normal file
View File

@ -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
)