56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
|
|
# This script is just to check if the library is buildable
|
|
|
|
from pathlib import Path
|
|
import os
|
|
import multiprocessing
|
|
import shutil
|
|
|
|
# Temporary build directory
|
|
DIR_BUILD = 'build_windows'
|
|
|
|
# This directory
|
|
DIR_THIS = Path(__file__).parent.resolve()
|
|
|
|
# Path to app
|
|
DIR_SOURCE = (DIR_THIS / '../src').resolve()
|
|
|
|
CMAKE_GENERATOR = '-G "Visual Studio 17 2022" -A x64'
|
|
|
|
# Not used yet
|
|
CMAKE_BUILD_TYPE = 'Debug'
|
|
|
|
def make_build() -> Path:
|
|
if Path(DIR_BUILD).exists():
|
|
shutil.rmtree(DIR_BUILD)
|
|
os.mkdir(DIR_BUILD)
|
|
os.chdir(DIR_BUILD)
|
|
|
|
if os.environ['VCPKG_ROOT']:
|
|
vcpkg_root = os.environ['VCPKG_ROOT']
|
|
else:
|
|
vcpkg_root = 'C:\\tools\\vcpkg'
|
|
|
|
if not Path(vcpkg_root).exists():
|
|
print(f'Failed to find vcpkg (OpenSSL libraries needed)')
|
|
exit(1)
|
|
|
|
cmd = f'cmake ../src {CMAKE_GENERATOR} -D CMAKE_TOOLCHAIN_FILE="{vcpkg_root}\\scripts\\buildsystems\\vcpkg.cmake"'
|
|
print(cmd)
|
|
retcode = os.system(cmd)
|
|
if retcode != 0:
|
|
raise RuntimeError('Problem when configuring the project')
|
|
|
|
cmd = f'cmake --build . -j {multiprocessing.cpu_count()}'
|
|
retcode = os.system(cmd)
|
|
if retcode != 0:
|
|
raise RuntimeError('Problem when building the project')
|
|
|
|
os.chdir('..')
|
|
return Path(DIR_BUILD) / 'Debug' / 'rtphone.lib'
|
|
|
|
if __name__ == '__main__':
|
|
p = make_build()
|
|
print (f'Built: {p}')
|