瀏覽代碼

Merge pull request #139 from carbonated-dev/akostin/CopyJavaSrc

Copy Java source (Android target)
alexeykostin 1 年之前
父節點
當前提交
c810d89fb2
共有 2 個文件被更改,包括 34 次插入0 次删除
  1. 19 0
      Gems/InAppPurchases/Code/Source/Platform/Android/platform_android.cmake
  2. 15 0
      cmake/PALTools.cmake

+ 19 - 0
Gems/InAppPurchases/Code/Source/Platform/Android/platform_android.cmake

@@ -5,3 +5,22 @@
 # SPDX-License-Identifier: Apache-2.0 OR MIT
 #
 #
+
+foreach(module_path ${CMAKE_MODULE_PATH})
+    cmake_path(SET PALTools_cmake_path "${module_path}/PALTools.cmake")
+    if(EXISTS "${PALTools_cmake_path}")
+        include("${PALTools_cmake_path}")
+
+        set(RELATIVE_PATH Source/Platform/Android) 
+
+        set(JAVA_FILES
+            java/com/amazon/lumberyard/iap/LumberyardInAppBilling.java
+        )
+
+        copy_java_to_build_dir(${RELATIVE_PATH} ${JAVA_FILES})
+
+        return()
+    endif()
+endforeach()
+
+message(FATAL_ERROR "Unable to find PALTools.cmake in ${CMAKE_MODULE_PATH}")

+ 15 - 0
cmake/PALTools.cmake

@@ -15,6 +15,8 @@
 
 # Discover all the platforms that are available
 
+include(CMakePrintHelpers)
+
 set(LY_PAL_TOOLS_DEFINES)
 file(GLOB pal_tools_files "cmake/Platform/*/PALTools_*.cmake")
 foreach(pal_tools_file ${pal_tools_files})
@@ -47,3 +49,16 @@ function(ly_get_pal_tool_dirs out_list pal_path)
     endforeach()
     set(${out_list} ${pal_paths} PARENT_SCOPE)
 endfunction()
+
+function(copy_java_to_build_dir common_relative_path file_paths)
+  foreach(file_path ${file_paths})
+    get_filename_component(target_path "${file_path}" DIRECTORY)
+    # External Python script launches cmake with -B like C:/myProjectAndroid/app/o3de/profile/6v5z4r4t/arm64-v8a
+    # We want to copy the extra Java source to C:/myProjectAndroid/app/src/main/${file_path}
+    set(java_file_src ${CMAKE_CURRENT_SOURCE_DIR}/${common_relative_path}/${file_path})
+    set(java_file_dest ${CMAKE_BINARY_DIR}/../../../../src/main/${target_path})
+    cmake_print_variables(java_file_src)
+    cmake_print_variables(java_file_dest)
+    file(COPY ${java_file_src} DESTINATION ${java_file_dest})
+  endforeach()
+endfunction()