Premake创建VS解决方案

Premake可以自动生成多个平台的MakeFile,用lua编写的工程定义文件,用它来生成不同平台的工程文件,这里主要讲一下用于创建Visual Studio。

主要流程是:利用批处理文件调用premake.exe调用.lua配置文件,从而生成vs配置文件。

一、下载premake

Premake官网:https://premake.github.io/

将解压后的Premake.exe放置到需要编译的目录下(最好与lua文件和批处理文件放置在同一目录)

二、创建代码文件、资源文件等(包括:”**.h,**.cpp,**.c,**.ui,**.qrc,**.hpp”等,以及分类文件夹)

三、创建Premake.lua配置文件,写入解决方案配置,即工程属性配置

(具体语句对应配置参考:https://github.com/premake/premake-core/wiki

-- A solution contains projects, and defines the available configurations(公共部分定义)
--解决方案名称
workspace "ExeTest"
	configurations {"Release","Debug"}
	location "build"
    --输出目录
	targetdir "bin"
	-- 项目字符集(Default/MBCS/Unicode/ASCII)
	characterset " MBCS "
	--文件分组
	vpaths 
	{
		["Header Files"] = {"**.h", "**.hpp"},
		["Source Files"] = {"**.c", "**.cpp"},
		["Form Files"] = {"**.ui"},
		["Generated Files"] = {"**moc_*.cpp", "**qrc_*.cpp", "**ui_*.h"},
		["Resource Files"] = {"**.qrc"},
	}
	filter{ "configurations:Debug"}
		--指定编译或链接过程中的标识。Symbols允许编译出调试信息
		flags { "Symbols" }
		-- 配置属性-C/C++-代码生成-运行库
		runtime "Debug"
		--预定义
		defines { "NDEBUG" }
		--输出后缀
		targetsuffix "_d"
	filter{}
		
	filter { "configurations:Release"}
		--指定编译或链接过程中的标识。(Symbols允许编译出调试信息)
		flags { "Symbols" }
		-- 配置属性=>运行库(Debug/ Release)
		runtime "Release"
		-- 配置属性=>优化:是否开启优化
		optimize "Speed"
		--预定义
		defines { "NDEBUG" }
	filter {}
	
	
-- A project defines one build target
--项目名称
project "ExeTest"
		--配置类型
    kind "ConsoleApp"
    language "C++"
	--附加库目录
	libdirs
	{

	}
	--附加依赖项
	links
	{
	
	}
	--包含代码文件
	files 
	{ 
		"ExeTest/*.h",
		"ExeTest/*.cpp" 
	}
	--附加包含目录
	includedirs 
	{
		"$(3rd)/rapidjson/include/"
	}

四、采用批处理方式调用premake.exe

五、运行批处理文件,生成工程文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章