我是 Premake 的新手。我正在使用 Premake 4.4 beta 5,因为 Premake 5 存在一些问题,即它无法生成正确的 VS2010 解决方案(使用 2010 编译器生成 VS2012 解决方案),并且它在一个项目下编写时为所有项目设置 libdirs 和链接。
无论如何,我遇到的问题是我写了一个 Premake 脚本。一切正常,但令人烦恼的是,它在项目中包含的所有文件之间包含多个共同的父文件夹。因此,您必须先打开多个文件夹,其中只包含一个文件夹,然后才能开始操作。这是一张图片,以便您理解:premake_common_parent_folders
我在光盘上的文件夹结构如下所示:
- 建造
- premake4.lua
- premake4.4-beta5.exe
- 源代码
- 静态库
- 包括
- 例子.h
- 例子.cpp
- 包括
- 测试
- 例子.cpp
- 静态库
这是我的预制:
_targetdir = '../bin/' .. _ACTION
local function ProjectCommon()
targetdir( _targetdir .. '/' .. project().name )
files {
'../src/' .. project().name .. '/**.*',
}
includedirs {
'../src/' .. project().name .. '/include',
}
end
solution( 'Example' )
location( _ACTION )
configurations { "Release", "Debug" }
project( 'Test' )
ProjectCommon()
language( 'C++' )
kind( 'ConsoleApp' )
includedirs {
'../src/StaticLib/include',
}
libdirs {
_targetdir .. '/StaticLib',
}
links {
solution().name,
}
project( 'StaticLib' )
ProjectCommon()
targetname( solution().name )
language( 'C++' )
kind( 'StaticLib' )
我想知道是否有一种方法可以使用单个包含文件夹将实现文件直接放在项目下。隐藏所有项目文件(src 和 [项目名称])之间共有的父文件夹。
希望它看起来像这样:premake_no_common_parent_folders