cocos-engine-external/ios-m1-simulator/CMakeLists.txt

221 lines
6.9 KiB
CMake

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(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(V8_COMPILE_FLAGS
V8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64
ENABLE_MINOR_MC
ENABLE_HANDLE_ZAPPING
V8_ATOMIC_OBJECT_FIELD_WRITES
V8_ATOMIC_MARKING_STATE
V8_ENABLE_LAZY_SOURCE_POSITIONS
V8_SHARED_RO_HEAP
V8_WIN64_UNWINDING_INFO
V8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH
V8_SNAPSHOT_COMPRESSION
V8_ENABLE_SYSTEM_INSTRUMENTATION
V8_ENABLE_WEBASSEMBLY
V8_DEPRECATION_WARNINGS
V8_IMMINENT_DEPRECATION_WARNINGS
CPPGC_CAGED_HEAP
V8_TARGET_ARCH_ARM64
V8_HAVE_TARGET_OS
V8_TARGET_OS_IOS
DISABLE_UNTRUSTED_CODE_MITIGATIONS
)
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
# INTERFACE_COMPILE_DEFINITIONS ${V8_COMPILE_FLAGS}
)
set_property(TARGET v8_monolith APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS ${V8_COMPILE_FLAGS})
# 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_JSC)
find_library(JAVASCRIPT_CORE_LIBRARY JavaScriptCore REQUIRED)
set(se_libs_name ${JAVASCRIPT_CORE_LIBRARY})
endif()
############################# glslang #############################
add_library(GenericCodeGen STATIC IMPORTED GLOBAL)
set_target_properties(GenericCodeGen PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libGenericCodeGen.a
)
add_library(glslang STATIC IMPORTED GLOBAL)
set_target_properties(glslang PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libglslang.a
)
add_library(glslang-default-resource-limits STATIC IMPORTED GLOBAL)
set_target_properties(glslang-default-resource-limits PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libglslang-default-resource-limits.a
)
add_library(MachineIndependent STATIC IMPORTED GLOBAL)
set_target_properties(MachineIndependent PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libMachineIndependent.a
)
add_library(OGLCompiler STATIC IMPORTED GLOBAL)
set_target_properties(OGLCompiler PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libOGLCompiler.a
)
add_library(OSDependent STATIC IMPORTED GLOBAL)
set_target_properties(OSDependent PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libOSDependent.a
)
add_library(SPIRV STATIC IMPORTED GLOBAL)
set_target_properties(SPIRV PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libSPIRV.a
)
add_library(SPIRV-Tools STATIC IMPORTED GLOBAL)
set_target_properties(SPIRV-Tools PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libSPIRV-Tools.a
)
add_library(SPIRV-Tools-opt STATIC IMPORTED GLOBAL)
set_target_properties(SPIRV-Tools-opt PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libSPIRV-Tools-opt.a
)
add_library(SPVRemapper STATIC IMPORTED GLOBAL)
set_target_properties(SPVRemapper PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/glslang/libSPVRemapper.a
)
set(glslang_libs_name glslang glslang-default-resource-limits MachineIndependent OGLCompiler OSDependent SPIRV SPIRV-Tools-opt SPIRV-Tools SPVRemapper GenericCodeGen)
############################# SPIRV-Cross #############################
add_library(spirv-cross-core STATIC IMPORTED GLOBAL)
set_target_properties(spirv-cross-core PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/spirv-cross/libspirv-cross-core.a
)
add_library(spirv-cross-msl STATIC IMPORTED GLOBAL)
set_target_properties(spirv-cross-msl PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/spirv-cross/libspirv-cross-msl.a
)
add_library(spirv-cross-glsl STATIC IMPORTED GLOBAL)
set_target_properties(spirv-cross-glsl PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/spirv-cross/libspirv-cross-glsl.a
)
set(spirv-cross_libs_name spirv-cross-core spirv-cross-glsl spirv-cross-msl)
############################# TBB #############################
add_library(tbb STATIC IMPORTED GLOBAL)
set_target_properties(tbb PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libtbb_static.a
)
add_library(tbbmalloc STATIC IMPORTED GLOBAL)
set_target_properties(tbbmalloc PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libtbbmalloc_static.a
)
add_library(tbbmalloc_proxy STATIC IMPORTED GLOBAL)
set_target_properties(tbbmalloc_proxy PROPERTIES
IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libtbbmalloc_proxy_static.a
)
set(tbb_libs_name tbb tbbmalloc tbbmalloc_proxy)
## PHYSICS_PHYSX do not support simulator
# if(USE_PHYSICS_PHYSX)
# set(PhysXSDK PhysX PhysXCommon PhysXFoundation PhysXExtensions PhysXCooking PhysXCharacterKinematic PhysXVehicle PhysXPvdSDK)
# foreach(PX IN LISTS PhysXSDK)
# add_library(${PX} STATIC IMPORTED GLOBAL)
# set_target_properties(${PX} PROPERTIES
# IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/PhysX/lib${PX}_static_64.a
# )
# endforeach()
# else()
# set(PhysXSDK)
# endif()
list(APPEND CC_EXTERNAL_INCLUDES
${CMAKE_CURRENT_LIST_DIR}/include
)
list(APPEND CC_EXTERNAL_LIBS
freetype
jpeg
png
webp
crypto
ssl
${glslang_libs_name}
${spirv-cross_libs_name}
${tbb_libs_name}
${PhysXSDK}
)
set(ZLIB z)
if(NOT USE_MODULES)
list(APPEND CC_EXTERNAL_LIBS ${se_libs_name})
endif()