From e5fea62b02ca4344ccdb52bd21b14056a3efb8e9 Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Sat, 21 Jan 2023 18:18:34 -0500 Subject: [PATCH] tests: Enable tools tests on android --- .github/workflows/ci.yml | 2 +- cmake/bgfx/geometryv.cmake | 12 +++++++++--- cmake/bgfx/texturev.cmake | 10 ++++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a5316f5..f3912f7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: # Run CMake to generate Ninja project files - name: Generate project files run: | - cmake -B "${{ env.CMAKE_BUILD_DIR }}" -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake -DBGFX_BUILD_TOOLS=OFF + cmake -B "${{ env.CMAKE_BUILD_DIR }}" -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake # Build the whole project with Ninja (which is spawn by CMake). - name: Build diff --git a/cmake/bgfx/geometryv.cmake b/cmake/bgfx/geometryv.cmake index a790f43..cbea71e 100644 --- a/cmake/bgfx/geometryv.cmake +++ b/cmake/bgfx/geometryv.cmake @@ -8,7 +8,11 @@ # You should have received a copy of the CC0 Public Domain Dedication along with # this software. If not, see . -add_executable(geometryv) +if(ANDROID) + add_library(geometryv SHARED) +else() + add_executable(geometryv) +endif() # Grab the geometryv source files file(GLOB_RECURSE GEOMETRYV_SOURCES # @@ -16,7 +20,7 @@ file(GLOB_RECURSE GEOMETRYV_SOURCES # ) target_sources(geometryv PRIVATE ${GEOMETRYV_SOURCES}) -target_link_libraries(geometryv example-common) +target_link_libraries(geometryv PRIVATE example-common) set_target_properties( geometryv PROPERTIES FOLDER "bgfx/tools" # OUTPUT_NAME ${BGFX_TOOLS_PREFIX}geometryv # @@ -26,7 +30,9 @@ if(BGFX_BUILD_TOOLS_GEOMETRY AND BGFX_CUSTOM_TARGETS) add_dependencies(tools geometryv) endif() -if(EMSCRIPTEN) +if(ANDROID) + set_property(TARGET geometryv PROPERTY PREFIX "") +elseif(EMSCRIPTEN) target_link_options(geometryv PRIVATE -sMAX_WEBGL_VERSION=2) elseif(IOS) set_target_properties(geometryv PROPERTIES MACOSX_BUNDLE ON MACOSX_BUNDLE_GUI_IDENTIFIER geometryv) diff --git a/cmake/bgfx/texturev.cmake b/cmake/bgfx/texturev.cmake index 7b5f545..3e233e3 100644 --- a/cmake/bgfx/texturev.cmake +++ b/cmake/bgfx/texturev.cmake @@ -8,7 +8,11 @@ # You should have received a copy of the CC0 Public Domain Dedication along with # this software. If not, see . -add_executable(texturev) +if(ANDROID) + add_library(texturev SHARED) +else() + add_executable(texturev) +endif() # Grab the texturev source files file(GLOB_RECURSE TEXTUREV_SOURCES # @@ -26,7 +30,9 @@ if(BGFX_BUILD_TOOLS_TEXTURE AND BGFX_CUSTOM_TARGETS) add_dependencies(tools texturev) endif() -if(EMSCRIPTEN) +if(ANDROID) + set_property(TARGET texturev PROPERTY PREFIX "") +elseif(EMSCRIPTEN) target_link_options(texturev PRIVATE -sMAX_WEBGL_VERSION=2) elseif(IOS) set_target_properties(texturev PROPERTIES MACOSX_BUNDLE ON MACOSX_BUNDLE_GUI_IDENTIFIER texturev)