【Premake5】第一个脚本

Premake5

最近我在搭建一个OpenGL的基础开发环境,为了适配不同版本的VisualStudio,我决定试一试Premake,利用Premake自动化生成各个版本的vs解决方案。第一次看到这个软件是在 TheCherno 大神的教学视频里, 感觉lua脚本写着非常舒服,在学习的过程中顺便记录一下。

1.准备环境

新建一个空文件夹:C:\dev\HelloPremake
在这里插入图片描述

2.准备代码

新建src文件,并放入一个main.cpp文件:
在这里插入图片描述
main.cpp内容:

#include <stdio.h>

int main()
{
	printf("Hello Premake!\n");
	getchar();
	return 0;
}
3.准备Premake5.exe

点击此处下载premake5.exe并放入工作文件夹:
在这里插入图片描述

4.准备lua脚本

在HelloPremake文件夹下新建“premake5.lua”脚本,编写第一个脚本:

-- workspace:对应vs中的解决方案
workspace "HelloPremake"
    configurations { "Debug", "Release" }	-- 解决方案配置项,Debug和Release默认配置
	location "prj"				            -- 解决方案文件夹,这是我自己喜欢使用的project简写
	
-- project:对应vs中的项目
project "HelloPremake"
	kind "ConsoleApp"						-- 项目类型:控制台程序
	language "C++"    			            -- 工程采用的语言,Premake5.0当前支持C、C++、C#
	files { "**.cpp" }			            -- 指定加载哪些文件或哪些类型的文件
	
	-- Debug配置项属性
	filter "configurations:Debug"
		defines { "DEBUG" }					-- 定义DEBUG宏(这可以算是默认配置)
		symbols "On"						-- 开启调试符号,
		
	-- Release配置项属性
	filter "configurations:Release"
		defines { "NDEBUG" }				-- 定义NDEBUG宏(这可以算是默认配置)
		optimize "On"						-- 开启优化参数

在这里插入图片描述

5.构建工程

在cmd命令中进入HelloPremake文件夹下,键入命令"premake5 vs2022"并回车:
(这里我生成的是vs2022,其实是Premake5.0是支持vs2005-2022的)
在这里插入图片描述
此时prj文件夹下生成了HelloPremake.vcxproj工程文件和HelloPremake.sln解决方案文件:
在这里插入图片描述
编译运行,没有问题:
在这里插入图片描述

6.完善脚本

此时的工程只有Win32平台,接下来我还想要加入x64平台配置,并且重新制定输出目录和中间对象目录,继续修改premake5.lua脚本:

-- workspace:对应vs中的解决方案
workspace "HelloPremake"
    configurations { "Debug", "Release" }	-- 解决方案配置项,Debug和Release默认配置
	location "prj"				            -- 解决方案文件夹,这是我自己喜欢使用的project简写
	
	-- 增加平台配置,我希望有Win32和x64两种平台
	platforms
    {
        "Win32",
        "x64"
    }
	
	-- Win32平台配置属性
    filter "platforms:Win32"
        architecture "x86"         -- 指定架构为x86
		targetdir ("bin/%{cfg.buildcfg}_%{cfg.platform}/")	-- 指定输出目录
		objdir ("obj/%{cfg.buildcfg}_%{cfg.platform}/")		-- 指定中间目录

	-- x64平台配置属性
    filter "platforms:x64"
        architecture "x64"         -- 指定架构为x64
		targetdir ("bin/%{cfg.buildcfg}_%{cfg.platform}/")	-- 指定输出目录
		objdir ("obj/%{cfg.buildcfg}_%{cfg.platform}/")		-- 指定中间目录
		
-- project:对应vs中的项目
project "HelloPremake"
	kind "ConsoleApp"				-- 项目类型:控制台程序
	language "C++"    			    -- 工程采用的语言,Premake5.0当前支持C、C++、C#
	files { "**.cpp" }			    -- 指定加载哪些文件或哪些类型的文件
	
	-- Debug配置项属性
	filter "configurations:Debug"
		defines { "DEBUG" }			-- 定义DEBUG宏(这可以算是默认配置)
		symbols "On"				-- 开启调试符号,
		
	-- Release配置项属性
	filter "configurations:Release"
		defines { "NDEBUG" }		-- 定义NDEBUG宏(这可以算是默认配置)
		optimize "On"				-- 开启优化参数

运行“premake5 vs2022”重新生成解决方案并打开:
在这里插入图片描述
此时增加了x64平台配置,并将输出目录和中间目录重新定位到了与代码文件夹和项目文件夹同级的目录中,接下来重新生成各个配置项,运行都没有问题:
在这里插入图片描述
在这里插入图片描述
上面的配置对我这个强迫症来说可以刚好适应了,接下来有时间继续学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值