如何指定 Meson custom_target() 命令的路径?
How to specify a path to Meson custom_target() command?
我在 Meson 中做了一个简单的自定义目标:
my_build = custom_target('my_build', command: ['../my_script.sh', '-arg1'], build_always_stale: true, output: 'fake')
这工作正常...,但是当我尝试将其用作其他 Meson 项目的子项目时,我收到一条消息,提示找不到 ../my_script.sh
。
如何指定 my_script.sh
的路径,以便始终找到脚本,无论是直接在此子项目中调用,还是从根项目中调用?
您需要指定 script
的路径,您可以这样做:
scirpt_path = join_paths(meson.current_source_dir(), 'my_script.sh')
您的自定义目标将如下所示:
my_build = custom_target('my_build', command: [script_path, '-arg1'], build_always_stale: true, output: 'fake')
当您没有 subproject
时它对您有用的原因是因为您的构建目录位于项目的根目录中,因此可以找到您的脚本../my_script.sh
我在 Meson 中做了一个简单的自定义目标:
my_build = custom_target('my_build', command: ['../my_script.sh', '-arg1'], build_always_stale: true, output: 'fake')
这工作正常...,但是当我尝试将其用作其他 Meson 项目的子项目时,我收到一条消息,提示找不到 ../my_script.sh
。
如何指定 my_script.sh
的路径,以便始终找到脚本,无论是直接在此子项目中调用,还是从根项目中调用?
您需要指定 script
的路径,您可以这样做:
scirpt_path = join_paths(meson.current_source_dir(), 'my_script.sh')
您的自定义目标将如下所示:
my_build = custom_target('my_build', command: [script_path, '-arg1'], build_always_stale: true, output: 'fake')
当您没有 subproject
时它对您有用的原因是因为您的构建目录位于项目的根目录中,因此可以找到您的脚本../my_script.sh