BuildAndroid.js 1.5 KB

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