mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2026-10-25 00:34:35 +00:00
volk_gnsssdr: do not write files in source tree when building
This commit is contained in:
4 files changed
+51
-3
No files matched your search
+1
-2
@@ -49,8 +49,7 @@ def register_arch(**kwargs):
|
||||
#TODO skip the XML and put it here
|
||||
from xml.dom import minidom
|
||||
import os
|
||||
gendir = os.path.dirname(__file__)
|
||||
archs_xml = minidom.parse(os.path.join(gendir, '@VOLK_GNSSSSDR_ARCHS_XML_FILE@')).getElementsByTagName('arch')
|
||||
archs_xml = minidom.parse(os.path.join('@PROJECT_SOURCE_DIR@', 'gen', '@VOLK_GNSSSSDR_ARCHS_XML_FILE@')).getElementsByTagName('arch')
|
||||
for arch_xml in archs_xml:
|
||||
kwargs = dict()
|
||||
for attr in arch_xml.attributes.keys():
|
||||
|
||||
+22
@@ -9,6 +9,27 @@
|
||||
from __future__ import print_function
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.dont_write_bytecode = True
|
||||
|
||||
def extract_generated_python_dir(args):
|
||||
option = '--generated-python-dir'
|
||||
if option in args:
|
||||
option_index = args.index(option)
|
||||
if option_index + 1 < len(args):
|
||||
return args[option_index + 1]
|
||||
option_prefix = option + '='
|
||||
for arg in args:
|
||||
if arg.startswith(option_prefix):
|
||||
return arg[len(option_prefix):]
|
||||
return os.environ.get('VOLK_GNSSSDR_GENERATED_PYTHON_DIR')
|
||||
|
||||
generated_python_dir = extract_generated_python_dir(sys.argv[1:])
|
||||
if generated_python_dir:
|
||||
sys.path.insert(0, generated_python_dir)
|
||||
|
||||
import volk_gnsssdr_arch_defs
|
||||
import volk_gnsssdr_machine_defs
|
||||
|
||||
@@ -44,6 +65,7 @@ def main():
|
||||
parser.add_argument('--compiler', type=str)
|
||||
parser.add_argument('--archs', type=str)
|
||||
parser.add_argument('--machine', type=str)
|
||||
parser.add_argument('--generated-python-dir', type=str)
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.mode == 'arch_flags': return do_arch_flags_list(args.compiler.lower())
|
||||
|
||||
@@ -12,6 +12,25 @@ import os
|
||||
import re
|
||||
import sys
|
||||
import argparse
|
||||
|
||||
sys.dont_write_bytecode = True
|
||||
|
||||
def extract_generated_python_dir(args):
|
||||
option = '--generated-python-dir'
|
||||
if option in args:
|
||||
option_index = args.index(option)
|
||||
if option_index + 1 < len(args):
|
||||
return args[option_index + 1]
|
||||
option_prefix = option + '='
|
||||
for arg in args:
|
||||
if arg.startswith(option_prefix):
|
||||
return arg[len(option_prefix):]
|
||||
return os.environ.get('VOLK_GNSSSDR_GENERATED_PYTHON_DIR')
|
||||
|
||||
generated_python_dir = extract_generated_python_dir(sys.argv[1:])
|
||||
if generated_python_dir:
|
||||
sys.path.insert(0, generated_python_dir)
|
||||
|
||||
import volk_gnsssdr_arch_defs
|
||||
import volk_gnsssdr_machine_defs
|
||||
import volk_gnsssdr_kernel_defs
|
||||
@@ -37,6 +56,7 @@ def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--input', type=str)
|
||||
parser.add_argument('--output', type=str)
|
||||
parser.add_argument('--generated-python-dir', type=str)
|
||||
args, extras = parser.parse_known_args()
|
||||
|
||||
output = __parse_tmpl(open(args.input).read(), args=extras)
|
||||
|
||||
@@ -91,14 +91,16 @@ if(USE_CPU_FEATURES)
|
||||
else()
|
||||
set(VOLK_GNSSSSDR_ARCHS_XML_FILE "archs_old.xml")
|
||||
endif()
|
||||
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/gen)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/gen/volk_gnsssdr_arch_defs.py.in
|
||||
${PROJECT_SOURCE_DIR}/gen/volk_gnsssdr_arch_defs.py
|
||||
${PROJECT_BINARY_DIR}/gen/volk_gnsssdr_arch_defs.py
|
||||
@ONLY
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
||||
${PROJECT_SOURCE_DIR}/gen/volk_gnsssdr_compile_utils.py
|
||||
--generated-python-dir ${PROJECT_BINARY_DIR}/gen
|
||||
--mode "arch_flags" --compiler "${COMPILER_NAME}"
|
||||
OUTPUT_VARIABLE arch_flag_lines OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
@@ -320,6 +322,7 @@ message(STATUS "Available architectures: ${available_archs}")
|
||||
execute_process(
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
||||
${PROJECT_SOURCE_DIR}/gen/volk_gnsssdr_compile_utils.py
|
||||
--generated-python-dir ${PROJECT_BINARY_DIR}/gen
|
||||
--mode "machines" --archs "${available_archs}"
|
||||
OUTPUT_VARIABLE available_machines OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
@@ -359,6 +362,8 @@ else()
|
||||
endif()
|
||||
list(SORT xml_files)
|
||||
file(GLOB py_files ${PROJECT_SOURCE_DIR}/gen/*.py)
|
||||
list(REMOVE_ITEM py_files ${PROJECT_SOURCE_DIR}/gen/volk_gnsssdr_arch_defs.py)
|
||||
list(APPEND py_files ${PROJECT_BINARY_DIR}/gen/volk_gnsssdr_arch_defs.py)
|
||||
list(SORT py_files)
|
||||
file(GLOB h_files ${PROJECT_SOURCE_DIR}/kernels/volk_gnsssdr/*.h)
|
||||
list(SORT h_files)
|
||||
@@ -370,6 +375,7 @@ macro(gen_template tmpl output)
|
||||
DEPENDS ${xml_files} ${py_files} ${h_files} ${tmpl}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
||||
${PROJECT_SOURCE_DIR}/gen/volk_gnsssdr_tmpl_utils.py
|
||||
--generated-python-dir ${PROJECT_BINARY_DIR}/gen
|
||||
--input ${tmpl} --output ${output} ${ARGN}
|
||||
)
|
||||
endmacro()
|
||||
@@ -429,6 +435,7 @@ foreach(machine_name ${available_machines})
|
||||
execute_process(
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
||||
${PROJECT_SOURCE_DIR}/gen/volk_gnsssdr_compile_utils.py
|
||||
--generated-python-dir ${PROJECT_BINARY_DIR}/gen
|
||||
--mode "machine_flags" --machine "${machine_name}" --compiler "${COMPILER_NAME}"
|
||||
OUTPUT_VARIABLE ${machine_name}_flags OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user