Added recipe for yaml-cpp
This commit is contained in:
parent
41f8b81097
commit
2ada4d0a41
@ -21,7 +21,9 @@ def cook(env: Environment, project_root: str, generate_args: 'list[str]' = [], b
|
|||||||
'release': 'Release',
|
'release': 'Release',
|
||||||
'profile': 'RelWithDebInfo'
|
'profile': 'RelWithDebInfo'
|
||||||
}.get(env['BUILD_TYPE'], 'RelWithDebInfo')
|
}.get(env['BUILD_TYPE'], 'RelWithDebInfo')
|
||||||
subprocess.run(('cmake', '-G', 'Ninja', '-B', build_dir, f'-DCMAKE_BUILD_TYPE={build_type}', f'-DCMAKE_INSTALL_PREFIX={install_dir}', *generate_args, project_root), stdout=sys.stdout, stderr=sys.stderr, check=True)
|
environ = os.environ.copy()
|
||||||
|
environ['CXXFLAGS'] = ' '.join(f'-D{define}' for define in env['CPPDEFINES']) # TODO: who cares about windows?
|
||||||
|
subprocess.run(('cmake', '-G', 'Ninja', '-B', build_dir, f'-DCMAKE_BUILD_TYPE={build_type}', f'-DCMAKE_INSTALL_PREFIX={install_dir}', '-DBUILD_TESTING=OFF', *generate_args, project_root), env=environ, stdout=sys.stdout, stderr=sys.stderr, check=True)
|
||||||
subprocess.run(('cmake', '--build', *build_args, build_dir), stdout=sys.stdout, stderr=sys.stderr, check=True)
|
subprocess.run(('cmake', '--build', *build_args, build_dir), stdout=sys.stdout, stderr=sys.stderr, check=True)
|
||||||
subprocess.run(('cmake', '--install', *install_args, build_dir), stdout=sys.stdout, stderr=sys.stderr, check=True)
|
subprocess.run(('cmake', '--install', *install_args, build_dir), stdout=sys.stdout, stderr=sys.stderr, check=True)
|
||||||
pathlib.Path(install_dir, _BUILT_STAMPFILE).touch()
|
pathlib.Path(install_dir, _BUILT_STAMPFILE).touch()
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
|
|
||||||
import os
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
from SCons.Script import *
|
from SCons.Script import *
|
||||||
|
|
||||||
def cook(env: Environment, git_ref: str = "main") -> dict:
|
def cook(env: Environment, git_ref: str = "main") -> dict:
|
||||||
|
15
recipes/yaml-cpp/recipe.py
Normal file
15
recipes/yaml-cpp/recipe.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
from SCons.Script import *
|
||||||
|
|
||||||
|
def cook(env: Environment, git_ref: str = "master") -> dict:
|
||||||
|
repo = env.Cook('GitBranch', repo_name = 'yaml-cpp', remote_url = 'https://github.com/jbeder/yaml-cpp', git_ref = git_ref)
|
||||||
|
checkout_root = repo['checkout_root']
|
||||||
|
build_result = env.Cook('CMakeProject', project_root=checkout_root)
|
||||||
|
lib_name = {
|
||||||
|
'debug': 'yaml-cppd'
|
||||||
|
}.get(env['BUILD_TYPE'], 'yaml-cppd')
|
||||||
|
return {
|
||||||
|
'LIBPATH': build_result['LIBPATH'],
|
||||||
|
'CPPPATH': build_result['CPPPATH'],
|
||||||
|
'LIBS': [lib_name]
|
||||||
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user