| 2 | import argparse, build_utils, common, glob, os, platform, subprocess, sys |
| 3 | |
| 4 | def build_native(): |
| 5 | os.chdir(common.basedir + "/" + build_utils.system) |
| 6 | subprocess.check_call(["cmake", |
| 7 | "-DCMAKE_BUILD_TYPE=Release", |
| 8 | "-B", "build", |
| 9 | "-G", "Ninja", |
| 10 | "-DJWM_ARCH=" + build_utils.arch, |
| 11 | *(["-DCMAKE_OSX_ARCHITECTURES=" + {"x64": "x86_64", "arm64": "arm64"}[build_utils.arch]] if build_utils.system == "macos" else [])]) |
| 12 | build_utils.ninja("build") |
| 13 | |
| 14 | if os.path.exists('build/libjwm_x64.dylib'): |
| 15 | build_utils.copy_newer('build/libjwm_x64.dylib', '../target/classes/libjwm_x64.dylib') |
| 16 | |
| 17 | if os.path.exists('build/libjwm_arm64.dylib'): |
| 18 | build_utils.copy_newer('build/libjwm_arm64.dylib', '../target/classes/libjwm_arm64.dylib') |
| 19 | |
| 20 | if os.path.exists('build/libjwm_x64.so'): |
| 21 | build_utils.copy_newer('build/libjwm_x64.so', '../target/classes/libjwm_x64.so') |
| 22 | |
| 23 | if os.path.exists('build/libjwm_arm64.so'): |
| 24 | build_utils.copy_newer('build/libjwm_arm64.so', '../target/classes/libjwm_arm64.so') |
| 25 | |
| 26 | if os.path.exists('build/jwm_x64.dll'): |
| 27 | build_utils.copy_newer('build/jwm_x64.dll', '../target/classes/jwm_x64.dll') |
| 28 | |
| 29 | if os.path.exists('build/jwm_arm64.dll'): |
| 30 | build_utils.copy_newer('build/jwm_arm64.dll', '../target/classes/jwm_arm64.dll') |
| 31 | |
| 32 | return 0 |
| 33 | |
| 34 | def build_java(): |
| 35 | os.chdir(common.basedir) |