Skip to content

Commit

Permalink
3.12 version OHOS adaptation (#20825)
Browse files Browse the repository at this point in the history
* 3.12 version OHOS adaptation

---------

Signed-off-by: @wanghui187 <[email protected]>
  • Loading branch information
wanghui187 authored Dec 27, 2024
1 parent 8b6a07f commit 853b6e2
Show file tree
Hide file tree
Showing 345 changed files with 28,076 additions and 114 deletions.
37 changes: 37 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
version: 1.0.{build}
skip_tags: true
skip_branch_with_pr: true
image:
- Visual Studio 2015
environment:
PYTHON: "C:\\Python27"
PYTHON_VERSION: "2.7.13"
PYTHON_ARCH: "32"
matrix:
# - build_type: windows32_cmake_test
# - build_type: windows32_sln_test
# - build_type: android_lua_tests
# - build_type: android_cocos_new_test
# - build_type: android_cpp_empty_test
# - build_type: android_gen_libs


platform:
- x86

configuration:
- Release


branches:
except:
- v1
- v2
- v4-develop
- v3-doc
- v3.11_backup
- v35-for-tizen

clone_depth: 1

test: off
9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,11 @@ include(BuildModules)
BuildModules()

# build cpp-empty-test
if(!OHOS)
if(BUILD_CPP_EMPTY_TEST)
add_subdirectory(tests/cpp-empty-test)
endif(BUILD_CPP_EMPTY_TEST)
endif()

# build cpp-tests
if(BUILD_CPP_TESTS)
Expand All @@ -113,13 +115,19 @@ if(BUILD_LUA_LIBS)

# build lua tests
if(BUILD_LUA_TESTS)
if(OHOS)
add_subdirectory(external/lua/luajit)
endif()
add_subdirectory(tests/lua-tests/project)
if(!OHOS)
add_subdirectory(tests/lua-empty-test/project)
endif()
endif(BUILD_LUA_TESTS)

endif(BUILD_LUA_LIBS)

## JS
if(!OHOS)
if(BUILD_JS_LIBS)
add_subdirectory(cocos/scripting/js-bindings)

Expand All @@ -129,3 +137,4 @@ if(BUILD_JS_LIBS)
endif(BUILD_JS_TESTS)

endif(BUILD_JS_LIBS)
endif()
27 changes: 19 additions & 8 deletions cmake/Modules/BuildModules.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ macro (BuildModules)

# Chipmunk
if(USE_CHIPMUNK)
if(USE_PREBUILT_LIBS)
if(USE_PREBUILT_LIBS OR OHOS)
cocos_find_package(Chipmunk CHIPMUNK REQUIRED)
endif()
endif(USE_CHIPMUNK)

# Box2d (not prebuilded, exists as source)
if(USE_BOX2D)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL OR OHOS)
add_subdirectory(external/Box2D)
set(Box2D_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/box2d/include)
set(Box2D_LIBRARIES box2d)
Expand All @@ -64,7 +64,7 @@ macro (BuildModules)

# Bullet (not prebuilded, exists as source)
if(USE_BULLET)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL OR OHOS)
add_subdirectory(external/bullet)
set(BULLET_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/bullet)
set(BULLET_LIBRARIES bullet)
Expand All @@ -75,9 +75,20 @@ macro (BuildModules)
message(STATUS "Bullet include dirs: ${BULLET_INCLUDE_DIRS}")
endif(USE_BULLET)

if(OHOS)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external/ohos-specific/pvmp3dec)
set(PVMP3DEC_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/ohos-specific/pvmp3dec/include)
set(PVMP3DEC_LIBRARIES pvmp3dec)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external/ohos-specific/tremolo)
set(TREMOLO_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/ohos-specific/tremolo)
set(TREMOLO_LIBRARIES tremolo)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external/openssl)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external/websockets)
endif(OHOS)

# Recast (not prebuilded, exists as source)
if(USE_RECAST)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL OR OHOS)
add_subdirectory(external/recast)
set(RECAST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/recast)
set(RECAST_LIBRARIES recast)
Expand All @@ -89,7 +100,7 @@ macro (BuildModules)
endif(USE_RECAST)

# Tinyxml2 (not prebuilded, exists as source)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL OR OHOS)
add_subdirectory(external/tinyxml2)
set(TinyXML2_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/tinyxml2)
set(TinyXML2_LIBRARIES tinyxml2)
Expand All @@ -107,7 +118,7 @@ macro (BuildModules)
# dists have packages from zlib, thats very old for us.
# moreover our embedded version modified to quick provide
# functionality needed by cocos.
if(USE_PREBUILT_LIBS OR NOT MINGW)
if(USE_PREBUILT_LIBS OR NOT MINGW OR OHOS)
#TODO: hack! should be in external/unzip/CMakeLists.txt
include_directories(${ZLIB_INCLUDE_DIRS})
add_subdirectory(external/unzip)
Expand All @@ -131,7 +142,7 @@ macro (BuildModules)
cocos_find_package(CURL CURL REQUIRED)

# flatbuffers
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL OR OHOS)
add_subdirectory(external/flatbuffers)
set(FLATBUFFERS_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external)
message(STATUS "Flatbuffers include dirs: ${FLATBUFFERS_INCLUDE_DIRS}")
Expand All @@ -140,7 +151,7 @@ macro (BuildModules)
endif()

# xxhash
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL)
if(USE_PREBUILT_LIBS OR USE_SOURCES_EXTERNAL OR OHOS)
add_subdirectory(external/xxhash)
set(XXHASH_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/xxhash)
set(XXHASH_LIBRARIES xxhash)
Expand Down
3 changes: 3 additions & 0 deletions cmake/Modules/CocosBuildHelpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ endfunction()
#IOS = iOS
#MACOSX = MacOS X
#LINUX = Linux
#OHOS = Ohos

if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
if(WINRT)
Expand All @@ -139,6 +140,8 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(APPLE TRUE)
set(SYSTEM_STRING "Mac OSX")
endif()
elseif(OHOS)
set(SYSTEM_STRING "HarmonyOS Next")
endif()

if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
Expand Down
13 changes: 13 additions & 0 deletions cmake/Modules/FindCURL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,19 @@ if(NOT CURL_FOUND)
# Windows older "Win32 - MSVC" prebuilts (libcurl.lib, e.g. libcurl-7.15.5-win32-msvc.zip):
libcurl
)
if(OHOS)
# Active set path
if(${CURL_INCLUDE_DIR} STREQUAL "CURL_INCLUDE_DIR-NOTFOUND")
set(CURL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/curl/include/ohos)
endif()

if(${CURL_LIBRARY} STREQUAL "CURL_LIBRARY-NOTFOUND")
set(CURL_LIBRARY
${CMAKE_CURRENT_SOURCE_DIR}/external/curl/prebuilt/ohos/libcurl.a
)
endif()
endif()

mark_as_advanced(CURL_LIBRARY)

if(CURL_INCLUDE_DIR)
Expand Down
13 changes: 13 additions & 0 deletions cmake/Modules/FindChipmunk.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,19 @@ FIND_LIBRARY(CHIPMUNK_LIBRARY

set(CHIPMUNK_INCLUDE_DIRS "${CHIPMUNK_INCLUDE_DIR}")

if(OHOS)
# Active set path
if(${CHIPMUNK_INCLUDE_DIR} STREQUAL "CHIPMUNK_INCLUDE_DIR-NOTFOUND")
set(CHIPMUNK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/chipmunk/include)
endif()

if(${CHIPMUNK_LIBRARY} STREQUAL "CHIPMUNK_LIBRARY-NOTFOUND")
set(CHIPMUNK_LIBRARY
${CMAKE_CURRENT_SOURCE_DIR}/external/chipmunk/prebuilt/ohos/libchipmunk.a
)
endif()
endif()

IF(CHIPMUNK_LIBRARY)
# include the math library for Unix
IF(UNIX AND NOT APPLE)
Expand Down
17 changes: 17 additions & 0 deletions cmake/Modules/FindFreetype.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,23 @@ find_library(FREETYPE_LIBRARY
[HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
)

if(OHOS)
# Active set path
if(${FREETYPE_INCLUDE_DIR_ft2build} STREQUAL "FREETYPE_INCLUDE_DIR_ft2build-NOTFOUND")
set(FREETYPE_INCLUDE_DIR_ft2build ${CMAKE_CURRENT_SOURCE_DIR}/external/freetype2/include/ohos)
endif()

if(${FREETYPE_INCLUDE_DIR_freetype2} STREQUAL "FREETYPE_INCLUDE_DIR_freetype2-NOTFOUND")
set(FREETYPE_INCLUDE_DIR_freetype2 ${CMAKE_CURRENT_SOURCE_DIR}/external/freetype2/include/ohos/freetype2)
endif()

if(${FREETYPE_LIBRARY} STREQUAL "FREETYPE_LIBRARY-NOTFOUND")
set(FREETYPE_LIBRARY
${CMAKE_CURRENT_SOURCE_DIR}/external/freetype2/prebuilt/ohos/libfreetype.a
)
endif()
endif()

# set the user variables
if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
set(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
Expand Down
12 changes: 12 additions & 0 deletions cmake/Modules/FindJPEG.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,18 @@ find_path(JPEG_INCLUDE_DIR jpeglib.h)
set(JPEG_NAMES ${JPEG_NAMES} jpeg)
find_library(JPEG_LIBRARY NAMES ${JPEG_NAMES} )

if(OHOS)
# Active set path
if(${JPEG_INCLUDE_DIR} STREQUAL "JPEG_INCLUDE_DIR-NOTFOUND")
set(JPEG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/jpeg/include/ohos)
endif()
if(${JPEG_LIBRARY} STREQUAL "JPEG_LIBRARY-NOTFOUND")
set(JPEG_LIBRARY
${CMAKE_CURRENT_SOURCE_DIR}/external/jpeg/prebuilt/ohos/libjpeg.a
)
endif()
endif()

# handle the QUIETLY and REQUIRED arguments and set JPEG_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
Expand Down
13 changes: 13 additions & 0 deletions cmake/Modules/FindPNG.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,19 @@ if(ZLIB_FOUND)
# find_package_handle_standard_args() below.
unset(PNG_FOUND)

if(OHOS)
# Active set path
if(${PNG_PNG_INCLUDE_DIR} STREQUAL "PNG_PNG_INCLUDE_DIR-NOTFOUND")
set(PNG_PNG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/png/include/ohos)
endif()

if(${PNG_LIBRARY} STREQUAL "PNG_LIBRARY-NOTFOUND")
set(PNG_LIBRARY
${CMAKE_CURRENT_SOURCE_DIR}/external/png/prebuilt/ohos/libpng.a
)
endif()
endif()

if (PNG_LIBRARY AND PNG_PNG_INCLUDE_DIR)
# png.h includes zlib.h. Sigh.
set(PNG_INCLUDE_DIRS ${PNG_PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} )
Expand Down
13 changes: 13 additions & 0 deletions cmake/Modules/FindTIFF.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,19 @@ find_library(TIFF_LIBRARY
/opt
)

if(OHOS)
# Active set path
if(${TIFF_INCLUDE_DIR} STREQUAL "TIFF_INCLUDE_DIR-NOTFOUND")
set(TIFF_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/tiff/include/ohos)
endif()

if(${TIFF_LIBRARY} STREQUAL "TIFF_LIBRARY-NOTFOUND")
set(TIFF_LIBRARY
${CMAKE_CURRENT_SOURCE_DIR}/external/tiff/prebuilt/ohos/libtiff.a
)
endif()
endif()

if(TIFF_INCLUDE_DIR AND EXISTS "${TIFF_INCLUDE_DIR}/tiffvers.h")
file(STRINGS "${TIFF_INCLUDE_DIR}/tiffvers.h" tiff_version_str
REGEX "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version .*")
Expand Down
13 changes: 13 additions & 0 deletions cmake/Modules/FindWEBSOCKETS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,19 @@ find_library(WEBSOCKETS_LIBRARY NAMES websockets libwebsockets
/opt
)

if(OHOS)
# Active set path
if(${WEBSOCKETS_INCLUDE_DIR} STREQUAL "WEBSOCKETS_INCLUDE_DIR-NOTFOUND")
set(WEBSOCKETS_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/websockets/include/ohos)
endif()

if(${WEBSOCKETS_LIBRARY} STREQUAL "WEBSOCKETS_LIBRARY-NOTFOUND")
set(WEBSOCKETS_LIBRARY
${CMAKE_CURRENT_SOURCE_DIR}/external/websockets/prebuilt/ohos/libwebsockets.a
)
endif()
endif()

set(WEBSOCKETS_INCLUDE_DIRS ${WEBSOCKETS_INCLUDE_DIR})
set(WEBSOCKETS_LIBRARIES ${WEBSOCKETS_LIBRARY})

Expand Down
13 changes: 13 additions & 0 deletions cmake/Modules/FindWebP.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,19 @@ FIND_LIBRARY(WEBP_LIBRARY
/opt
)

if(OHOS)
# Active set path
if(${WEBP_INCLUDE_DIR} STREQUAL "WEBP_INCLUDE_DIR-NOTFOUND")
set(WEBP_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/webp/include/ohos)
endif()

if(${WEBP_LIBRARY} STREQUAL "WEBP_LIBRARY-NOTFOUND")
set(WEBP_LIBRARY
${CMAKE_CURRENT_SOURCE_DIR}/external/webp/prebuilt/ohos/libwebp.a
)
endif()
endif()

set(WEBP_INCLUDE_DIRS "${WEBP_INCLUDE_DIR}")
set(WEBP_LIBRARIES "${WEBP_LIBRARY}")

Expand Down
19 changes: 18 additions & 1 deletion cmake/Modules/SetCompilerOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,23 @@ macro (SetCompilerOptions)
set(PLATFORM_FOLDER android)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexceptions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -latomic")
elseif(OHOS)
add_compile_options(-DUSE_FILE32API
-Wno-absolute-value
-Wno-extra
-Wno-implicit-int-float-conversion
-Wno-overloaded-virtual
-Wno-unused-function
-Wno-unused-private-field
-Wno-unused-parameter
-Wno-reorder-ctor
-Wno-unsequenced
-Wno-extra
-Wno-c++11-narrowing
-Wno-expansion-to-defined
-Wno-unused-command-line-argument
)
set(PLATFORM_FOLDER ohos)
else()
message( FATAL_ERROR "Unsupported platform, CMake will exit" )
return()
Expand All @@ -97,7 +114,7 @@ macro (SetCompilerOptions)
endif()
endif()

if (MINGW AND NOT USE_PREBUILT_LIBS)
if (MINGW AND NOT USE_PREBUILT_LIBS AND NOT OHOS)
add_definitions(-DMINIZIP_FROM_SYSTEM)
endif()

Expand Down
Loading

0 comments on commit 853b6e2

Please sign in to comment.