setup vcpkg

This commit is contained in:
2026-01-02 21:38:41 +01:00
parent 16dd10f9a6
commit 784e054105
3 changed files with 38 additions and 7 deletions

View File

@@ -4,6 +4,9 @@ plugins {
alias(libs.plugins.kotlin.compose)
}
val vcpkgHome = "/Users/omar/vcpkg"
val ndkHome = "/Users/omar/Library/Android/sdk/ndk/29.0.14206865"
android {
namespace = "com.omixlab.mosis"
@@ -18,9 +21,18 @@ android {
targetSdk = 36
versionCode = 1
versionName = "1.0"
ndk {
abiFilters += listOf("arm64-v8a")
}
externalNativeBuild {
cmake {
cppFlags += ""
arguments += "-DANDROID_STL=c++_shared"
arguments += "-DCMAKE_TOOLCHAIN_FILE=$vcpkgHome/scripts/buildsystems/vcpkg.cmake"
arguments += "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$ndkHome/build/cmake/android.toolchain.cmake"
arguments += "-DVCPKG_TARGET_TRIPLET=arm64-android"
targets += "mosis-service"
targets += "mosis-test"
}
}
}

View File

@@ -7,6 +7,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(ANDROID_SDK "/Users/omar/Library/Android/sdk")
set(BINDER_DIR "${ANDROID_SDK}/platforms/android-36/optional/libbinder_ndk_cpp")
find_package(RmlUi CONFIG REQUIRED)
add_library(mosis-service SHARED
mosis-service.cpp
com/omixlab/mosis/IMosisService.cpp
@@ -20,11 +22,17 @@ add_library(mosis-service SHARED
logger.cpp
kernel.cpp
glad/src/egl.c
glad/src/gles2.c)
glad/src/gles2.c
)
target_include_directories(mosis-service PUBLIC
${CMAKE_CURRENT_LIST_DIR} ${BINDER_DIR} glad/include)
${CMAKE_CURRENT_LIST_DIR}
${BINDER_DIR}
glad/include
)
target_link_libraries(mosis-service
android log binder_ndk EGL GLESv2 nativewindow)
android log binder_ndk EGL GLESv2 nativewindow
RmlUi::RmlUi
)
add_library(mosis-test SHARED
com/omixlab/mosis/IMosisService.cpp
@@ -39,9 +47,13 @@ add_library(mosis-test SHARED
kernel.cpp
logger.cpp
glad/src/egl.c
glad/src/gles2.c)
glad/src/gles2.c
)
target_include_directories(mosis-test PUBLIC
${CMAKE_CURRENT_LIST_DIR} ${BINDER_DIR} glad/include)
${CMAKE_CURRENT_LIST_DIR}
${BINDER_DIR}
glad/include
)
target_link_libraries(mosis-test
android log binder_ndk EGL GLESv2 nativewindow)
android log binder_ndk EGL GLESv2 nativewindow
)

7
src/main/cpp/vcpkg.json Normal file
View File

@@ -0,0 +1,7 @@
{
"name": "mosis-os",
"version-string": "0.1.0",
"dependencies": [
"rmlui"
]
}