有一个单独的目录来存储目标文件是有用的.但是,gprbuild
如果该目录尚不存在,则会抱怨.我hg
用于版本控制,它不允许你跟踪空目录(AFAIK也是如此git
),但即使它确实如此,不幸的是必须用空目录来混淆存储库.gprbuild
有一个选项,--create-missing-dirs
(简短形式-p
),它完全符合它在锡上的说法.这非常有用.但是,我想知道的是,是否有某种方法可以在.gpr
文件中设置它.提醒我的用户使用该-p
选项进行编译是令人讨厌的,而不是只能运行gprbuild project
.不幸的是,这些文档gprguild
有这样的说法:
默认情况下,GPRbuild检查项目文件中指定的对象,库和exec目录是否存在.Switch
-p
指示GPRbuild尝试创建丢失的目录.请注意,这些开关可以在主项目的包Builder中指定,但它们在那里是无用的,因为在评估Builder切换之前,目录已经存在或项目文件的处理失败,因为至少有一个缺失目录.
当然必须有办法做我所描述的事情?
最新版本的gprbuild(自2016年8月19日起,请参阅Git)支持该Create_Missing_Dirs
属性.
project Foo is for Create_Missing_Dirs use "True"; ...
GNAT GPL 2017就是这样.