BuildAndroid.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. var os = require('os');
  2. var fs = require('fs-extra');
  3. var path = require("path");
  4. var host = require("./Host");
  5. var config = require('./BuildConfig');
  6. var atomicRoot = config.atomicRoot;
  7. var buildDir = config.artifactsRoot + "Build/Android/";
  8. namespace('build', function() {
  9. task('android_native', {
  10. async: true
  11. }, function() {
  12. host.setupDirs(!config["noclean"], [buildDir]);
  13. process.chdir(buildDir);
  14. var cmds = [];
  15. if (os.platform() == "win32") {
  16. cmds.push(atomicRoot + "Build/Scripts/Windows/CompileAndroid.bat " + config["config"]);
  17. }
  18. else {
  19. cmds.push("cmake -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=../../../Build/CMake/Toolchains/android.toolchain.cmake -DCMAKE_BUILD_TYPE=" + config["config"] + " ../../../");
  20. cmds.push("make -j4");
  21. }
  22. jake.exec(cmds, function() {
  23. var editorResourceFolder = config.artifactsRoot + (os.platform() == "win32" ? "AtomicEditor/Resources/" : "AtomicEditor/AtomicEditor.app/Contents/Resources/");
  24. // Install Deployment
  25. fs.copySync(buildDir + "Source/AtomicPlayer/Application/libAtomicPlayer.so",
  26. editorResourceFolder + "ToolData/Deployment/Android/libs/armeabi-v7a/libAtomicPlayer.so");
  27. // Install local deployment
  28. fs.copySync(buildDir + "Source/AtomicPlayer/Application/libAtomicPlayer.so",
  29. atomicRoot + "Artifacts/AtomicEditor/Resources/ToolData/Deployment/Android/libs/armeabi-v7a/libAtomicPlayer.so");
  30. complete();
  31. }, {
  32. printStdout: true,
  33. printStderr: true
  34. });
  35. });
  36. }); // end of build namespace