build.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import platform
  2. import os
  3. import shutil
  4. import sys
  5. import subprocess
  6. def main(argv):
  7. system_type = platform.system()
  8. machine_type = platform.machine()
  9. is_debug = False
  10. traph_build = argv[0]
  11. traph_root, build_file = os.path.split(traph_build)
  12. if not os.path.exists(os.path.join(traph_root, "build")):
  13. os.mkdir("build")
  14. os.chdir(traph_root + "/build")
  15. if machine_type == 'AMD64':
  16. # -DCMAKE_BUILD_TYPE=Debug
  17. if is_debug:
  18. subprocess.run("cmake -DCMAKE_BUILD_TYPE=Debug -G \"Visual Studio 15 2017 Win64\" ../")
  19. subprocess.run("cmake --build . --config Debug")
  20. else:
  21. subprocess.run("cmake -DCMAKE_BUILD_TYPE=Release -G \"Visual Studio 15 2017 Win64\" ../")
  22. subprocess.run("cmake --build . --config Release")
  23. elif machine_type == 'x86':
  24. if is_debug:
  25. subprocess.run("cmake -DCMAKE_BUILD_TYPE=Debug -G \"Visual Studio 15 2017\" ../")
  26. subprocess.run("cmake --build . --config Debug")
  27. else:
  28. subprocess.run("cmake -DCMAKE_BUILD_TYPE=Release -G \"Visual Studio 15 2017\" ../")
  29. subprocess.run("cmake --build . --config Release")
  30. else:
  31. print('unsupport machine')
  32. os.chdir("../")
  33. if system_type == 'Windows':
  34. if is_debug:
  35. shutil.copy('build/traph/source/interface/traph_tensor.py', 'python/pytraph/core')
  36. shutil.copy('build/traph/source/interface/Debug/_traph_tensor.pyd', 'python/pytraph/core')
  37. else:
  38. shutil.copy('build/traph/source/interface/traph_tensor.py', 'python/pytraph/core')
  39. shutil.copy('build/traph/source/interface/Release/_traph_tensor.pyd', 'python/pytraph/core')
  40. else:
  41. print('unsupport system')
  42. if __name__ == '__main__':
  43. main(sys.argv)