Skip to content

Commit 536c716

Browse files
committed
core CMake android update / cleanup
1 parent d76be15 commit 536c716

File tree

2 files changed

+18
-128
lines changed

2 files changed

+18
-128
lines changed

libs/openFrameworksCompiled/project/android/gradle.properties

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ android.enableJetifier=false
44
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
55
kotlin.code.style=official
66
android.prefabVersion=2.1.+
7-
# Workaround bug in AGP where the prefab dependency is being resolved from a
8-
# non-Gradle thread when enableParallelJsonGen is enabled.
9-
# https://issuetracker.google.com/149575364
107
android.enableParallelJsonGen=false
118
android.buildFeatures.prefab = true
129
android.nonTransitiveRClass=false

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

Lines changed: 18 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,30 @@
33
cmake_minimum_required(VERSION 3.22.1)
44

55
project(openFrameworksAndroid LANGUAGES CXX)
6-
7-
set(CMAKE_VERBOSE_MAKEFILE on)
6+
set(CMAKE_C_STANDARD 17)
7+
set(CMAKE_CXX_STANDARD 23)
8+
set(OF_LIBRARY_TYPE "SHARED") # or "STATIC"
9+
set(CMAKE_VERBOSE_MAKEFILE ON)
810

911
set(LOCAL_PATH ${CMAKE_SOURCE_DIR})
1012
set(PRJ_OF_ROOT ${LOCAL_PATH}/../../../../../)
1113
set(PURE_OF_ROOT ${LOCAL_PATH}/../../../../../)
1214
set(LIBS_ROOT ${PURE_OF_ROOT}/libs)
1315
set(CORE_OF_ROOT ${PURE_OF_ROOT}/libs/openFrameworks)
14-
1516
set(PRJ_ADDONS_PATH ${PURE_OF_ROOT}/addons)
1617
set(PRJ_SOURCE_PATH ${LIBS_ROOT}/openFrameworks)
1718
set(OF_SOURCE_DIR ${PRJ_SOURCE_PATH})
18-
1919
set(PRJ_LIBS_ROOT ${PURE_OF_ROOT}/libs)
20-
2120
set(OF_ANDROID ${PURE_OF_ROOT}/libs/openFrameworksCompiled/project/android)
2221
set(OF_ANDROID_OUTPUT ${PURE_OF_ROOT}/libs/openFrameworksCompiled/lib/android)
23-
2422
set(PRJ_OFX_ANDROID_PATH ${PRJ_ADDONS_PATH}/ofxAndroid)
2523
set(PRJ_OFX_ANDROID_CPP_PATH ${PRJ_ADDONS_PATH}/ofxAndroid/src)
26-
27-
set(CMAKE_CXX_STANDARD 23)
2824
set(CMAKE_CXX_STANDARD_REQUIRED ON)
2925
set(CMAKE_CXX_EXTENSIONS OFF)
3026
set(CONFIGURATION_BUILD_DIR ${OF_ANDROID_OUTPUT})
31-
3227
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ferror-limit=0 -std=c17 -Oz -Wall -fno-short-enums -fPIE -fPIC -fexceptions -ffunction-sections -fdata-sections")
3328
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")
3429
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-export-dynamic")
35-
# Creates the project's shared lib: libnative-lib.so.
36-
# The lib is loaded by this project's Java code in MainActivity.java:
37-
# System.loadLibrary("native-lib");
38-
# The lib name in both places must match.
39-
# Specify your native library name, type and the cpp source files.
40-
41-
# Gather all source files from relevant directories
4230
file(GLOB OF_SOURCES
4331
${OF_SOURCE_DIR}/*.cpp
4432
${OF_SOURCE_DIR}/3d/*.cpp
@@ -55,12 +43,8 @@ file(GLOB OF_SOURCES
5543
${PRJ_OFX_ANDROID_CPP_PATH}/*.cpp
5644
${PRJ_ADDONS_PATH}/ofxAddons/src/*.cpp
5745
${PRJ_ADDONS_PATH}/ofxAccelerometer/src/ofxAccelerometer.cpp
58-
# ${PRJ_ADDONS_PATH}/ofxXmlSettings/src/ofxXmlSettings.cpp
59-
# ${PRJ_ADDONS_PATH}/ofxXmlSettings/libs/tinyxml.cpp
60-
# ${PRJ_ADDONS_PATH}/ofxXmlSettings/libs/tinyxmlerror.cpp
61-
# ${PRJ_ADDONS_PATH}/ofxXmlSettings/libs/tinyxmlparser.cpp
6246
)
63-
47+
# exclusions
6448
list(REMOVE_ITEM OF_SOURCES
6549
"${OF_SOURCE_DIR}/app/ofAppEGLWindow.cpp"
6650
"${OF_SOURCE_DIR}/sound/ofMediaFoundationSoundPlayer.cpp"
@@ -71,85 +55,7 @@ list(REMOVE_ITEM OF_SOURCES
7155
"${OF_SOURCE_DIR}/video/ofDirectShowGrabber.cpp"
7256
)
7357

74-
add_library(openFrameworksAndroid SHARED ${OF_SOURCES})
75-
76-
#add_library( openFrameworksAndroid
77-
# SHARED
78-
# ${PRJ_SOURCE_PATH}/utils/ofFileUtils.cpp
79-
# ${PRJ_SOURCE_PATH}/utils/ofFpsCounter.cpp
80-
# ${PRJ_SOURCE_PATH}/utils/ofLog.cpp
81-
# ${PRJ_SOURCE_PATH}/utils/ofMatrixStack.cpp
82-
# ${PRJ_SOURCE_PATH}/utils/ofSystemUtils.cpp
83-
# ${PRJ_SOURCE_PATH}/utils/ofThread.cpp
84-
# ${PRJ_SOURCE_PATH}/utils/ofTimer.cpp
85-
# ${PRJ_SOURCE_PATH}/utils/ofURLFileLoader.cpp
86-
# ${PRJ_SOURCE_PATH}/utils/ofUtils.cpp
87-
# ${PRJ_SOURCE_PATH}/utils/ofXml.cpp
88-
# ${PRJ_SOURCE_PATH}/sound/ofSoundBaseTypes.cpp
89-
# ${PRJ_SOURCE_PATH}/sound/ofSoundBuffer.cpp
90-
# ${PRJ_SOURCE_PATH}/sound/ofSoundPlayer.cpp
91-
# ${PRJ_SOURCE_PATH}/sound/ofSoundStream.cpp
92-
# ${PRJ_SOURCE_PATH}/sound/ofOpenALSoundPlayer.cpp
93-
# ${PRJ_SOURCE_PATH}/3d/of3dPrimitives.cpp
94-
# ${PRJ_SOURCE_PATH}/3d/of3dUtils.cpp
95-
# ${PRJ_SOURCE_PATH}/3d/ofCamera.cpp
96-
# ${PRJ_SOURCE_PATH}/3d/ofEasyCam.cpp
97-
# ${PRJ_SOURCE_PATH}/3d/ofNode.cpp
98-
# ${PRJ_SOURCE_PATH}/app/ofMainLoop.cpp
99-
# ${PRJ_SOURCE_PATH}/app/ofAppRunner.cpp
100-
# ${PRJ_SOURCE_PATH}/app/ofBaseApp.cpp
101-
# ${PRJ_SOURCE_PATH}/communication/ofSerial.cpp
102-
# ${PRJ_SOURCE_PATH}/events/ofEvents.cpp
103-
# ${PRJ_SOURCE_PATH}/gl/ofBufferObject.cpp
104-
# ${PRJ_SOURCE_PATH}/gl/ofFbo.cpp
105-
# ${PRJ_SOURCE_PATH}/gl/ofGLProgrammableRenderer.cpp
106-
# ${PRJ_SOURCE_PATH}/gl/ofGLRenderer.cpp
107-
# ${PRJ_SOURCE_PATH}/gl/ofGLUtils.cpp
108-
# ${PRJ_SOURCE_PATH}/gl/ofLight.cpp
109-
# ${PRJ_SOURCE_PATH}/gl/ofMaterial.cpp
110-
# ${PRJ_SOURCE_PATH}/gl/ofShader.cpp
111-
# ${PRJ_SOURCE_PATH}/gl/ofTexture.cpp
112-
# ${PRJ_SOURCE_PATH}/gl/ofShadow.cpp
113-
# ${PRJ_SOURCE_PATH}/gl/ofCubeMap.cpp
114-
# ${PRJ_SOURCE_PATH}/gl/ofVbo.cpp
115-
# ${PRJ_SOURCE_PATH}/gl/ofVboMesh.cpp
116-
# ${PRJ_SOURCE_PATH}/graphics/of3dGraphics.cpp
117-
# ${PRJ_SOURCE_PATH}/graphics/ofBitmapFont.cpp
118-
# ${PRJ_SOURCE_PATH}/graphics/ofGraphics.cpp
119-
# ${PRJ_SOURCE_PATH}/graphics/ofGraphicsBaseTypes.cpp
120-
# ${PRJ_SOURCE_PATH}/graphics/ofImage.cpp
121-
# ${PRJ_SOURCE_PATH}/graphics/ofPath.cpp
122-
# ${PRJ_SOURCE_PATH}/graphics/ofPixels.cpp
123-
# ${PRJ_SOURCE_PATH}/graphics/ofRendererCollection.cpp
124-
# ${PRJ_SOURCE_PATH}/graphics/ofTessellator.cpp
125-
# ${PRJ_SOURCE_PATH}/graphics/ofTrueTypeFont.cpp
126-
# ${PRJ_SOURCE_PATH}/math/ofMath.cpp
127-
# ${PRJ_SOURCE_PATH}/math/ofMatrix3x3.cpp
128-
# ${PRJ_SOURCE_PATH}/math/ofMatrix4x4.cpp
129-
# ${PRJ_SOURCE_PATH}/math/ofQuaternion.cpp
130-
# ${PRJ_SOURCE_PATH}/math/ofVec2f.cpp
131-
# ${PRJ_SOURCE_PATH}/math/ofVec4f.cpp
132-
# ${PRJ_SOURCE_PATH}/types/ofColor.cpp
133-
# ${PRJ_SOURCE_PATH}/types/ofParameter.cpp
134-
# ${PRJ_SOURCE_PATH}/types/ofParameterGroup.cpp
135-
# ${PRJ_SOURCE_PATH}/types/ofRectangle.cpp
136-
# ${PRJ_SOURCE_PATH}/video/ofVideoBaseTypes.cpp
137-
# ${PRJ_SOURCE_PATH}/video/ofVideoGrabber.cpp
138-
# ${PRJ_SOURCE_PATH}/video/ofVideoPlayer.cpp
139-
# ${PRJ_OFX_ANDROID_CPP_PATH}/ofAppAndroidWindow.cpp
140-
# ${PRJ_OFX_ANDROID_CPP_PATH}/ofxAndroidAccelerometer.cpp
141-
# ${PRJ_OFX_ANDROID_CPP_PATH}/ofxAndroidLogChannel.cpp
142-
# ${PRJ_OFX_ANDROID_CPP_PATH}/ofxAndroidSoundPlayer.cpp
143-
# ${PRJ_OFX_ANDROID_CPP_PATH}/ofxAndroidSoundStream.cpp
144-
# ${PRJ_OFX_ANDROID_CPP_PATH}/ofxAndroidUtils.cpp
145-
# ${PRJ_OFX_ANDROID_CPP_PATH}/ofxAndroidVibrator.cpp
146-
# ${PRJ_OFX_ANDROID_CPP_PATH}/ofxAndroidVideoGrabber.cpp
147-
# ${PRJ_OFX_ANDROID_CPP_PATH}/ofxAndroidVideoPlayer.cpp
148-
# ${PRJ_ADDONS_PATH}/ofxAccelerometer/src/ofxAccelerometer.cpp
149-
# ${PRJ_ADDONS_PATH}/ofxXmlSettings/src/ofxXmlSettings.cpp
150-
# ${PRJ_ADDONS_PATH}/ofxXmlSettings/libs/tinyxml.cpp
151-
# ${PRJ_ADDONS_PATH}/ofxXmlSettings/libs/tinyxmlerror.cpp
152-
# ${PRJ_ADDONS_PATH}/ofxXmlSettings/libs/tinyxmlparser.cpp )
58+
add_library(openFrameworksAndroid ${OF_LIBRARY_TYPE} ${OF_SOURCES})
15359

15460
target_include_directories(openFrameworksAndroid PRIVATE
15561
${OF_SOURCE_DIR}
@@ -171,7 +77,6 @@ set_target_properties(openFrameworksAndroid
17177
LIBRARY_OUTPUT_DIRECTORY
17278
"${CONFIGURATION_BUILD_DIR}/${ANDROID_ABI}")
17379

174-
## Specifies a path to native header files.
17580
include_directories(
17681
${PRJ_SOURCE_PATH}/3d
17782
${PRJ_SOURCE_PATH}/app
@@ -188,8 +93,6 @@ include_directories(
18893
${PRJ_OFX_ANDROID_CPP_PATH}/
18994
${PURE_OF_ROOT}/addons/ofxAndroid/src
19095
${PURE_OF_ROOT}/addons/ofxAccelerometer/src
191-
# ${PURE_OF_ROOT}/addons/ofxXmlSettings/src
192-
# ${PURE_OF_ROOT}/addons/ofxXmlSettings/libs
19396
${PRJ_LIBS_ROOT}/FreeImage/include
19497
${PRJ_LIBS_ROOT}/freetype/include
19598
${PRJ_LIBS_ROOT}/freetype/include/freetype2
@@ -212,38 +115,28 @@ include_directories(
212115
${PRJ_LIBS_ROOT}/curl/include
213116
)
214117

215-
find_library(android-lib android)
216-
find_library(log-lib log)
217-
find_library(GLES1-lib GLESv1_CM)
218-
find_library(GLES2-lib GLESv2)
219-
find_library(GLES3-lib GLESv3)
220-
118+
find_library(ANDROID_LIB NAMES android)
119+
find_library(LOG_LIB NAMES log)
120+
find_library(GLES1_LIB NAMES GLESv1_CM)
121+
find_library(GLES2_LIB NAMES GLESv2)
122+
find_library(GLES3_LIB NAMES GLESv3)
221123

222124
target_link_libraries(openFrameworksAndroid
223125
android
224-
EGL
225-
GLESv2
226-
GLESv3
227126
log
228127
m
229128
z
230129
dl
231130
)
232131

233-
target_link_libraries( openFrameworksAndroid
234-
${android-lib} )
235-
target_link_libraries( openFrameworksAndroid
236-
${GLES2-lib} )
237-
target_link_libraries( openFrameworksAndroid
238-
${GLES3-lib} )
239-
target_link_libraries( openFrameworksAndroid
240-
${GLES1-lib} )
241-
target_link_libraries( openFrameworksAndroid
242-
${log-lib} )
132+
target_link_libraries(openFrameworksAndroid
133+
${ANDROID_LIB}
134+
${GLES2_LIB}
135+
${GLES3_LIB}
136+
${GLES1_LIB}
137+
${LOG_LIB}
138+
)
243139

244-
# Set the third-party library header files directory.
245-
#include_directories(src/main/cpp/Libraries/include/)
246-
# Link the thrid-party library with your native library.
247140

248141
target_link_libraries(openFrameworksAndroid
249142
${PRJ_LIBS_ROOT}/brotli/lib/android/${ANDROID_ABI}/libbrotlicommon.a

0 commit comments

Comments
 (0)