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

五、運行批處理文件,生成工程文件

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