青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Clear

記憶中的閃光,總會(huì)蒙塵。
隨筆 - 6, 文章 - 0, 評論 - 0, 引用 - 0
數(shù)據(jù)加載中……

讓Premake4支持protobuf的protoc生成源文件

最近在使用Premake4進(jìn)行項(xiàng)目配置生成makefile之類。

比較而言,Premake4比cmake還是感覺簡單一點(diǎn),至少lua語法簡單,premake4的配置文件比較簡單易讀,而cmake的配置文件就比較復(fù)雜,而且又是自己定義的一套東西,用起來實(shí)在比較煩。

Premake4還有一個(gè)比較好用的特性,可以直接用 **/*.cpp 指定項(xiàng)目包含所有目錄下的cpp文件,而不用單個(gè)指定。這樣每次增加一個(gè)文件不用老等編譯了才想起來忘記了增加文件到配置中。算是給懶人的一個(gè)福利吧。

當(dāng)然,Premake4也有自己的缺陷,目前還不支持自定義規(guī)則,所以如果項(xiàng)目中有用到什么自動(dòng)生成源文件的特性就比較麻煩了,比如這次說到的protobuf要用protoc編譯.proto文件生成.pb.cc和.pb.h文件,另外QT也有類似的需求,就我之前某項(xiàng)目中,也使用了tolua++生成過c++的lua接口文件。

但是,Premake4雖然還不支持自定義規(guī)則,但是總算有一個(gè)prebuildcommands可以用,于是研究了一下,自制了一個(gè).proto文件的"編譯規(guī)則":

function protobufs(pat)
local list = {}
if type(pat) == "string" then
list[1] = pat;
elseif type(pat) == "table" then
list = pat;
end
local proj = project();
for _,pat in ipairs(list) do
local protofiles = os.matchfiles(pat);
for _,protofile in ipairs(protofiles) do
local basename = path.getbasename(protofile);
local sourcedir = proj.basedir.."/"..path.getdirectory(protofile);
local sourcefile = proj.basedir.."/"..protofile;
local targetdir = "$(OBJDIR)/proto/"..path.getdirectory(protofile);
local targetfile = targetdir.."/"..basename..".pb.cc";
prebuildcommands {
"@mkdir -p "..targetdir,
"@test "..sourcefile.." \\\n"
.."\t\t\t -ot "..targetfile.." || \\\n"
.."\t\t( echo protoc "..protofile.." && \\\n"
.."\t\tprotoc --cpp_out "..targetdir.."\\\n"
.."\t\t\t"..sourcefile.."\\\n"
.."\t\t\t".." -I"..sourcedir.." ) \\\n"
}
files {
path.join(targetdir, basename..".pb.h"),
path.join(targetdir, basename..".pb.cc"),
}
includedirs { targetdir }
end
end
end

使用方法呢,就是把上面的代碼保存到protobuf.lua里面,然后在premake4.lua最開始的時(shí)候,調(diào)用

dofile "protobuf.lua"

然后在項(xiàng)目定義的時(shí)候,使用

protobufs { "**/*.proto" }

就可以了。

?

當(dāng)然,還有一點(diǎn)要注意的,我的系統(tǒng)是mac,但腳本在linux下應(yīng)該也能同樣運(yùn)行,但是windows下面的話,可能就需要做一點(diǎn)改動(dòng)了。

posted on 2012-11-15 22:44 Clear 閱讀(1403) 評論(0)  編輯 收藏 引用 所屬分類: C++


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品chinese| 噜噜噜噜噜久久久久久91| 欧美精品电影| aa日韩免费精品视频一| 最新日韩精品| 欧美激情麻豆| 亚洲图片欧美一区| 亚洲尤物影院| 精品91久久久久| 国产亚洲福利| 乱中年女人伦av一区二区| 老司机久久99久久精品播放免费 | 亚洲视频1区2区| 国产精品成人久久久久| 欧美一区亚洲一区| 久久精品国产77777蜜臀| 亚洲欧洲日产国产网站| 99精品国产高清一区二区| 国产日产亚洲精品| 亚洲国产成人久久| 国产精品wwwwww| 久久久夜夜夜| 欧美另类久久久品| 欧美在线日韩| 女女同性精品视频| 欧美一级片一区| 免费久久久一本精品久久区| 亚洲影视在线播放| 久久亚洲捆绑美女| 欧美亚洲一区二区在线观看| 老司机精品视频网站| 亚洲欧美日韩在线观看a三区| 久久爱www.| 亚洲伊人第一页| 老司机久久99久久精品播放免费| 亚洲综合精品一区二区| 久久深夜福利| 欧美一区日韩一区| 欧美日韩福利视频| 免费在线日韩av| 国产精品日韩欧美大师| 亚洲激情欧美| 亚洲高清网站| 性欧美大战久久久久久久免费观看 | 一本色道久久88精品综合| 国内精品免费午夜毛片| 一本在线高清不卡dvd| 亚洲国产中文字幕在线观看| 午夜精品久久久久久久99水蜜桃| 一本色道久久88亚洲综合88| 久久人体大胆视频| 久久影视三级福利片| 国产精品萝li| 妖精成人www高清在线观看| 91久久精品久久国产性色也91| 欧美一区在线视频| 欧美一区二区三区免费观看视频 | 亚洲一二三区在线| 99视频精品免费观看| 美日韩精品免费观看视频| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品嫩草99av在线| 亚洲午夜精品久久久久久浪潮| 日韩小视频在线观看| 欧美刺激性大交免费视频| 欧美国产一区视频在线观看| 国语自产精品视频在线看抢先版结局 | 亚洲毛片在线观看| 欧美3dxxxxhd| 亚洲国产精品ⅴa在线观看| 亚洲福利一区| 欧美激情欧美激情在线五月| 亚洲福利视频二区| 亚洲精品三级| 欧美日韩亚洲一区在线观看| 99riav久久精品riav| 亚洲午夜一区二区| 国产欧美欧洲在线观看| 欧美一区二区三区的| 久热爱精品视频线路一| 亚洲福利视频在线| 欧美日韩国产bt| 亚洲网站视频福利| 久久久久青草大香线综合精品| 伊人久久久大香线蕉综合直播 | 欧美一级淫片aaaaaaa视频| 久久成人18免费观看| 韩国三级在线一区| 欧美高清在线观看| 一二三四社区欧美黄| 久久精品国产免费| 亚洲区一区二| 国产精品乱码| 老牛国产精品一区的观看方式| 91久久嫩草影院一区二区| 亚洲一区在线观看视频| 狠狠爱成人网| 欧美日韩视频在线第一区| 亚洲欧美成人网| 欧美激情一区二区三区| 午夜欧美电影在线观看| 亚洲国产电影| 国产精品婷婷| 欧美大片一区二区| 性做久久久久久久免费看| 亚洲国产精品黑人久久久| 亚洲欧美国产另类| 亚洲欧洲一区二区三区久久| 国产精品午夜春色av| 免费久久久一本精品久久区| 亚洲一区影院| 亚洲激情欧美激情| 久久夜色精品国产亚洲aⅴ| 在线一区日本视频| 亚洲成人原创| 国产区日韩欧美| 欧美午夜精品伦理| 免费久久久一本精品久久区| 亚洲欧美综合| 一区二区三区四区国产精品| 欧美高清视频一区二区三区在线观看 | 欧美片第1页综合| 久久亚洲风情| 久久精品亚洲| 性色一区二区三区| 宅男噜噜噜66国产日韩在线观看| 欧美sm视频| 久久久久一区二区三区| 亚洲私人影吧| 99精品黄色片免费大全| 亚洲国产欧美在线| 在线播放精品| 一色屋精品视频在线观看网站| 国产精品久久久久久久久久免费看| 欧美电影在线观看| 麻豆精品网站| 久久综合九色综合欧美就去吻| 性伦欧美刺激片在线观看| 亚洲午夜伦理| 亚洲欧美日韩精品久久亚洲区 | 久久精品人人| 欧美一区二区三区在线看| 亚洲永久免费av| 亚洲一区二区四区| 亚洲性夜色噜噜噜7777| 亚洲午夜精品久久久久久浪潮 | 女同一区二区| 免费看黄裸体一级大秀欧美| 久久人体大胆视频| 久久夜色精品国产噜噜av| 久久久水蜜桃av免费网站| 欧美一区激情视频在线观看| 久久国产精品毛片| 久久网站热最新地址| 猫咪成人在线观看| 欧美国产日本在线| 91久久黄色| 一区二区三区四区国产| 亚洲尤物在线| 久久丁香综合五月国产三级网站| 欧美专区在线观看| 免费久久99精品国产自在现线| 牛人盗摄一区二区三区视频| 欧美美女bb生活片| 国产精品无码专区在线观看| 国内精品久久久久久久影视蜜臀 | 国产欧美日本一区二区三区| 国产亚洲精品综合一区91| 尹人成人综合网| 一区二区三区国产精华| 欧美亚洲在线视频| 欧美肥婆bbw| 99国产精品视频免费观看一公开 | 牛人盗摄一区二区三区视频| 亚洲经典视频在线观看| 一区二区免费在线观看| 西西人体一区二区| 欧美成人精品h版在线观看| 欧美视频观看一区| 午夜精品亚洲| 另类天堂视频在线观看| 日韩视频一区二区三区| 久久高清福利视频| 欧美日韩福利在线观看| 国产主播一区二区三区四区| 日韩午夜免费视频| 久久九九99| 夜色激情一区二区| 久久免费国产| 国产精品亚洲片夜色在线| 91久久精品国产91久久| 久久www免费人成看片高清| 亚洲国产电影| 久久久国产一区二区| 国产精品欧美日韩一区| 亚洲欧洲久久| 久久综合精品国产一区二区三区| 在线视频欧美日韩精品| 欧美高清成人| 亚洲高清视频在线|