From 28050be12fc04c5257923ef60a13b1da3df0668d Mon Sep 17 00:00:00 2001 From: ShaoboFeng Date: Sat, 16 Sep 2023 15:51:31 +0800 Subject: [PATCH] spilt test output dir --- build/builder/commands/build.py | 14 ++++++++------ build/gn/templates/ft_executable.gni | 7 +++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/build/builder/commands/build.py b/build/builder/commands/build.py index 9877029..a7ece99 100755 --- a/build/builder/commands/build.py +++ b/build/builder/commands/build.py @@ -56,12 +56,14 @@ class Builder: if (exec_sys_command(['cp', os.path.join(self.build_output_dir, 'compile_commands.json'), self.project_dir])[0] == False): return False - # Install librarys and binarys into specify dir - if self.args.install: - logger.info(f"Installing to {self.args.install}.") - common_output_dir = os.path.join(self.build_output_dir, 'common/common/') - output_files = [entry for entry in os.listdir(common_output_dir) if os.path.isfile(os.path.join(common_output_dir, entry))] - for output_file in output_files: + # Strip and install librarys and binarys into specify dir + logger.info(f"Installing to {self.args.install}.") + common_output_dir = os.path.join(self.build_output_dir, 'common/common/') + output_files = [entry for entry in os.listdir(common_output_dir) if os.path.isfile(os.path.join(common_output_dir, entry))] + for output_file in output_files: + if self.args.build_type.lower() == "release": + exec_sys_command(['strip', os.path.join(common_output_dir, output_file)]) + if self.args.install: if output_file.endswith('.so'): # install dynamic librarys rst = exec_sys_command(['sudo', 'cp', '-f', os.path.join(self.build_output_dir, 'common/common/', output_file), os.path.join(self.args.install, 'lib64')]) diff --git a/build/gn/templates/ft_executable.gni b/build/gn/templates/ft_executable.gni index 7024704..677e4bd 100755 --- a/build/gn/templates/ft_executable.gni +++ b/build/gn/templates/ft_executable.gni @@ -43,8 +43,11 @@ template("ft_executable") { "[GN ERROR] Internal error, please contact maintainer.") # Change output dir - # TODO: handle ft_test - output_dir = "${root_out_dir}/${subsystem_name}/${part_name}" + if (defined(invoker.testonly) && invoker.testonly) { + output_dir = "${root_out_dir}/${subsystem_name}/tests" + } else { + output_dir = "${root_out_dir}/${subsystem_name}/${part_name}" + } } # Call `executable()` -- Gitee