diff --git a/.gitignore b/.gitignore index 7f134551..d36d82b2 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,4 @@ local.properties # Misc .DS_Store -/common/src/gen/ +/plugin/src/gen/ diff --git a/SConstruct b/SConstruct index 5c628dd3..cb9b4453 100644 --- a/SConstruct +++ b/SConstruct @@ -9,18 +9,18 @@ opts.Update(env) # Add common includes env.Append(CPPPATH=[ - "#common/src/main/cpp/include/", + "#plugin/src/main/cpp/include/", "#thirdparty/openxr/include/", ]) sources = [] -sources += Glob("#common/src/main/cpp/*.cpp") -sources += Glob("#common/src/main/cpp/export/*.cpp") -sources += Glob("#common/src/main/cpp/extensions/*.cpp") -sources += Glob("#common/src/main/cpp/classes/*.cpp") +sources += Glob("#plugin/src/main/cpp/*.cpp") +sources += Glob("#plugin/src/main/cpp/export/*.cpp") +sources += Glob("#plugin/src/main/cpp/extensions/*.cpp") +sources += Glob("#plugin/src/main/cpp/classes/*.cpp") if env["target"] in ["editor", "template_debug"]: - doc_data = env.GodotCPPDocData("#common/src/gen/doc_data.gen.cpp", source=Glob("doc_classes/*.xml")) + doc_data = env.GodotCPPDocData("#plugin/src/gen/doc_data.gen.cpp", source=Glob("doc_classes/*.xml")) sources.append(doc_data) binary_path = '#demo/addons/godotopenxrvendors/.bin' diff --git a/build.gradle b/build.gradle index a6095af3..f7038f59 100644 --- a/build.gradle +++ b/build.gradle @@ -31,11 +31,7 @@ task clean(type: Delete) { dependsOn 'cleanAddon' dependsOn 'cleanBuildFromSamples' - dependsOn ':godotopenxrkhronos:clean' - dependsOn ':godotopenxrlynx:clean' - dependsOn ':godotopenxrmeta:clean' - dependsOn ':godotopenxrpico:clean' - dependsOn ':godotopenxrmagicleap:clean' + dependsOn ':plugin:clean' } /** @@ -52,13 +48,7 @@ task cleanAddon(type: Delete) { task buildPlugin { // Generate the editor gdextension binaries dependsOn ':buildSconsArtifacts' - - dependsOn ":godotopenxrkhronos:build" - dependsOn ":godotopenxrlynx:build" - dependsOn ":godotopenxrmeta:build" - dependsOn ":godotopenxrpico:build" - dependsOn ":godotopenxrmagicleap:build" - + dependsOn ":plugin:build" finalizedBy "copyBuildToSamples" } @@ -158,4 +148,4 @@ task cleanBuildFromSamples { } } } -} \ No newline at end of file +} diff --git a/config.gradle b/config.gradle index 6f4ab088..b1e4916d 100644 --- a/config.gradle +++ b/config.gradle @@ -15,20 +15,20 @@ ext { libraries = [ godotAndroidLib: "org.godotengine:godot:4.3.0.stable", ] -} -// Parse the release version from the gradle project properties (e.g: -Prelease_version=) -ext.getReleaseVersion = { -> - final String defaultVersion = "3.1.0-dev-SNAPSHOT" + // Parse the release version from the gradle project properties (e.g: -Prelease_version=) + getReleaseVersion = { -> + final String defaultVersion = "3.1.0-dev-SNAPSHOT" - String releaseVersion = project.hasProperty("release_version") ? project.property("release_version") : defaultVersion - if (releaseVersion == null || releaseVersion.isEmpty()) { - releaseVersion = defaultVersion - } + String releaseVersion = project.hasProperty("release_version") ? project.property("release_version") : defaultVersion + if (releaseVersion == null || releaseVersion.isEmpty()) { + releaseVersion = defaultVersion + } - if (!releaseVersion.endsWithIgnoreCase("-stable") && !releaseVersion.endsWithIgnoreCase("-snapshot")) { - releaseVersion += "-SNAPSHOT" - } + if (!releaseVersion.endsWithIgnoreCase("-stable") && !releaseVersion.endsWithIgnoreCase("-snapshot")) { + releaseVersion += "-SNAPSHOT" + } - return releaseVersion + return releaseVersion + } } diff --git a/godotopenxrkhronos/CMakeLists.txt b/godotopenxrkhronos/CMakeLists.txt deleted file mode 100644 index 8924ab1f..00000000 --- a/godotopenxrkhronos/CMakeLists.txt +++ /dev/null @@ -1,42 +0,0 @@ -cmake_minimum_required(VERSION 3.22.1) - -## Project definition -project(godotopenxrvendors LANGUAGES CXX) - -## Common dependencies -include(${PROJECT_SOURCE_DIR}/../common/common.cmake) - -## khronos OpenXR loader library -find_package(OpenXR REQUIRED CONFIG) - -## Setup the project sources -file(GLOB_RECURSE ANDROID_SOURCES ${PROJECT_SOURCE_DIR}/src/main/cpp/*.c**) -file(GLOB_RECURSE ANDROID_HEADERS ${PROJECT_SOURCE_DIR}/src/main/cpp/*.h**) - -add_library(${PROJECT_NAME} - SHARED - ${ANDROID_SOURCES} - ${ANDROID_HEADERS} - ${COMMON_LIB_SOURCES} - ${COMMON_LIB_HEADERS} - ) - -target_include_directories(${PROJECT_NAME} - SYSTEM PUBLIC - ${GODOT_CPP_INCLUDE_DIRECTORIES} - ${OPENXR_HEADERS_DIR} - ${COMMON_LIB_HEADERS_DIR} - ) - -target_link_libraries(${PROJECT_NAME} - android - log - ${GODOT-CPP} - OpenXR::openxr_loader - ) - -# Add the compile flags -set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${GODOT_COMPILE_FLAGS}) -set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS ${GODOT_LINKER_FLAGS}) - -add_definitions(-DKHRONOS_VENDOR_ENABLED) diff --git a/godotopenxrkhronos/build.gradle b/godotopenxrkhronos/build.gradle deleted file mode 100644 index 6cb2b7a2..00000000 --- a/godotopenxrkhronos/build.gradle +++ /dev/null @@ -1,106 +0,0 @@ -plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' -} - -ext { - PUBLISH_ARTIFACT_ID = 'godot-openxr-vendors-khronos' -} - -apply from: "../scripts/publish-module.gradle" - -android { - compileSdk versions.compileSdk - ndkVersion versions.ndkVersion - - defaultConfig { - minSdk versions.minSdk - targetSdk versions.targetSdk - versionName getReleaseVersion() - - ndk { - //noinspection ChromeOsAbiSupport - abiFilters 'arm64-v8a', 'x86_64' - } - } - externalNativeBuild { - cmake { - path file('CMakeLists.txt') - version versions.cmakeVersion - } - } - - namespace = "org.godotengine.openxr.vendors.khronos" - - packagingOptions { - doNotStrip '**/*.so' - } - - compileOptions { - sourceCompatibility versions.javaVersion - targetCompatibility versions.javaVersion - } - - kotlinOptions { - jvmTarget = versions.javaVersion - } - - publishing { - singleVariant("release") { - withSourcesJar() - withJavadocJar() - } - } - - buildFeatures { - prefab true - prefabPublishing true - } - - prefab { - godotopenxrvendors { - headers "../common/src/main/cpp/include" - } - } -} - -dependencies { - compileOnly libraries.godotAndroidLib - implementation "org.khronos.openxr:openxr_loader_for_android:$versions.openxrVersion" -} - -task cleanAssets(type: Delete) { - // Delete the 'addons' directory in the 'assets' folder - delete("src/main/assets/addons") -} - -task cleanCxx(type: Delete) { - delete(".cxx") -} - -task copyDebugAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrkhronos-debug.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/debug' -} - -task copyReleaseAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrkhronos-release.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/release' -} - -task copyGdExtensionConfigToAssets(type: Copy) { - description 'Copy plugin.gdextension from the addons directory to the assets directory' - - from '../demo/addons/godotopenxrvendors/' - include 'plugin.gdextension' - into 'src/main/assets/addons/godotopenxrvendors/' -} - -preBuild.dependsOn(copyGdExtensionConfigToAssets) -assemble.dependsOn(copyGdExtensionConfigToAssets) -assemble.finalizedBy(copyDebugAARToAddons) -assemble.finalizedBy(copyReleaseAARToAddons) -clean.dependsOn(cleanAssets) -clean.dependsOn(cleanCxx) diff --git a/godotopenxrlynx/.gitignore b/godotopenxrlynx/.gitignore deleted file mode 100644 index 796b96d1..00000000 --- a/godotopenxrlynx/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/godotopenxrlynx/CMakeLists.txt b/godotopenxrlynx/CMakeLists.txt deleted file mode 100644 index 41a2ae4b..00000000 --- a/godotopenxrlynx/CMakeLists.txt +++ /dev/null @@ -1,47 +0,0 @@ -cmake_minimum_required(VERSION 3.22.1) - -## Project definition -project(godotopenxrvendors LANGUAGES CXX) - -## Common dependencies -include(${PROJECT_SOURCE_DIR}/../common/common.cmake) - -## lynx OpenXR loader library -set(LYNX_OPENXR_LIB_PATH "${PROJECT_SOURCE_DIR}/../thirdparty/lynx_openxr_sdk/${ANDROID_ABI}/libopenxr_loader.so") -add_library(openxr_loader - SHARED - IMPORTED GLOBAL - ) -set_target_properties(openxr_loader PROPERTIES IMPORTED_LOCATION ${LYNX_OPENXR_LIB_PATH}) - -## Setup the project sources -file(GLOB_RECURSE ANDROID_SOURCES ${PROJECT_SOURCE_DIR}/src/main/cpp/*.c**) -file(GLOB_RECURSE ANDROID_HEADERS ${PROJECT_SOURCE_DIR}/src/main/cpp/*.h**) - -add_library(${PROJECT_NAME} - SHARED - ${ANDROID_SOURCES} - ${ANDROID_HEADERS} - ${COMMON_LIB_SOURCES} - ${COMMON_LIB_HEADERS} - ) - -target_include_directories(${PROJECT_NAME} - SYSTEM PUBLIC - ${GODOT_CPP_INCLUDE_DIRECTORIES} - ${OPENXR_HEADERS_DIR} - ${COMMON_LIB_HEADERS_DIR} - ) - -target_link_libraries(${PROJECT_NAME} - android - log - ${GODOT-CPP} - openxr_loader - ) - -# Add the compile flags -set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${GODOT_COMPILE_FLAGS}) -set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS ${GODOT_LINKER_FLAGS}) - -add_definitions(-DLYNX_VENDOR_ENABLED) diff --git a/godotopenxrlynx/build.gradle b/godotopenxrlynx/build.gradle deleted file mode 100644 index 7deee8bd..00000000 --- a/godotopenxrlynx/build.gradle +++ /dev/null @@ -1,104 +0,0 @@ -plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' -} - -ext { - PUBLISH_ARTIFACT_ID = 'godot-openxr-vendors-lynx' -} - -apply from: "../scripts/publish-module.gradle" - -android { - compileSdk versions.compileSdk - ndkVersion versions.ndkVersion - - defaultConfig { - minSdk versions.minSdk - targetSdk versions.targetSdk - versionName getReleaseVersion() - - ndk { - //noinspection ChromeOsAbiSupport - abiFilters 'arm64-v8a' - } - } - externalNativeBuild { - cmake { - path file('CMakeLists.txt') - version versions.cmakeVersion - } - } - - namespace = "org.godotengine.openxr.vendors.lynx" - - packagingOptions { - doNotStrip '**/*.so' - } - - compileOptions { - sourceCompatibility versions.javaVersion - targetCompatibility versions.javaVersion - } - - kotlinOptions { - jvmTarget = versions.javaVersion - } - - publishing { - singleVariant("release") { - withSourcesJar() - withJavadocJar() - } - } - - buildFeatures { - prefabPublishing true - } - - prefab { - godotopenxrvendors { - headers "../common/src/main/cpp/include" - } - } -} - -dependencies { - compileOnly libraries.godotAndroidLib -} - -task cleanAssets(type: Delete) { - // Delete the 'addons' directory in the 'assets' folder - delete("src/main/assets/addons") -} - -task cleanCxx(type: Delete) { - delete(".cxx") -} - -task copyDebugAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrlynx-debug.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/debug' -} - -task copyReleaseAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrlynx-release.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/release' -} - -task copyGdExtensionConfigToAssets(type: Copy) { - description 'Copy plugin.gdextension from the addons directory to the assets directory' - - from '../demo/addons/godotopenxrvendors/' - include 'plugin.gdextension' - into 'src/main/assets/addons/godotopenxrvendors/' -} - -preBuild.dependsOn(copyGdExtensionConfigToAssets) -assemble.dependsOn(copyGdExtensionConfigToAssets) -assemble.finalizedBy(copyDebugAARToAddons) -assemble.finalizedBy(copyReleaseAARToAddons) -clean.dependsOn(cleanAssets) -clean.dependsOn(cleanCxx) diff --git a/godotopenxrlynx/src/main/assets/.gitignore b/godotopenxrlynx/src/main/assets/.gitignore deleted file mode 100644 index d6b7ef32..00000000 --- a/godotopenxrlynx/src/main/assets/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/godotopenxrmagicleap/.gitignore b/godotopenxrmagicleap/.gitignore deleted file mode 100644 index 796b96d1..00000000 --- a/godotopenxrmagicleap/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/godotopenxrmagicleap/CMakeLists.txt b/godotopenxrmagicleap/CMakeLists.txt deleted file mode 100644 index 8924ab1f..00000000 --- a/godotopenxrmagicleap/CMakeLists.txt +++ /dev/null @@ -1,42 +0,0 @@ -cmake_minimum_required(VERSION 3.22.1) - -## Project definition -project(godotopenxrvendors LANGUAGES CXX) - -## Common dependencies -include(${PROJECT_SOURCE_DIR}/../common/common.cmake) - -## khronos OpenXR loader library -find_package(OpenXR REQUIRED CONFIG) - -## Setup the project sources -file(GLOB_RECURSE ANDROID_SOURCES ${PROJECT_SOURCE_DIR}/src/main/cpp/*.c**) -file(GLOB_RECURSE ANDROID_HEADERS ${PROJECT_SOURCE_DIR}/src/main/cpp/*.h**) - -add_library(${PROJECT_NAME} - SHARED - ${ANDROID_SOURCES} - ${ANDROID_HEADERS} - ${COMMON_LIB_SOURCES} - ${COMMON_LIB_HEADERS} - ) - -target_include_directories(${PROJECT_NAME} - SYSTEM PUBLIC - ${GODOT_CPP_INCLUDE_DIRECTORIES} - ${OPENXR_HEADERS_DIR} - ${COMMON_LIB_HEADERS_DIR} - ) - -target_link_libraries(${PROJECT_NAME} - android - log - ${GODOT-CPP} - OpenXR::openxr_loader - ) - -# Add the compile flags -set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${GODOT_COMPILE_FLAGS}) -set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS ${GODOT_LINKER_FLAGS}) - -add_definitions(-DKHRONOS_VENDOR_ENABLED) diff --git a/godotopenxrmagicleap/build.gradle b/godotopenxrmagicleap/build.gradle deleted file mode 100644 index e0d8cb17..00000000 --- a/godotopenxrmagicleap/build.gradle +++ /dev/null @@ -1,106 +0,0 @@ -plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' -} - -ext { - PUBLISH_ARTIFACT_ID = 'godot-openxr-vendors-magicleap' -} - -apply from: "../scripts/publish-module.gradle" - -android { - compileSdk versions.compileSdk - ndkVersion versions.ndkVersion - - defaultConfig { - minSdk versions.minSdk - targetSdk versions.targetSdk - versionName getReleaseVersion() - - ndk { - //noinspection ChromeOsAbiSupport - abiFilters 'arm64-v8a', 'x86_64' - } - } - externalNativeBuild { - cmake { - path file('CMakeLists.txt') - version versions.cmakeVersion - } - } - - namespace = "org.godotengine.openxr.vendors.magicleap" - - packagingOptions { - doNotStrip '**/*.so' - } - - compileOptions { - sourceCompatibility versions.javaVersion - targetCompatibility versions.javaVersion - } - - kotlinOptions { - jvmTarget = versions.javaVersion - } - - publishing { - singleVariant("release") { - withSourcesJar() - withJavadocJar() - } - } - - buildFeatures { - prefab true - prefabPublishing true - } - - prefab { - godotopenxrvendors { - headers "../common/src/main/cpp/include" - } - } -} - -dependencies { - compileOnly libraries.godotAndroidLib - implementation "org.khronos.openxr:openxr_loader_for_android:$versions.openxrVersion" -} - -task cleanAssets(type: Delete) { - // Delete the 'addons' directory in the 'assets' folder - delete("src/main/assets/addons") -} - -task cleanCxx(type: Delete) { - delete(".cxx") -} - -task copyDebugAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrmagicleap-debug.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/debug' -} - -task copyReleaseAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrmagicleap-release.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/release' -} - -task copyGdExtensionConfigToAssets(type: Copy) { - description 'Copy plugin.gdextension from the addons directory to the assets directory' - - from '../demo/addons/godotopenxrvendors/' - include 'plugin.gdextension' - into 'src/main/assets/addons/godotopenxrvendors/' -} - -preBuild.dependsOn(copyGdExtensionConfigToAssets) -assemble.dependsOn(copyGdExtensionConfigToAssets) -assemble.finalizedBy(copyDebugAARToAddons) -assemble.finalizedBy(copyReleaseAARToAddons) -clean.dependsOn(cleanAssets) -clean.dependsOn(cleanCxx) diff --git a/godotopenxrmagicleap/src/main/assets/.gitignore b/godotopenxrmagicleap/src/main/assets/.gitignore deleted file mode 100644 index d6b7ef32..00000000 --- a/godotopenxrmagicleap/src/main/assets/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/godotopenxrmeta/.gitignore b/godotopenxrmeta/.gitignore deleted file mode 100644 index 796b96d1..00000000 --- a/godotopenxrmeta/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/godotopenxrmeta/CMakeLists.txt b/godotopenxrmeta/CMakeLists.txt deleted file mode 100644 index 33fa75d6..00000000 --- a/godotopenxrmeta/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ -cmake_minimum_required(VERSION 3.22.1) - -## Project definition -project(godotopenxrvendors LANGUAGES CXX) - -## Common dependencies -include(${PROJECT_SOURCE_DIR}/../common/common.cmake) - -## OpenXR Mobile loader library -# Sets the path to the OpenXR mobile library directory. -set(OPENXR_MOBILE_ROOT_DIR "${PROJECT_SOURCE_DIR}/../thirdparty/ovr_openxr_mobile_sdk/OpenXR") -set(OPENXR_MOBILE_HEADERS_DIR "${OPENXR_MOBILE_ROOT_DIR}/Include" CACHE STRING "") - -set(OPENXR_MOBILE_LIB_PATH "${OPENXR_MOBILE_ROOT_DIR}/Libs/Android/${ANDROID_ABI}/${OPENXR_MOBILE_LIB_BUILD_TYPE}/libopenxr_loader.so") -add_library(openxr_loader - SHARED - IMPORTED GLOBAL - ) -set_target_properties(openxr_loader PROPERTIES IMPORTED_LOCATION ${OPENXR_MOBILE_LIB_PATH}) - - -## Setup the project sources -file(GLOB_RECURSE ANDROID_SOURCES ${PROJECT_SOURCE_DIR}/src/main/cpp/*.c**) -file(GLOB_RECURSE ANDROID_HEADERS ${PROJECT_SOURCE_DIR}/src/main/cpp/*.h**) - -add_library(${PROJECT_NAME} - SHARED - ${ANDROID_SOURCES} - ${ANDROID_HEADERS} - ${COMMON_LIB_SOURCES} - ${COMMON_LIB_HEADERS} - ) - -target_include_directories(${PROJECT_NAME} - SYSTEM PUBLIC - ${GODOT_CPP_INCLUDE_DIRECTORIES} - ${OPENXR_HEADERS_DIR} - ${OPENXR_MOBILE_HEADERS_DIR} - ${COMMON_LIB_HEADERS_DIR} - ) - -target_link_libraries(${PROJECT_NAME} - android - log - ${GODOT-CPP} - openxr_loader - ) - -# Add the compile flags -set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${GODOT_COMPILE_FLAGS}) -set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS ${GODOT_LINKER_FLAGS}) - -add_definitions(-DMETA_VENDOR_ENABLED) diff --git a/godotopenxrmeta/build.gradle b/godotopenxrmeta/build.gradle deleted file mode 100644 index fc03e5b3..00000000 --- a/godotopenxrmeta/build.gradle +++ /dev/null @@ -1,104 +0,0 @@ -plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' -} - -ext { - PUBLISH_ARTIFACT_ID = 'godot-openxr-vendors-meta' -} - -apply from: "../scripts/publish-module.gradle" - -android { - compileSdk versions.compileSdk - ndkVersion versions.ndkVersion - - defaultConfig { - minSdk versions.minSdk - targetSdk versions.targetSdk - versionName getReleaseVersion() - - ndk { - //noinspection ChromeOsAbiSupport - abiFilters "arm64-v8a" - } - } - externalNativeBuild { - cmake { - path file('CMakeLists.txt') - version versions.cmakeVersion - } - } - - namespace = "org.godotengine.openxr.vendors.meta" - - packagingOptions { - doNotStrip '**/*.so' - } - - compileOptions { - sourceCompatibility versions.javaVersion - targetCompatibility versions.javaVersion - } - - kotlinOptions { - jvmTarget = versions.javaVersion - } - - publishing { - singleVariant("release") { - withSourcesJar() - withJavadocJar() - } - } - - buildFeatures { - prefabPublishing true - } - - prefab { - godotopenxrvendors { - headers "../common/src/main/cpp/include" - } - } -} - -dependencies { - compileOnly libraries.godotAndroidLib -} - -task cleanAssets(type: Delete) { - // Delete the 'addons' directory in the 'assets' folder - delete("src/main/assets/addons") -} - -task cleanCxx(type: Delete) { - delete(".cxx") -} - -task copyDebugAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrmeta-debug.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/debug' -} - -task copyReleaseAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrmeta-release.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/release' -} - -task copyGdExtensionConfigToAssets(type: Copy) { - description 'Copy plugin.gdextension from the addons directory to the assets directory' - - from '../demo/addons/godotopenxrvendors/' - include 'plugin.gdextension' - into 'src/main/assets/addons/godotopenxrvendors/' -} - -preBuild.dependsOn(copyGdExtensionConfigToAssets) -assemble.dependsOn(copyGdExtensionConfigToAssets) -assemble.finalizedBy(copyDebugAARToAddons) -assemble.finalizedBy(copyReleaseAARToAddons) -clean.dependsOn(cleanAssets) -clean.dependsOn(cleanCxx) diff --git a/godotopenxrmeta/src/main/assets/.gitignore b/godotopenxrmeta/src/main/assets/.gitignore deleted file mode 100644 index d6b7ef32..00000000 --- a/godotopenxrmeta/src/main/assets/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/godotopenxrpico/.gitignore b/godotopenxrpico/.gitignore deleted file mode 100644 index 796b96d1..00000000 --- a/godotopenxrpico/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/godotopenxrpico/build.gradle b/godotopenxrpico/build.gradle deleted file mode 100644 index 99fae281..00000000 --- a/godotopenxrpico/build.gradle +++ /dev/null @@ -1,106 +0,0 @@ -plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' -} - -ext { - PUBLISH_ARTIFACT_ID = 'godot-openxr-vendors-pico' -} - -apply from: "../scripts/publish-module.gradle" - -android { - compileSdk versions.compileSdk - ndkVersion versions.ndkVersion - - defaultConfig { - minSdk versions.minSdk - targetSdk versions.targetSdk - versionName getReleaseVersion() - - ndk { - //noinspection ChromeOsAbiSupport - abiFilters "arm64-v8a" - } - } - externalNativeBuild { - cmake { - path file('CMakeLists.txt') - version versions.cmakeVersion - } - } - - namespace = "org.godotengine.openxr.vendors.pico" - - packagingOptions { - doNotStrip '**/*.so' - } - - compileOptions { - sourceCompatibility versions.javaVersion - targetCompatibility versions.javaVersion - } - - kotlinOptions { - jvmTarget = versions.javaVersion - } - - publishing { - singleVariant("release") { - withSourcesJar() - withJavadocJar() - } - } - - buildFeatures { - prefab true - prefabPublishing true - } - - prefab { - godotopenxrvendors { - headers "../common/src/main/cpp/include" - } - } -} - -dependencies { - compileOnly libraries.godotAndroidLib - implementation "org.khronos.openxr:openxr_loader_for_android:$versions.openxrVersion" -} - -task cleanAssets(type: Delete) { - // Delete the 'addons' directory in the 'assets' folder - delete("src/main/assets/addons") -} - -task cleanCxx(type: Delete) { - delete(".cxx") -} - -task copyDebugAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrpico-debug.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/debug' -} - -task copyReleaseAARToAddons(type: Copy) { - from 'build/outputs/aar' - include 'godotopenxrpico-release.aar' - into '../demo/addons/godotopenxrvendors/.bin/android/release' -} - -task copyGdExtensionConfigToAssets(type: Copy) { - description 'Copy plugin.gdextension from the addons directory to the assets directory' - - from '../demo/addons/godotopenxrvendors/' - include 'plugin.gdextension' - into 'src/main/assets/addons/godotopenxrvendors/' -} - -preBuild.dependsOn(copyGdExtensionConfigToAssets) -assemble.dependsOn(copyGdExtensionConfigToAssets) -assemble.finalizedBy(copyDebugAARToAddons) -assemble.finalizedBy(copyReleaseAARToAddons) -clean.dependsOn(cleanAssets) -clean.dependsOn(cleanCxx) diff --git a/godotopenxrpico/src/main/assets/.gitignore b/godotopenxrpico/src/main/assets/.gitignore deleted file mode 100644 index d6b7ef32..00000000 --- a/godotopenxrpico/src/main/assets/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/godotopenxrkhronos/.gitignore b/plugin/.gitignore similarity index 100% rename from godotopenxrkhronos/.gitignore rename to plugin/.gitignore diff --git a/godotopenxrpico/CMakeLists.txt b/plugin/CMakeLists.txt similarity index 65% rename from godotopenxrpico/CMakeLists.txt rename to plugin/CMakeLists.txt index 066c0cd7..6945ff71 100644 --- a/godotopenxrpico/CMakeLists.txt +++ b/plugin/CMakeLists.txt @@ -4,14 +4,10 @@ cmake_minimum_required(VERSION 3.22.1) project(godotopenxrvendors LANGUAGES CXX) ## Common dependencies -include(${PROJECT_SOURCE_DIR}/../common/common.cmake) +include(${PROJECT_SOURCE_DIR}/src/main/common.cmake) -## khronos OpenXR loader library -find_package(OpenXR REQUIRED CONFIG) - -## Setup the project sources -file(GLOB_RECURSE ANDROID_SOURCES ${PROJECT_SOURCE_DIR}/src/main/cpp/*.c**) -file(GLOB_RECURSE ANDROID_HEADERS ${PROJECT_SOURCE_DIR}/src/main/cpp/*.h**) +## Flavor dependencies +include(src/${FLAVOR}/${FLAVOR}.cmake) add_library(${PROJECT_NAME} SHARED @@ -19,24 +15,23 @@ add_library(${PROJECT_NAME} ${ANDROID_HEADERS} ${COMMON_LIB_SOURCES} ${COMMON_LIB_HEADERS} - ) +) target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC ${GODOT_CPP_INCLUDE_DIRECTORIES} ${OPENXR_HEADERS_DIR} + ${VENDOR_HEADERS_DIR} ${COMMON_LIB_HEADERS_DIR} - ) +) target_link_libraries(${PROJECT_NAME} android log ${GODOT-CPP} - OpenXR::openxr_loader - ) + ${OPENXR_LOADER} +) # Add the compile flags set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${GODOT_COMPILE_FLAGS}) set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS ${GODOT_LINKER_FLAGS}) - -add_definitions(-DPICO_VENDOR_ENABLED) diff --git a/plugin/build.gradle b/plugin/build.gradle new file mode 100644 index 00000000..e4ebf618 --- /dev/null +++ b/plugin/build.gradle @@ -0,0 +1,188 @@ +plugins { + id 'com.android.library' + id 'org.jetbrains.kotlin.android' +} + +ext { + PUBLISH_ARTIFACT_ID = 'godot-openxr-vendors' +} + +apply from: "../scripts/publish-module.gradle" + +android { + compileSdk versions.compileSdk + ndkVersion versions.ndkVersion + + defaultConfig { + minSdk versions.minSdk + targetSdk versions.targetSdk + versionName getReleaseVersion() + + setProperty("archivesBaseName", "godotopenxr") + + ndk { + //noinspection ChromeOsAbiSupport + abiFilters "arm64-v8a" + } + } + externalNativeBuild { + cmake { + path file('CMakeLists.txt') + version versions.cmakeVersion + } + } + + namespace = "org.godotengine.openxr.vendors" + + flavorDimensions = ["vendor"] + productFlavors { + khronos { + dimension "vendor" + ndk { + //noinspection ChromeOsAbiSupport + abiFilters 'arm64-v8a', 'x86_64' + } + externalNativeBuild { + cmake { + arguments "-DFLAVOR=khronos" + } + } + } + lynx { + dimension "vendor" + externalNativeBuild { + cmake { + arguments "-DFLAVOR=lynx" + } + } + } + magicleap { + dimension "vendor" + externalNativeBuild { + cmake { + arguments "-DFLAVOR=magicleap" + } + } + ndk { + //noinspection ChromeOsAbiSupport + abiFilters 'arm64-v8a', 'x86_64' + } + } + meta { + dimension "vendor" + externalNativeBuild { + cmake { + arguments "-DFLAVOR=meta" + } + } + } + pico { + dimension "vendor" + externalNativeBuild { + cmake { + arguments "-DFLAVOR=pico" + } + } + } + } + + packagingOptions { + doNotStrip '**/*.so' + } + + compileOptions { + sourceCompatibility versions.javaVersion + targetCompatibility versions.javaVersion + } + + kotlinOptions { + jvmTarget = versions.javaVersion + } + + publishing { + singleVariant("khronosRelease") { + withSourcesJar() + withJavadocJar() + } + + singleVariant("lynxRelease") { + withSourcesJar() + withJavadocJar() + } + + singleVariant("magicleapRelease") { + withSourcesJar() + withJavadocJar() + } + + singleVariant("metaRelease") { + withSourcesJar() + withJavadocJar() + } + + singleVariant("picoRelease") { + withSourcesJar() + withJavadocJar() + } + } + + buildFeatures { + prefab true + prefabPublishing true + } + + prefab { + godotopenxrvendors { + headers "src/main/cpp/include" + } + } +} + +dependencies { + compileOnly libraries.godotAndroidLib + + // Khronos dependencies + khronosImplementation "org.khronos.openxr:openxr_loader_for_android:$versions.openxrVersion" + + // Magicleap dependencies + magicleapImplementation "org.khronos.openxr:openxr_loader_for_android:$versions.openxrVersion" + + // Pico dependencies + picoImplementation "org.khronos.openxr:openxr_loader_for_android:$versions.openxrVersion" +} + +task cleanAssets(type: Delete) { + // Delete the 'addons' directory in the 'assets' folder + delete("src/main/assets/addons") +} + +task cleanCxx(type: Delete) { + delete(".cxx") +} + +task copyDebugAARToAddons(type: Copy) { + from 'build/outputs/aar' + include 'godotopenxr-*-debug.aar' + into '../demo/addons/godotopenxrvendors/.bin/android/debug' +} + +task copyReleaseAARToAddons(type: Copy) { + from 'build/outputs/aar' + include 'godotopenxr-*-release.aar' + into '../demo/addons/godotopenxrvendors/.bin/android/release' +} + +task copyGdExtensionConfigToAssets(type: Copy) { + description 'Copy plugin.gdextension from the addons directory to the assets directory' + + from '../demo/addons/godotopenxrvendors/' + include 'plugin.gdextension' + into 'src/main/assets/addons/godotopenxrvendors/' +} + +preBuild.dependsOn(copyGdExtensionConfigToAssets) +assemble.dependsOn(copyGdExtensionConfigToAssets) +assemble.finalizedBy(copyDebugAARToAddons) +assemble.finalizedBy(copyReleaseAARToAddons) +clean.dependsOn(cleanAssets) +clean.dependsOn(cleanCxx) diff --git a/godotopenxrkhronos/src/main/AndroidManifest.xml b/plugin/src/khronos/AndroidManifest.xml similarity index 100% rename from godotopenxrkhronos/src/main/AndroidManifest.xml rename to plugin/src/khronos/AndroidManifest.xml diff --git a/godotopenxrkhronos/src/main/java/org/godotengine/openxr/vendors/khronos/GodotOpenXRKhronos.kt b/plugin/src/khronos/java/org/godotengine/openxr/vendors/khronos/GodotOpenXRKhronos.kt similarity index 81% rename from godotopenxrkhronos/src/main/java/org/godotengine/openxr/vendors/khronos/GodotOpenXRKhronos.kt rename to plugin/src/khronos/java/org/godotengine/openxr/vendors/khronos/GodotOpenXRKhronos.kt index ccf7d677..65e0347c 100644 --- a/godotopenxrkhronos/src/main/java/org/godotengine/openxr/vendors/khronos/GodotOpenXRKhronos.kt +++ b/plugin/src/khronos/java/org/godotengine/openxr/vendors/khronos/GodotOpenXRKhronos.kt @@ -29,9 +29,8 @@ package org.godotengine.openxr.vendors.khronos -import android.util.Log import org.godotengine.godot.Godot -import org.godotengine.godot.plugin.GodotPlugin +import org.godotengine.openxr.vendors.GodotOpenXR /** * \brief GodotOpenXRKhronos is the OpenXR Khronos plugin for Godot. @@ -49,25 +48,8 @@ import org.godotengine.godot.plugin.GodotPlugin * https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#android-runtime-category * */ -class GodotOpenXRKhronos(godot: Godot?) : GodotPlugin(godot) { - companion object { - private val TAG = GodotOpenXRKhronos::class.java.simpleName - - init { - try { - Log.v(TAG, "Loading godotopenxrvendors library") - System.loadLibrary("godotopenxrvendors") - } catch (e: UnsatisfiedLinkError) { - Log.e(TAG, "Unable to load godotopenxrvendors shared library") - } - } - } - - override fun getPluginGDExtensionLibrariesPaths() = setOf("res://addons/godotopenxrvendors/plugin.gdextension") - - override fun getPluginName(): String { - return "GodotOpenXRKhronos" - } +class GodotOpenXRKhronos(godot: Godot?) : GodotOpenXR(godot) { + override fun getPluginName() = "GodotOpenXRKhronos" override fun supportsFeature(featureTag: String): Boolean { if ("PERMISSION_XR_EXT_eye_gaze_interaction" == featureTag) { diff --git a/plugin/src/khronos/khronos.cmake b/plugin/src/khronos/khronos.cmake new file mode 100644 index 00000000..253f3bd9 --- /dev/null +++ b/plugin/src/khronos/khronos.cmake @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.22.1) + +## khronos OpenXR loader library +find_package(OpenXR REQUIRED CONFIG) + +set(VENDOR_HEADERS_DIR "") +set(OPENXR_LOADER "OpenXR::openxr_loader") + +## Setup the project sources +file(GLOB_RECURSE ANDROID_SOURCES ${CMAKE_CURRENT_LIST_DIR}/cpp/*.c**) +file(GLOB_RECURSE ANDROID_HEADERS ${CMAKE_CURRENT_LIST_DIR}/cpp/*.h**) + +add_definitions(-DKHRONOS_VENDOR_ENABLED) diff --git a/godotopenxrlynx/src/main/AndroidManifest.xml b/plugin/src/lynx/AndroidManifest.xml similarity index 100% rename from godotopenxrlynx/src/main/AndroidManifest.xml rename to plugin/src/lynx/AndroidManifest.xml diff --git a/godotopenxrlynx/src/main/java/org/godotengine/openxr/vendors/lynx/GodotOpenXRLynx.kt b/plugin/src/lynx/java/org/godotengine/openxr/vendors/lynx/GodotOpenXRLynx.kt similarity index 75% rename from godotopenxrlynx/src/main/java/org/godotengine/openxr/vendors/lynx/GodotOpenXRLynx.kt rename to plugin/src/lynx/java/org/godotengine/openxr/vendors/lynx/GodotOpenXRLynx.kt index 4406dd04..ed081bab 100644 --- a/godotopenxrlynx/src/main/java/org/godotengine/openxr/vendors/lynx/GodotOpenXRLynx.kt +++ b/plugin/src/lynx/java/org/godotengine/openxr/vendors/lynx/GodotOpenXRLynx.kt @@ -29,30 +29,12 @@ package org.godotengine.openxr.vendors.lynx -import android.util.Log import org.godotengine.godot.Godot -import org.godotengine.godot.plugin.GodotPlugin +import org.godotengine.openxr.vendors.GodotOpenXR /** * \brief GodotOpenXRLynx is the OpenXR Lynx plugin for Godot. */ -class GodotOpenXRLynx(godot: Godot?) : GodotPlugin(godot) { - companion object { - private val TAG = GodotOpenXRLynx::class.java.simpleName - - init { - try { - Log.v(TAG, "Loading godotopenxrvendors library") - System.loadLibrary("godotopenxrvendors") - } catch (e: UnsatisfiedLinkError) { - Log.e(TAG, "Unable to load godotopenxrvendors shared library") - } - } - } - - override fun getPluginGDExtensionLibrariesPaths() = setOf("res://addons/godotopenxrvendors/plugin.gdextension") - - override fun getPluginName(): String { - return "GodotOpenXRLynx" - } +class GodotOpenXRLynx(godot: Godot?) : GodotOpenXR(godot) { + override fun getPluginName() = "GodotOpenXRLynx" } diff --git a/plugin/src/lynx/lynx.cmake b/plugin/src/lynx/lynx.cmake new file mode 100644 index 00000000..65dae3d9 --- /dev/null +++ b/plugin/src/lynx/lynx.cmake @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 3.22.1) + +## lynx OpenXR loader library +set(LYNX_OPENXR_LIB_PATH "${CMAKE_CURRENT_LIST_DIR}/../../../thirdparty/lynx_openxr_sdk/${ANDROID_ABI}/libopenxr_loader.so") +add_library(openxr_loader + SHARED + IMPORTED GLOBAL +) +set_target_properties(openxr_loader PROPERTIES IMPORTED_LOCATION ${LYNX_OPENXR_LIB_PATH}) + +set(VENDOR_HEADERS_DIR "") +set(OPENXR_LOADER "openxr_loader") + +## Setup the project sources +file(GLOB_RECURSE ANDROID_SOURCES ${CMAKE_CURRENT_LIST_DIR}/cpp/*.c**) +file(GLOB_RECURSE ANDROID_HEADERS ${CMAKE_CURRENT_LIST_DIR}/cpp/*.h**) + +add_definitions(-DLYNX_VENDOR_ENABLED) diff --git a/godotopenxrmagicleap/src/main/AndroidManifest.xml b/plugin/src/magicleap/AndroidManifest.xml similarity index 90% rename from godotopenxrmagicleap/src/main/AndroidManifest.xml rename to plugin/src/magicleap/AndroidManifest.xml index 2a6b3ebd..8635f839 100644 --- a/godotopenxrmagicleap/src/main/AndroidManifest.xml +++ b/plugin/src/magicleap/AndroidManifest.xml @@ -21,7 +21,7 @@ + android:value="org.godotengine.openxr.vendors.magicleap.GodotOpenXRMagicleap" /> diff --git a/godotopenxrmagicleap/src/main/java/org/godotengine/openxr/vendors/magicleap/GodotOpenXRMagicleap.kt b/plugin/src/magicleap/java/org/godotengine/openxr/vendors/magicleap/GodotOpenXRMagicleap.kt similarity index 79% rename from godotopenxrmagicleap/src/main/java/org/godotengine/openxr/vendors/magicleap/GodotOpenXRMagicleap.kt rename to plugin/src/magicleap/java/org/godotengine/openxr/vendors/magicleap/GodotOpenXRMagicleap.kt index 439f056c..537fc7f9 100644 --- a/godotopenxrmagicleap/src/main/java/org/godotengine/openxr/vendors/magicleap/GodotOpenXRMagicleap.kt +++ b/plugin/src/magicleap/java/org/godotengine/openxr/vendors/magicleap/GodotOpenXRMagicleap.kt @@ -29,9 +29,8 @@ package org.godotengine.openxr.vendors.magicleap -import android.util.Log import org.godotengine.godot.Godot -import org.godotengine.godot.plugin.GodotPlugin +import org.godotengine.openxr.vendors.GodotOpenXR /** * \brief GodotOpenXRMagicleap is the OpenXR Magicleap plugin for Godot. @@ -49,23 +48,6 @@ import org.godotengine.godot.plugin.GodotPlugin * https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#android-runtime-category * */ -class GodotOpenXRMagicleap(godot: Godot?) : GodotPlugin(godot) { - companion object { - private val TAG = GodotOpenXRMagicleap::class.java.simpleName - - init { - try { - Log.v(TAG, "Loading godotopenxrvendors library") - System.loadLibrary("godotopenxrvendors") - } catch (e: UnsatisfiedLinkError) { - Log.e(TAG, "Unable to load godotopenxrvendors shared library") - } - } - } - - override fun getPluginGDExtensionLibrariesPaths() = setOf("res://addons/godotopenxrvendors/plugin.gdextension") - - override fun getPluginName(): String { - return "GodotOpenXRMagicleap" - } +class GodotOpenXRMagicleap(godot: Godot?) : GodotOpenXR(godot) { + override fun getPluginName() = "GodotOpenXRMagicleap" } diff --git a/plugin/src/magicleap/magicleap.cmake b/plugin/src/magicleap/magicleap.cmake new file mode 100644 index 00000000..b6f45a54 --- /dev/null +++ b/plugin/src/magicleap/magicleap.cmake @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.22.1) + +## khronos OpenXR loader library +find_package(OpenXR REQUIRED CONFIG) + +set(VENDOR_HEADERS_DIR "") +set(OPENXR_LOADER "OpenXR::openxr_loader") + +## Setup the project sources +file(GLOB_RECURSE ANDROID_SOURCES ${CMAKE_CURRENT_LIST_DIR}/cpp/*.c**) +file(GLOB_RECURSE ANDROID_HEADERS ${CMAKE_CURRENT_LIST_DIR}/cpp/*.h**) + +add_definitions(-DMAGICLEAP_VENDOR_ENABLED) diff --git a/godotopenxrkhronos/src/main/assets/.gitignore b/plugin/src/main/assets/.gitignore similarity index 100% rename from godotopenxrkhronos/src/main/assets/.gitignore rename to plugin/src/main/assets/.gitignore diff --git a/common/common.cmake b/plugin/src/main/common.cmake similarity index 90% rename from common/common.cmake rename to plugin/src/main/common.cmake index 1ab3e92e..6592deb6 100644 --- a/common/common.cmake +++ b/plugin/src/main/common.cmake @@ -97,7 +97,7 @@ else () endif (CMAKE_BUILD_TYPE MATCHES Debug) ## godot-cpp library -set(GODOT_CPP_DIR "${CMAKE_CURRENT_LIST_DIR}/../thirdparty/godot-cpp") +set(GODOT_CPP_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../thirdparty/godot-cpp") set(GODOT-CPP "godot-cpp") # Use the godot-cpp prebuilt static binary @@ -116,11 +116,11 @@ set_target_properties(${GODOT-CPP} PROPERTIES IMPORTED_LOCATION ${GODOT_CPP_STAT ## OpenXR headers -set(OPENXR_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/../thirdparty/openxr/include") +set(OPENXR_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../thirdparty/openxr/include") # Common lib -set(COMMON_LIB_HEADERS_DIR ${CMAKE_CURRENT_LIST_DIR}/../common/src/main/cpp/include) +set(COMMON_LIB_HEADERS_DIR ${CMAKE_CURRENT_LIST_DIR}/cpp/include) -file(GLOB_RECURSE COMMON_LIB_SOURCES ${CMAKE_CURRENT_LIST_DIR}/../common/src/main/cpp/*.c**) -file(GLOB_RECURSE COMMON_LIB_HEADERS ${CMAKE_CURRENT_LIST_DIR}/../common/src/main/cpp/*.h**) +file(GLOB_RECURSE COMMON_LIB_SOURCES ${CMAKE_CURRENT_LIST_DIR}/cpp/*.c**) +file(GLOB_RECURSE COMMON_LIB_HEADERS ${CMAKE_CURRENT_LIST_DIR}/cpp/*.h**) diff --git a/common/src/main/cpp/classes/openxr_fb_hand_tracking_mesh.cpp b/plugin/src/main/cpp/classes/openxr_fb_hand_tracking_mesh.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_fb_hand_tracking_mesh.cpp rename to plugin/src/main/cpp/classes/openxr_fb_hand_tracking_mesh.cpp diff --git a/common/src/main/cpp/classes/openxr_fb_passthrough_geometry.cpp b/plugin/src/main/cpp/classes/openxr_fb_passthrough_geometry.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_fb_passthrough_geometry.cpp rename to plugin/src/main/cpp/classes/openxr_fb_passthrough_geometry.cpp diff --git a/common/src/main/cpp/classes/openxr_fb_render_model.cpp b/plugin/src/main/cpp/classes/openxr_fb_render_model.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_fb_render_model.cpp rename to plugin/src/main/cpp/classes/openxr_fb_render_model.cpp diff --git a/common/src/main/cpp/classes/openxr_fb_scene_manager.cpp b/plugin/src/main/cpp/classes/openxr_fb_scene_manager.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_fb_scene_manager.cpp rename to plugin/src/main/cpp/classes/openxr_fb_scene_manager.cpp diff --git a/common/src/main/cpp/classes/openxr_fb_spatial_anchor_manager.cpp b/plugin/src/main/cpp/classes/openxr_fb_spatial_anchor_manager.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_fb_spatial_anchor_manager.cpp rename to plugin/src/main/cpp/classes/openxr_fb_spatial_anchor_manager.cpp diff --git a/common/src/main/cpp/classes/openxr_fb_spatial_entity.cpp b/plugin/src/main/cpp/classes/openxr_fb_spatial_entity.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_fb_spatial_entity.cpp rename to plugin/src/main/cpp/classes/openxr_fb_spatial_entity.cpp diff --git a/common/src/main/cpp/classes/openxr_fb_spatial_entity_batch.cpp b/plugin/src/main/cpp/classes/openxr_fb_spatial_entity_batch.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_fb_spatial_entity_batch.cpp rename to plugin/src/main/cpp/classes/openxr_fb_spatial_entity_batch.cpp diff --git a/common/src/main/cpp/classes/openxr_fb_spatial_entity_query.cpp b/plugin/src/main/cpp/classes/openxr_fb_spatial_entity_query.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_fb_spatial_entity_query.cpp rename to plugin/src/main/cpp/classes/openxr_fb_spatial_entity_query.cpp diff --git a/common/src/main/cpp/classes/openxr_fb_spatial_entity_user.cpp b/plugin/src/main/cpp/classes/openxr_fb_spatial_entity_user.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_fb_spatial_entity_user.cpp rename to plugin/src/main/cpp/classes/openxr_fb_spatial_entity_user.cpp diff --git a/common/src/main/cpp/classes/openxr_meta_passthrough_color_lut.cpp b/plugin/src/main/cpp/classes/openxr_meta_passthrough_color_lut.cpp similarity index 100% rename from common/src/main/cpp/classes/openxr_meta_passthrough_color_lut.cpp rename to plugin/src/main/cpp/classes/openxr_meta_passthrough_color_lut.cpp diff --git a/common/src/main/cpp/export/export_plugin.cpp b/plugin/src/main/cpp/export/export_plugin.cpp similarity index 99% rename from common/src/main/cpp/export/export_plugin.cpp rename to plugin/src/main/cpp/export/export_plugin.cpp index d7cbf0ca..6fa620be 100644 --- a/common/src/main/cpp/export/export_plugin.cpp +++ b/plugin/src/main/cpp/export/export_plugin.cpp @@ -67,7 +67,7 @@ String OpenXREditorExportPlugin::_get_name() const { String OpenXREditorExportPlugin::_get_android_aar_file_path(bool debug) const { const String debug_label = debug ? "debug" : "release"; - return "res://addons/godotopenxrvendors/.bin/android/" + debug_label + "/godotopenxr" + _vendor + "-" + debug_label + ".aar"; + return "res://addons/godotopenxrvendors/.bin/android/" + debug_label + "/godotopenxr-" + _vendor + "-" + debug_label + ".aar"; } String OpenXREditorExportPlugin::_get_android_maven_central_dependency() const { diff --git a/common/src/main/cpp/export/khronos_export_plugin.cpp b/plugin/src/main/cpp/export/khronos_export_plugin.cpp similarity index 100% rename from common/src/main/cpp/export/khronos_export_plugin.cpp rename to plugin/src/main/cpp/export/khronos_export_plugin.cpp diff --git a/common/src/main/cpp/export/lynx_export_plugin.cpp b/plugin/src/main/cpp/export/lynx_export_plugin.cpp similarity index 100% rename from common/src/main/cpp/export/lynx_export_plugin.cpp rename to plugin/src/main/cpp/export/lynx_export_plugin.cpp diff --git a/common/src/main/cpp/export/magicleap_export_plugin.cpp b/plugin/src/main/cpp/export/magicleap_export_plugin.cpp similarity index 100% rename from common/src/main/cpp/export/magicleap_export_plugin.cpp rename to plugin/src/main/cpp/export/magicleap_export_plugin.cpp diff --git a/common/src/main/cpp/export/meta_export_plugin.cpp b/plugin/src/main/cpp/export/meta_export_plugin.cpp similarity index 100% rename from common/src/main/cpp/export/meta_export_plugin.cpp rename to plugin/src/main/cpp/export/meta_export_plugin.cpp diff --git a/common/src/main/cpp/export/pico_export_plugin.cpp b/plugin/src/main/cpp/export/pico_export_plugin.cpp similarity index 100% rename from common/src/main/cpp/export/pico_export_plugin.cpp rename to plugin/src/main/cpp/export/pico_export_plugin.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_body_tracking_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_body_tracking_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_body_tracking_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_body_tracking_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_composition_layer_alpha_blend_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_composition_layer_alpha_blend_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_composition_layer_alpha_blend_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_composition_layer_alpha_blend_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_composition_layer_secure_content_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_composition_layer_secure_content_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_composition_layer_secure_content_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_composition_layer_secure_content_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_composition_layer_settings_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_composition_layer_settings_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_composition_layer_settings_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_composition_layer_settings_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_face_tracking_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_face_tracking_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_face_tracking_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_face_tracking_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_hand_tracking_aim_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_hand_tracking_aim_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_hand_tracking_aim_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_hand_tracking_aim_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_hand_tracking_capsules_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_hand_tracking_capsules_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_hand_tracking_capsules_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_hand_tracking_capsules_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_hand_tracking_mesh_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_hand_tracking_mesh_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_hand_tracking_mesh_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_hand_tracking_mesh_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_passthrough_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_passthrough_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_passthrough_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_passthrough_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_render_model_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_render_model_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_render_model_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_render_model_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_scene_capture_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_scene_capture_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_scene_capture_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_scene_capture_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_scene_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_scene_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_scene_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_scene_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_spatial_entity_container_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_container_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_spatial_entity_container_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_container_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_spatial_entity_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_spatial_entity_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_spatial_entity_query_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_query_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_spatial_entity_query_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_query_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_spatial_entity_sharing_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_sharing_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_spatial_entity_sharing_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_sharing_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_spatial_entity_storage_batch_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_storage_batch_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_spatial_entity_storage_batch_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_storage_batch_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_spatial_entity_storage_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_storage_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_spatial_entity_storage_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_storage_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_fb_spatial_entity_user_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_user_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_fb_spatial_entity_user_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_fb_spatial_entity_user_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_htc_facial_tracking_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_htc_facial_tracking_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_htc_facial_tracking_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_htc_facial_tracking_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_htc_passthrough_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_htc_passthrough_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_htc_passthrough_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_htc_passthrough_extension_wrapper.cpp diff --git a/common/src/main/cpp/extensions/openxr_meta_spatial_entity_mesh_extension_wrapper.cpp b/plugin/src/main/cpp/extensions/openxr_meta_spatial_entity_mesh_extension_wrapper.cpp similarity index 100% rename from common/src/main/cpp/extensions/openxr_meta_spatial_entity_mesh_extension_wrapper.cpp rename to plugin/src/main/cpp/extensions/openxr_meta_spatial_entity_mesh_extension_wrapper.cpp diff --git a/common/src/main/cpp/include/classes/openxr_fb_hand_tracking_mesh.h b/plugin/src/main/cpp/include/classes/openxr_fb_hand_tracking_mesh.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_fb_hand_tracking_mesh.h rename to plugin/src/main/cpp/include/classes/openxr_fb_hand_tracking_mesh.h diff --git a/common/src/main/cpp/include/classes/openxr_fb_passthrough_geometry.h b/plugin/src/main/cpp/include/classes/openxr_fb_passthrough_geometry.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_fb_passthrough_geometry.h rename to plugin/src/main/cpp/include/classes/openxr_fb_passthrough_geometry.h diff --git a/common/src/main/cpp/include/classes/openxr_fb_render_model.h b/plugin/src/main/cpp/include/classes/openxr_fb_render_model.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_fb_render_model.h rename to plugin/src/main/cpp/include/classes/openxr_fb_render_model.h diff --git a/common/src/main/cpp/include/classes/openxr_fb_scene_manager.h b/plugin/src/main/cpp/include/classes/openxr_fb_scene_manager.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_fb_scene_manager.h rename to plugin/src/main/cpp/include/classes/openxr_fb_scene_manager.h diff --git a/common/src/main/cpp/include/classes/openxr_fb_spatial_anchor_manager.h b/plugin/src/main/cpp/include/classes/openxr_fb_spatial_anchor_manager.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_fb_spatial_anchor_manager.h rename to plugin/src/main/cpp/include/classes/openxr_fb_spatial_anchor_manager.h diff --git a/common/src/main/cpp/include/classes/openxr_fb_spatial_entity.h b/plugin/src/main/cpp/include/classes/openxr_fb_spatial_entity.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_fb_spatial_entity.h rename to plugin/src/main/cpp/include/classes/openxr_fb_spatial_entity.h diff --git a/common/src/main/cpp/include/classes/openxr_fb_spatial_entity_batch.h b/plugin/src/main/cpp/include/classes/openxr_fb_spatial_entity_batch.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_fb_spatial_entity_batch.h rename to plugin/src/main/cpp/include/classes/openxr_fb_spatial_entity_batch.h diff --git a/common/src/main/cpp/include/classes/openxr_fb_spatial_entity_query.h b/plugin/src/main/cpp/include/classes/openxr_fb_spatial_entity_query.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_fb_spatial_entity_query.h rename to plugin/src/main/cpp/include/classes/openxr_fb_spatial_entity_query.h diff --git a/common/src/main/cpp/include/classes/openxr_fb_spatial_entity_user.h b/plugin/src/main/cpp/include/classes/openxr_fb_spatial_entity_user.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_fb_spatial_entity_user.h rename to plugin/src/main/cpp/include/classes/openxr_fb_spatial_entity_user.h diff --git a/common/src/main/cpp/include/classes/openxr_meta_passthrough_color_lut.h b/plugin/src/main/cpp/include/classes/openxr_meta_passthrough_color_lut.h similarity index 100% rename from common/src/main/cpp/include/classes/openxr_meta_passthrough_color_lut.h rename to plugin/src/main/cpp/include/classes/openxr_meta_passthrough_color_lut.h diff --git a/common/src/main/cpp/include/export/export_plugin.h b/plugin/src/main/cpp/include/export/export_plugin.h similarity index 100% rename from common/src/main/cpp/include/export/export_plugin.h rename to plugin/src/main/cpp/include/export/export_plugin.h diff --git a/common/src/main/cpp/include/export/khronos_export_plugin.h b/plugin/src/main/cpp/include/export/khronos_export_plugin.h similarity index 100% rename from common/src/main/cpp/include/export/khronos_export_plugin.h rename to plugin/src/main/cpp/include/export/khronos_export_plugin.h diff --git a/common/src/main/cpp/include/export/lynx_export_plugin.h b/plugin/src/main/cpp/include/export/lynx_export_plugin.h similarity index 100% rename from common/src/main/cpp/include/export/lynx_export_plugin.h rename to plugin/src/main/cpp/include/export/lynx_export_plugin.h diff --git a/common/src/main/cpp/include/export/magicleap_export_plugin.h b/plugin/src/main/cpp/include/export/magicleap_export_plugin.h similarity index 100% rename from common/src/main/cpp/include/export/magicleap_export_plugin.h rename to plugin/src/main/cpp/include/export/magicleap_export_plugin.h diff --git a/common/src/main/cpp/include/export/meta_export_plugin.h b/plugin/src/main/cpp/include/export/meta_export_plugin.h similarity index 100% rename from common/src/main/cpp/include/export/meta_export_plugin.h rename to plugin/src/main/cpp/include/export/meta_export_plugin.h diff --git a/common/src/main/cpp/include/export/pico_export_plugin.h b/plugin/src/main/cpp/include/export/pico_export_plugin.h similarity index 100% rename from common/src/main/cpp/include/export/pico_export_plugin.h rename to plugin/src/main/cpp/include/export/pico_export_plugin.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_body_tracking_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_body_tracking_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_body_tracking_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_body_tracking_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_composition_layer_alpha_blend_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_composition_layer_alpha_blend_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_composition_layer_alpha_blend_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_composition_layer_alpha_blend_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_composition_layer_secure_content_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_composition_layer_secure_content_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_composition_layer_secure_content_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_composition_layer_secure_content_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_composition_layer_settings_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_composition_layer_settings_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_composition_layer_settings_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_composition_layer_settings_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_face_tracking_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_face_tracking_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_face_tracking_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_face_tracking_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_hand_tracking_aim_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_hand_tracking_aim_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_hand_tracking_aim_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_hand_tracking_aim_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_hand_tracking_capsules_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_hand_tracking_capsules_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_hand_tracking_capsules_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_hand_tracking_capsules_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_hand_tracking_mesh_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_hand_tracking_mesh_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_hand_tracking_mesh_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_hand_tracking_mesh_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_passthrough_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_passthrough_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_passthrough_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_passthrough_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_render_model_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_render_model_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_render_model_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_render_model_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_scene_capture_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_scene_capture_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_scene_capture_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_scene_capture_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_scene_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_scene_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_scene_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_scene_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_container_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_container_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_container_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_container_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_query_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_query_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_query_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_query_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_sharing_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_sharing_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_sharing_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_sharing_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_storage_batch_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_storage_batch_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_storage_batch_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_storage_batch_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_storage_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_storage_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_storage_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_storage_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_user_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_user_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_fb_spatial_entity_user_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_fb_spatial_entity_user_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_htc_facial_tracking_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_htc_facial_tracking_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_htc_facial_tracking_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_htc_facial_tracking_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_htc_passthrough_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_htc_passthrough_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_htc_passthrough_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_htc_passthrough_extension_wrapper.h diff --git a/common/src/main/cpp/include/extensions/openxr_meta_spatial_entity_mesh_extension_wrapper.h b/plugin/src/main/cpp/include/extensions/openxr_meta_spatial_entity_mesh_extension_wrapper.h similarity index 100% rename from common/src/main/cpp/include/extensions/openxr_meta_spatial_entity_mesh_extension_wrapper.h rename to plugin/src/main/cpp/include/extensions/openxr_meta_spatial_entity_mesh_extension_wrapper.h diff --git a/common/src/main/cpp/include/register_types.h b/plugin/src/main/cpp/include/register_types.h similarity index 100% rename from common/src/main/cpp/include/register_types.h rename to plugin/src/main/cpp/include/register_types.h diff --git a/common/src/main/cpp/include/util.h b/plugin/src/main/cpp/include/util.h similarity index 100% rename from common/src/main/cpp/include/util.h rename to plugin/src/main/cpp/include/util.h diff --git a/common/src/main/cpp/register_types.cpp b/plugin/src/main/cpp/register_types.cpp similarity index 100% rename from common/src/main/cpp/register_types.cpp rename to plugin/src/main/cpp/register_types.cpp diff --git a/common/src/main/cpp/util.cpp b/plugin/src/main/cpp/util.cpp similarity index 100% rename from common/src/main/cpp/util.cpp rename to plugin/src/main/cpp/util.cpp diff --git a/plugin/src/main/java/org/godotengine/openxr/vendors/GodotOpenXR.kt b/plugin/src/main/java/org/godotengine/openxr/vendors/GodotOpenXR.kt new file mode 100644 index 00000000..9bfb373f --- /dev/null +++ b/plugin/src/main/java/org/godotengine/openxr/vendors/GodotOpenXR.kt @@ -0,0 +1,69 @@ +/**************************************************************************/ +/* GodotOpenXR.kt */ +/**************************************************************************/ +/* This file is part of: */ +/* GODOT XR */ +/* https://godotengine.org */ +/**************************************************************************/ +/* Copyright (c) 2022-present Godot XR contributors (see CONTRIBUTORS.md) */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/**************************************************************************/ + +package org.godotengine.openxr.vendors + +import android.util.Log +import org.godotengine.godot.Godot +import org.godotengine.godot.plugin.GodotPlugin +import org.godotengine.godot.utils.PermissionsUtil + +/** + * Base class for the Godot OpenXR plugin. + */ +abstract class GodotOpenXR(godot: Godot?) : GodotPlugin(godot) { + companion object { + protected val TAG = GodotOpenXR::class.java.simpleName + + init { + try { + Log.v(TAG, "Loading godotopenxrvendors library") + System.loadLibrary("godotopenxrvendors") + } catch (e: UnsatisfiedLinkError) { + Log.e(TAG, "Unable to load godotopenxrvendors shared library") + } + } + } + + override fun getPluginGDExtensionLibrariesPaths() = setOf("res://addons/godotopenxrvendors/plugin.gdextension") + + override fun onGodotSetupCompleted() { + super.onGodotSetupCompleted() + + // Request plugin permissions if needed + val permissionsToRequest = getPluginPermissionsToEnable() + if (permissionsToRequest.isNotEmpty()) { + PermissionsUtil.requestPermissions(activity, permissionsToRequest) + } + } + + protected open fun getPluginPermissionsToEnable(): MutableList { + return mutableListOf() + } +} diff --git a/godotopenxrmeta/src/main/AndroidManifest.xml b/plugin/src/meta/AndroidManifest.xml similarity index 100% rename from godotopenxrmeta/src/main/AndroidManifest.xml rename to plugin/src/meta/AndroidManifest.xml diff --git a/godotopenxrmeta/src/main/java/org/godotengine/openxr/vendors/meta/GodotOpenXRMeta.kt b/plugin/src/meta/java/org/godotengine/openxr/vendors/meta/GodotOpenXRMeta.kt similarity index 56% rename from godotopenxrmeta/src/main/java/org/godotengine/openxr/vendors/meta/GodotOpenXRMeta.kt rename to plugin/src/meta/java/org/godotengine/openxr/vendors/meta/GodotOpenXRMeta.kt index dab80557..7e4f9e34 100644 --- a/godotopenxrmeta/src/main/java/org/godotengine/openxr/vendors/meta/GodotOpenXRMeta.kt +++ b/plugin/src/meta/java/org/godotengine/openxr/vendors/meta/GodotOpenXRMeta.kt @@ -29,81 +29,46 @@ package org.godotengine.openxr.vendors.meta -import android.Manifest -import android.app.Activity -import android.content.Context -import android.content.Intent -import android.content.pm.PackageManager -import android.content.pm.PermissionInfo -import android.net.Uri -import android.os.Build -import android.os.Environment -import android.provider.Settings -import android.util.Log -import android.view.View import org.godotengine.godot.Godot -import org.godotengine.godot.plugin.GodotPlugin import org.godotengine.godot.utils.PermissionsUtil +import org.godotengine.openxr.vendors.GodotOpenXR /** - * Godot plugin for the Meta OpenXR loader. + * Godot OpenXR plugin for the Meta platform. */ -class GodotOpenXRMeta(godot: Godot?) : GodotPlugin(godot) { +class GodotOpenXRMeta(godot: Godot?) : GodotOpenXR(godot) { companion object { - private val TAG = GodotOpenXRMeta::class.java.simpleName - private const val BODY_TRACKING_PERMISSION = "com.oculus.permission.BODY_TRACKING" private const val EYE_TRACKING_PERMISSION = "com.oculus.permission.EYE_TRACKING" private const val FACE_TRACKING_PERMISSION = "com.oculus.permission.FACE_TRACKING" private const val SCENE_PERMISSION = "com.oculus.permission.USE_SCENE" - - init { - try { - Log.v(TAG, "Loading godotopenxrvendors library") - System.loadLibrary("godotopenxrvendors") - } catch (e: UnsatisfiedLinkError) { - Log.e(TAG, "Unable to load godotopenxrvendors shared library") - } - } - - /** - * Dispatch the necessary requests for all plugin's permissions in the app's manifest. - */ - @JvmStatic - fun requestAllPluginPermissions(activity: Activity) { - val permissionsToRequest = ArrayList() - // Request the body tracking permission if it's included in the manifest - if (PermissionsUtil.hasManifestPermission(activity, BODY_TRACKING_PERMISSION)) { - permissionsToRequest.add(BODY_TRACKING_PERMISSION) - } - // Request the eye tracking permission if it's included in the manifest - if (PermissionsUtil.hasManifestPermission(activity, EYE_TRACKING_PERMISSION)) { - permissionsToRequest.add(EYE_TRACKING_PERMISSION) - } - // Request the face tracking permission if it's included in the manifest - if (PermissionsUtil.hasManifestPermission(activity, FACE_TRACKING_PERMISSION)) { - permissionsToRequest.add(FACE_TRACKING_PERMISSION) - } - // Request the scene API permission if it's included in the manifest - if (PermissionsUtil.hasManifestPermission(activity, SCENE_PERMISSION)) { - permissionsToRequest.add(SCENE_PERMISSION) - } - - if (permissionsToRequest.isNotEmpty()) { - PermissionsUtil.requestPermissions(activity, permissionsToRequest) - } - } } override fun getPluginName(): String { return "GodotOpenXRMeta" } - override fun getPluginGDExtensionLibrariesPaths() = setOf("res://addons/godotopenxrvendors/plugin.gdextension") + override fun getPluginPermissionsToEnable(): MutableList { + val permissionsToEnable = super.getPluginPermissionsToEnable() + + // Request the body tracking permission if it's included in the manifest + if (PermissionsUtil.hasManifestPermission(activity, BODY_TRACKING_PERMISSION)) { + permissionsToEnable.add(BODY_TRACKING_PERMISSION) + } + // Request the eye tracking permission if it's included in the manifest + if (PermissionsUtil.hasManifestPermission(activity, EYE_TRACKING_PERMISSION)) { + permissionsToEnable.add(EYE_TRACKING_PERMISSION) + } + // Request the face tracking permission if it's included in the manifest + if (PermissionsUtil.hasManifestPermission(activity, FACE_TRACKING_PERMISSION)) { + permissionsToEnable.add(FACE_TRACKING_PERMISSION) + } + // Request the scene API permission if it's included in the manifest + if (PermissionsUtil.hasManifestPermission(activity, SCENE_PERMISSION)) { + permissionsToEnable.add(SCENE_PERMISSION) + } - override fun onMainCreate(activity: Activity): View? { - requestAllPluginPermissions(activity) - return null + return permissionsToEnable } override fun supportsFeature(featureTag: String): Boolean { diff --git a/plugin/src/meta/meta.cmake b/plugin/src/meta/meta.cmake new file mode 100644 index 00000000..da2ca325 --- /dev/null +++ b/plugin/src/meta/meta.cmake @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.22.1) + +## OpenXR Mobile loader library +# Sets the path to the OpenXR mobile library directory. +set(OPENXR_MOBILE_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../thirdparty/ovr_openxr_mobile_sdk/OpenXR") +set(OPENXR_MOBILE_HEADERS_DIR "${OPENXR_MOBILE_ROOT_DIR}/Include" CACHE STRING "") + +set(OPENXR_MOBILE_LIB_PATH "${OPENXR_MOBILE_ROOT_DIR}/Libs/Android/${ANDROID_ABI}/${OPENXR_MOBILE_LIB_BUILD_TYPE}/libopenxr_loader.so") +add_library(openxr_loader + SHARED + IMPORTED GLOBAL +) +set_target_properties(openxr_loader PROPERTIES IMPORTED_LOCATION ${OPENXR_MOBILE_LIB_PATH}) + +set(VENDOR_HEADERS_DIR "${OPENXR_MOBILE_HEADERS_DIR}") +set(OPENXR_LOADER "openxr_loader") + +## Setup the project sources +file(GLOB_RECURSE ANDROID_SOURCES ${CMAKE_CURRENT_LIST_DIR}/cpp/*.c**) +file(GLOB_RECURSE ANDROID_HEADERS ${CMAKE_CURRENT_LIST_DIR}/cpp/*.h**) + +add_definitions(-DMETA_VENDOR_ENABLED) diff --git a/godotopenxrpico/src/main/AndroidManifest.xml b/plugin/src/pico/AndroidManifest.xml similarity index 100% rename from godotopenxrpico/src/main/AndroidManifest.xml rename to plugin/src/pico/AndroidManifest.xml diff --git a/godotopenxrpico/src/main/java/org/godotengine/openxr/vendors/pico/GodotOpenXRPico.kt b/plugin/src/pico/java/org/godotengine/openxr/vendors/pico/GodotOpenXRPico.kt similarity index 61% rename from godotopenxrpico/src/main/java/org/godotengine/openxr/vendors/pico/GodotOpenXRPico.kt rename to plugin/src/pico/java/org/godotengine/openxr/vendors/pico/GodotOpenXRPico.kt index 9ab39b0e..36845e11 100644 --- a/godotopenxrpico/src/main/java/org/godotengine/openxr/vendors/pico/GodotOpenXRPico.kt +++ b/plugin/src/pico/java/org/godotengine/openxr/vendors/pico/GodotOpenXRPico.kt @@ -29,71 +29,36 @@ package org.godotengine.openxr.vendors.pico -import android.Manifest -import android.app.Activity -import android.content.Context -import android.content.Intent -import android.content.pm.PackageManager -import android.content.pm.PermissionInfo -import android.net.Uri -import android.os.Build -import android.os.Environment -import android.provider.Settings -import android.util.Log -import android.view.View import org.godotengine.godot.Godot -import org.godotengine.godot.plugin.GodotPlugin import org.godotengine.godot.utils.PermissionsUtil +import org.godotengine.openxr.vendors.GodotOpenXR /** * Godot plugin for the Pico OpenXR loader. */ -class GodotOpenXRPico(godot: Godot?) : GodotPlugin(godot) { +class GodotOpenXRPico(godot: Godot?) : GodotOpenXR(godot) { companion object { - private val TAG = GodotOpenXRPico::class.java.simpleName - private const val EYE_TRACKING_PERMISSION = "com.picovr.permission.EYE_TRACKING" private const val FACE_TRACKING_PERMISSION = "com.picovr.permission.FACE_TRACKING" - - init { - try { - Log.v(TAG, "Loading godotopenxrvendors library") - System.loadLibrary("godotopenxrvendors") - } catch (e: UnsatisfiedLinkError) { - Log.e(TAG, "Unable to load godotopenxrvendors shared library") - } - } - - /** - * Dispatch the necessary requests for all plugin's permissions in the app's manifest. - */ - @JvmStatic - fun requestAllPluginPermissions(activity: Activity) { - val permissionsToRequest = ArrayList() - // Request the eye tracking permission if it's included in the manifest - if (PermissionsUtil.hasManifestPermission(activity, EYE_TRACKING_PERMISSION)) { - permissionsToRequest.add(EYE_TRACKING_PERMISSION) - } - // Request the face tracking permission if it's included in the manifest - if (PermissionsUtil.hasManifestPermission(activity, FACE_TRACKING_PERMISSION)) { - permissionsToRequest.add(FACE_TRACKING_PERMISSION) - } - - if (permissionsToRequest.isNotEmpty()) { - PermissionsUtil.requestPermissions(activity, permissionsToRequest) - } - } } - override fun getPluginGDExtensionLibrariesPaths() = setOf("res://addons/godotopenxrvendors/plugin.gdextension") - override fun getPluginName(): String { return "GodotOpenXRPico" } - override fun onMainCreate(activity: Activity): View? { - requestAllPluginPermissions(activity) - return null + override fun getPluginPermissionsToEnable(): MutableList { + val permissionsToRequest = super.getPluginPermissionsToEnable() + + // Request the eye tracking permission if it's included in the manifest + if (PermissionsUtil.hasManifestPermission(activity, EYE_TRACKING_PERMISSION)) { + permissionsToRequest.add(EYE_TRACKING_PERMISSION) + } + // Request the face tracking permission if it's included in the manifest + if (PermissionsUtil.hasManifestPermission(activity, FACE_TRACKING_PERMISSION)) { + permissionsToRequest.add(FACE_TRACKING_PERMISSION) + } + + return permissionsToRequest } override fun supportsFeature(featureTag: String): Boolean { diff --git a/plugin/src/pico/pico.cmake b/plugin/src/pico/pico.cmake new file mode 100644 index 00000000..964f914e --- /dev/null +++ b/plugin/src/pico/pico.cmake @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.22.1) + +## khronos OpenXR loader library +find_package(OpenXR REQUIRED CONFIG) + +set(VENDOR_HEADERS_DIR "") +set(OPENXR_LOADER "OpenXR::openxr_loader") + +## Setup the project sources +file(GLOB_RECURSE ANDROID_SOURCES ${CMAKE_CURRENT_LIST_DIR}/cpp/*.c**) +file(GLOB_RECURSE ANDROID_HEADERS ${CMAKE_CURRENT_LIST_DIR}/cpp/*.h**) + +add_definitions(-DPICO_VENDOR_ENABLED) diff --git a/scripts/publish-module.gradle b/scripts/publish-module.gradle index 1adf161c..dc5a17d8 100644 --- a/scripts/publish-module.gradle +++ b/scripts/publish-module.gradle @@ -7,52 +7,67 @@ version = getReleaseVersion() afterEvaluate { publishing { publications { - release(MavenPublication) { - from components.release + android.libraryVariants.all { variant -> + String buildType = variant.buildType.name + if (buildType != "release") { + return + } - // The coordinates of the library, being set from variables that we'll set up later - groupId ossrhGroupId - artifactId PUBLISH_ARTIFACT_ID - version getReleaseVersion() + String flavorArtifactId = PUBLISH_ARTIFACT_ID + String flavorName = variant.getFlavorName() + if (flavorName != null && !flavorName.isEmpty()) { + flavorArtifactId = "$flavorArtifactId-$flavorName" + } - // Mostly self-explanatory metadata - pom { - name = PUBLISH_ARTIFACT_ID - description = 'Godot OpenXR Vendors' - url = 'https://github.com/GodotVR/godot_openxr_vendors#readme' - licenses { - license { - name = 'MIT License' - url = 'https://github.com/GodotVR/godot_openxr_vendors/blob/master/LICENSE' - } - } - developers { - developer { - id = 'm4gr3d' - name = 'Fredia Huya-Kouadio' - email = 'fhuyakou@gmail.com' - } - developer { - id = 'BastiaanOlij' - name = 'Bastiaan Olij' - email = 'mux213@gmail.com' - } - developer { - id = 'kisg' - name = 'Gergely Kis' + String variantName = variant.name + + "$variantName"(MavenPublication) { + from components."$variantName" + + // The coordinates of the library, being set from variables that we'll set up later + groupId ossrhGroupId + artifactId flavorArtifactId + version getReleaseVersion() + + // Mostly self-explanatory metadata + pom { + name = flavorArtifactId + description = 'Godot OpenXR Vendors' + url = 'https://github.com/GodotVR/godot_openxr_vendors#readme' + licenses { + license { + name = 'MIT License' + url = 'https://github.com/GodotVR/godot_openxr_vendors/blob/master/LICENSE' + } } - developer { - id = 'rsjtdrjgfuzkfg' - name = 'Dirk Steinmetz' + developers { + developer { + id = 'm4gr3d' + name = 'Fredia Huya-Kouadio' + email = 'fhuyakou@gmail.com' + } + developer { + id = 'BastiaanOlij' + name = 'Bastiaan Olij' + email = 'mux213@gmail.com' + } + developer { + id = 'kisg' + name = 'Gergely Kis' + } + developer { + id = 'rsjtdrjgfuzkfg' + name = 'Dirk Steinmetz' + } + // Add all other devs here... } - // Add all other devs here... - } - // Version control info - if you're using GitHub, follow the format as seen here - scm { - connection = 'scm:git:github.com/GodotVR/godot_openxr_vendors.git' - developerConnection = 'scm:git:ssh://github.com/GodotVR/godot_openxr_vendors.git' - url = 'https://github.com/GodotVR/godot_openxr_vendors/tree/master' + // Version control info - if you're using GitHub, follow the format as seen here + scm { + connection = 'scm:git:github.com/GodotVR/godot_openxr_vendors.git' + developerConnection = 'scm:git:ssh://github.com/GodotVR/godot_openxr_vendors.git' + url = 'https://github.com/GodotVR/godot_openxr_vendors/tree/master' + } } } } diff --git a/settings.gradle b/settings.gradle index 9cb162d4..5aa96454 100644 --- a/settings.gradle +++ b/settings.gradle @@ -22,4 +22,4 @@ dependencyResolutionManagement { } } rootProject.name = "GodotOpenXRVendors" -include ':godotopenxrmeta', ':godotopenxrpico', ':godotopenxrkhronos', ':godotopenxrlynx', ':godotopenxrmagicleap' +include ':plugin' diff --git a/thirdparty/godot_cpp_build_profile/create_build_profile.py b/thirdparty/godot_cpp_build_profile/create_build_profile.py index 1956d73c..f94bef1e 100644 --- a/thirdparty/godot_cpp_build_profile/create_build_profile.py +++ b/thirdparty/godot_cpp_build_profile/create_build_profile.py @@ -5,12 +5,7 @@ import json SOURCE_DIRS = [ - '../../common', - '../../godotopenxrkhronos', - '../../godotopenxrlynx', - '../../godotopenxrmeta', - '../../godotopenxrpico', - '../../godotopenxrmagicleap', + '../../plugin', ] GODOT_CPP_HEADERS = "../godot-cpp/gen/include/godot_cpp/classes" @@ -91,4 +86,5 @@ def main(): json.dump(build_profile, file, indent=4) if __name__ == "__main__": - main() \ No newline at end of file + main() +