- Windows build improvements + minor fixes (nothing critical, just to be on the safe side)
This commit is contained in:
55
build_windows.py
Normal file
55
build_windows.py
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/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}')
|
||||
Reference in New Issue
Block a user