使用 Premake 自动化 Android 编译脚本的维护

需求

在使用 ndk 做 Android 开发时,一件比较麻烦的事情是编译脚本 (也就是 Android.mk 和 Application.mk ) 的维护工作。今天尝试了一下把这个维护的工作自动化,完成以后简单记录一下。

在日常工作里我尝试过不少生成脚本的自动化工具,用下来觉得最方便的是 Premake,这个工具的好处是 Lua 语法,跟 cmake 之类的脚本相比,非常清晰易读。我用 C++ 写的库,大多是用这个工具生成工程文件 (sln/vcxproj) 的,这样的生成两大好处:

可以使工程文件与磁盘上的目录结构自动对应。

所有的编译选项清楚地列在一个简短的 Lua......

Tags

随笔   游戏开发   Bitcoin   BSV   Programming   C/C++   优化   Unity   C++   知乎   中国文化   Unity3D   游戏设计   区块链   比特币   小聪游戏   引擎设计   软件开发   idtech   SatoPlay   系统架构   Production   Bitcoin SV   加密货币   项目管理   游戏评论   资源管理   效率   网络   Visual Studio   Blockchain   Lua   Blockchain Computing   GDC   VR   PerfAssist   EMC   资源流水线   方法论   模板编程   Oculus   渲染   道德经   BitcoinSV   Unity MemoryProfiler   字体   Productivity   图形   SPV   Ethereum   nanomsg   摘录   同步技术   cppcon   C++模板   DOOM3   Surface Pro 3   Engine Evaluation   CRT   Bitcoin Cash   cppcon14   跨语言可变参数列表   团队协作   货币   开放世界   权利   slua   遮挡剔除   完美转发   协作式调度   Money   类型推导   Memory Debugging   个人成长   小故事   产品   错误处理   MOD   BCH   读书笔记   经济学   信息过载   行业报告   Modern C++   ETH   网络编程   协程   Premake   万物理论   测试   中间件   Game Engine   Michael Abrash   区块链游戏   CI   命令行解析   Science   goroutine   ndk   自动化   Scripting   Debugging   数据上链   技术评估   Unity GC   C++11   学习方法   Dice   Telemetry   笔记   golang   Methodology   图形编程   多线程   工程改进   Unity Coroutine   新手引导   Deployment   Visual Assist   文化   BTC   量子计算   域名   虚拟现实   系统重构   暴雪   exp   历史   Unity Profiler  

知识共享许可协议
本作品由Gu Lu创作,采用知识共享Attribution-NonCommercial-NoDerivatives 4.0 国际许可协议进行许可。