39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
#! /usr/bin/python
|
|
import argparse
|
|
import json
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
|
|
def runcmd(command):
|
|
print('RUN ' + command)
|
|
process = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
|
|
for line in iter(process.stdout.readline, b''): # b'' indicates EOF
|
|
print(line.decode('utf-8'), end='')
|
|
|
|
def load_environment(filename):
|
|
with open(filename) as f:
|
|
return json.load(f)
|
|
|
|
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--environment')
|
|
args = parser.parse_args()
|
|
environment = load_environment(args.environment)
|
|
|
|
|
|
env_build_type = environment["build_type"]
|
|
env_cppstd = environment["cppstd"]
|
|
env_conan_remote_fallback = environment["conan_remote_fallback"]
|
|
env_conan_remote_upload = environment["conan_remote_upload"]
|
|
|
|
with open('CMakeLists.txt', 'w') as fp:
|
|
pass
|
|
|
|
runcmd('conan remote remove conancenter')
|
|
runcmd('conan remote add conan-upload ' + env_conan_remote_upload)
|
|
runcmd('conan remote add conan-remote ' + env_conan_remote_fallback)
|
|
|
|
runcmd('conan install . -of build -s compiler.cppstd=' + env_cppstd + ' -s build_type=' + env_build_type + ' --build=*')
|
|
|
|
sys.exit(0) |