Skip to content

Commit 06d6f54

Browse files
committed
Android x86_64 fixes for Emu
1 parent d795070 commit 06d6f54

File tree

3 files changed

+18
-16
lines changed

3 files changed

+18
-16
lines changed

libs/openFrameworksCompiled/project/CMake/toolchain/android.toolchain.cmake

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ set(ANDROID_NATIVE_API_LEVEL ${ANDROID_API})
4444
# Detect Host Platform
4545
if(NOT DEFINED HOST_PLATFORM)
4646
if(CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")
47-
#if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64")
48-
# set(HOST_PLATFORM "darwin-arm64")
49-
#else()
47+
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64")
48+
set(HOST_PLATFORM "darwin-arm64")
49+
else()
5050
set(HOST_PLATFORM "darwin-x86_64")
51-
#endif()
51+
endif()
5252
elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
5353
set(HOST_PLATFORM "windows-x86_64") # Windows ARM64 is rare, adjust if needed
5454
elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
@@ -79,29 +79,29 @@ if(ANDROID_ABI STREQUAL "armeabi-v7a")
7979
set(CMAKE_ANDROID_ARM_MODE ON)
8080
set(CMAKE_ANDROID_ARM_NEON ON)
8181
set(CMAKE_SYSTEM_PROCESSOR "armv7-a")
82-
set(CMAKE_C_FLAGS "-mfpu=neon -mfloat-abi=softfp -O3 -ffast-math -funroll-loops -funsafe-math-optimizations --target=${ANDROID_TARGET}")
83-
set(CMAKE_CXX_FLAGS "-mfpu=neon -mfloat-abi=softfp -O3 -ffast-math -funroll-loops -funsafe-math-optimizations --target=${ANDROID_TARGET}")
82+
set(CMAKE_C_FLAGS "-mfpu=neon -mfloat-abi=softfp -O3 -ffast-math -funroll-loops -funsafe-math-optimizations --target=${ANDROID_TARGET} -D__ANDROID_API__=${ANDROID_API}")
83+
set(CMAKE_CXX_FLAGS "-mfpu=neon -mfloat-abi=softfp -O3 -ffast-math -funroll-loops -funsafe-math-optimizations -fexceptions -frtti --target=${ANDROID_TARGET} -D__ANDROID_API__=${ANDROID_API}")
8484
elseif(ANDROID_ABI STREQUAL "arm64-v8a")
8585
set(MACHINE "arm64")
8686
set(ANDROID_PREFIX "aarch64-linux-android")
8787
set(ANDROID_TARGET "aarch64-none-linux-android${ANDROID_NATIVE_API_LEVEL}")
8888
set(CMAKE_SYSTEM_PROCESSOR "aarch64")
89-
set(CMAKE_C_FLAGS "-O3 -ffast-math -funroll-loops -funsafe-math-optimizations --target=${ANDROID_TARGET}")
90-
set(CMAKE_CXX_FLAGS "-O3 -ffast-math -funroll-loops -funsafe-math-optimizations --target=${ANDROID_TARGET}")
89+
set(CMAKE_C_FLAGS "-O3 -ffast-math -funroll-loops -funsafe-math-optimizations --target=${ANDROID_TARGET} -D__ANDROID_API__=${ANDROID_API}")
90+
set(CMAKE_CXX_FLAGS "-O3 -fexceptions -frtti -ffast-math -funroll-loops -funsafe-math-optimizations --target=${ANDROID_TARGET} -D__ANDROID_API__=${ANDROID_API}")
9191
elseif(ANDROID_ABI STREQUAL "x86")
9292
set(MACHINE "i686")
9393
set(ANDROID_PREFIX "i686-linux-android")
9494
set(ANDROID_TARGET "i686-none-linux-android${ANDROID_NATIVE_API_LEVEL}")
9595
set(CMAKE_SYSTEM_PROCESSOR "i686")
96-
set(CMAKE_C_FLAGS "-msse4.2 -mavx -O3 -ffast-math -funroll-loops")
97-
set(CMAKE_CXX_FLAGS "-msse4.2 -mavx -O3 -ffast-math -funroll-loops")
96+
set(CMAKE_C_FLAGS "-O3 --target=${ANDROID_TARGET} -D__ANDROID_API__=${ANDROID_API}")
97+
set(CMAKE_CXX_FLAGS "-O3 -fexceptions -frtti --target=${ANDROID_TARGET} -D__ANDROID_API__=${ANDROID_API}")
9898
elseif(ANDROID_ABI STREQUAL "x86_64")
9999
set(MACHINE "x86_64")
100100
set(ANDROID_PREFIX "x86_64-linux-android")
101101
set(ANDROID_TARGET "x86_64-none-linux-android${ANDROID_NATIVE_API_LEVEL}")
102102
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
103-
set(CMAKE_C_FLAGS "-msse4.2 -mavx -O3 -ffast-math -funroll-loops --target=${ANDROID_TARGET}")
104-
set(CMAKE_CXX_FLAGS "-msse4.2 -mavx -O3 -ffast-math -funroll-loops --target=${ANDROID_TARGET}")
103+
set(CMAKE_C_FLAGS "-O3 --target=${ANDROID_TARGET} -D__ANDROID_API__=${ANDROID_API}")
104+
set(CMAKE_CXX_FLAGS "-O3 -fexceptions -frtti --target=${ANDROID_TARGET} -D__ANDROID_API__=${ANDROID_API}")
105105
else()
106106
message(FATAL_ERROR "Unsupported ANDROID_ABI: ${ANDROID_ABI}")
107107
endif()

libs/openFrameworksCompiled/project/android/openframeworksAndroid/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ set(PRJ_OFX_ANDROID_CPP_PATH ${PRJ_ADDONS_PATH}/ofxAndroid/src)
2626
set(CMAKE_CXX_STANDARD_REQUIRED ON)
2727
set(CMAKE_CXX_EXTENSIONS OFF)
2828
set(CONFIGURATION_BUILD_DIR ${OF_ANDROID_OUTPUT})
29-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ferror-limit=0 -std=c17 -Oz -Wall -fno-short-enums -fPIE -fPIC -fexceptions -ffunction-sections -fdata-sections")
30-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ferror-limit=0 -std=c++23 -Oz -stdlib=libc++ -Wall -fno-short-enums -fPIE -fPIC -fexceptions -ffunction-sections -fdata-sections")
29+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -Wall -fno-short-enums -fPIE -fPIC")
30+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall -fno-short-enums -fPIE -fPIC -fexceptions")
3131
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-export-dynamic")
3232
file(GLOB OF_SOURCES
3333
${OF_SOURCE_DIR}/*.cpp

libs/openFrameworksCompiled/project/android/openframeworksAndroid/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ tasks.register("prepareKotlinBuildScriptModel"){}
1818
android {
1919
namespace 'cc.openframeworks.android'
2020
compileSdkVersion 34
21-
ndkVersion '28.0.13004108'
22-
buildToolsVersion '35.0.0' // Updated from 35.0.1 to 34.0.0
21+
ndkVersion '28.2.13676358'
22+
buildToolsVersion '35.0.0'
2323

2424
defaultConfig {
2525
minSdkVersion 34
@@ -43,6 +43,8 @@ android {
4343
// Enable NEON only for ARM architectures
4444
if (android.defaultConfig.ndk.abiFilters.contains("armeabi-v7a") || android.defaultConfig.ndk.abiFilters.contains("arm64-v8a")) {
4545
arguments "-DANDROID_ARM_NEON=TRUE"
46+
} else {
47+
arguments "-DANDROID_ARM_NEON=FALSE"
4648
}
4749

4850
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'

0 commit comments

Comments
 (0)