example: Fix for android

This commit is contained in:
Sandy Carter
2023-01-15 20:58:32 -05:00
committed by Sandy
parent e5fea62b02
commit 0479a929a7
2 changed files with 23 additions and 7 deletions

View File

@@ -97,3 +97,8 @@ jobs:
- name: Build - name: Build
run: | run: |
cmake --build "${{ env.CMAKE_BUILD_DIR }}" cmake --build "${{ env.CMAKE_BUILD_DIR }}"
# Build the examples which are excluded from all
- name: Build examples
run: |
cmake --build "${{ env.CMAKE_BUILD_DIR }}" --target examples

View File

@@ -157,10 +157,15 @@ function(add_example ARG_NAME)
find_package(SDL2 REQUIRED) find_package(SDL2 REQUIRED)
target_link_libraries(example-${ARG_NAME} PUBLIC ${SDL2_LIBRARIES}) target_link_libraries(example-${ARG_NAME} PUBLIC ${SDL2_LIBRARIES})
target_compile_definitions(example-${ARG_NAME} PUBLIC ENTRY_CONFIG_USE_SDL) target_compile_definitions(example-${ARG_NAME} PUBLIC ENTRY_CONFIG_USE_SDL)
elseif(UNIX AND NOT APPLE) elseif(UNIX AND NOT APPLE AND NOT ANDROID)
target_link_libraries(example-${ARG_NAME} PUBLIC X11) target_link_libraries(example-${ARG_NAME} PUBLIC X11)
endif() endif()
if(ANDROID)
target_include_directories(example-${ARG_NAME} PRIVATE ${BGFX_DIR}/3rdparty/native_app_glue)
target_link_libraries(example-${ARG_NAME} INTERFACE android EGL GLESv2)
endif()
if(BGFX_BUILD_EXAMPLES) if(BGFX_BUILD_EXAMPLES)
if(IOS OR WIN32) if(IOS OR WIN32)
# on iOS we need to build a bundle so have to copy the data rather than symlink # on iOS we need to build a bundle so have to copy the data rather than symlink
@@ -205,12 +210,16 @@ function(add_example ARG_NAME)
endif() endif()
else() else()
if(BGFX_INSTALL_EXAMPLES) if(ANDROID)
add_executable(example-${ARG_NAME} WIN32 ${SOURCES}) add_library(example-${ARG_NAME} SHARED)
else() else()
add_executable(example-${ARG_NAME} WIN32 EXCLUDE_FROM_ALL ${SOURCES}) add_executable(example-${ARG_NAME} WIN32)
endif() endif()
target_link_libraries(example-${ARG_NAME} example-common) if(NOT BGFX_INSTALL_EXAMPLES)
set_property(TARGET example-${ARG_NAME} PROPERTY EXCLUDE_FROM_ALL ON)
endif()
target_sources(example-${ARG_NAME} PUBLIC ${SOURCES})
target_link_libraries(example-${ARG_NAME} PUBLIC example-common)
configure_debugging(example-${ARG_NAME} WORKING_DIR ${BGFX_DIR}/examples/runtime) configure_debugging(example-${ARG_NAME} WORKING_DIR ${BGFX_DIR}/examples/runtime)
if(MSVC) if(MSVC)
set_target_properties(example-${ARG_NAME} PROPERTIES LINK_FLAGS "/ENTRY:\"mainCRTStartup\"") set_target_properties(example-${ARG_NAME} PROPERTIES LINK_FLAGS "/ENTRY:\"mainCRTStartup\"")
@@ -230,8 +239,10 @@ function(add_example ARG_NAME)
endif() endif()
endif() endif()
target_compile_definitions( target_compile_definitions(
example-${ARG_NAME} PRIVATE "-D_CRT_SECURE_NO_WARNINGS" "-D__STDC_FORMAT_MACROS" example-${ARG_NAME}
"-DENTRY_CONFIG_IMPLEMENT_MAIN=1" PRIVATE "-D_CRT_SECURE_NO_WARNINGS" #
"-D__STDC_FORMAT_MACROS" #
"-DENTRY_CONFIG_IMPLEMENT_MAIN=1" #
) )
# Configure shaders # Configure shaders