Недавно я посмотрел это видео и решил включить этап предварительной сборки в мой проект. Тем не менее, после идентичной реализации кода в моем файле .lua (кроме имен) premake не создает каталоги bin и bin-int. Странно то, что все файлы .sln, .vcxproj и .vcxproj.filters генерируются.
мой файл premake5.lua:
workspace "OpenGE"
architecture "x64"
startproject "Sandbox"
configurations
{
"Debug",
"Release",
"Dist"
}
outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
project "OpenGE"
location "OpenGE"
kind "SharedLib"
language "C++"
targetdir ("bin/" .. outputdir .. "/%{prj.name}")
objdir ("bin-int/" .. outputdir .. "/%{prj.name}")
files
{
"%{prj.name}/src/**.h",
"%{prj.name}/src/**.cpp"
}
filter "system:windows"
cppdialect "C++17"
staticruntime "On"
systemversion "latest"
defines
{
"GE_DLL_BUILD"
}
postbuildcommands
{
"{COPY} %{cfg.buildtarget.relpath} ../bin/" .. outputdir .. "/Sandbox"
}
filter "configurations:Debug"
defines "GE_DEBUG"
runtime "Debug"
symbols "On"
filter "configurations:Release"
defines "GE_RELEASE"
runtime "Release"
optimize "On"
filter "configurations:Dist"
defines "GE_DIST"
runtime "Release"
optimize "On"
project "Sandbox"
location "Sandbox"
kind "ConsoleApp"
language "C++"
targetdir ("bin/" .. outputdir .. "/%{prj.name}")
objdir ("bin-int/" .. outputdir .. "/%{prj.name}")
files
{
"%{prj.name}/src/**.h",
"%{prj.name}/src/**.cpp"
}
includedirs
{
"OpenGE/src"
}
links
{
"OpenGE"
}
filter "system:windows"
cppdialect "C++17"
staticruntime "On"
systemversion "latest"
filter "configurations:Debug"
defines "GE_DEBUG"
runtime "Debug"
symbols "On"
filter "configurations:Release"
defines "GE_RELEASE"
runtime "Release"
optimize "On"
filter "configurations:Dist"
defines "GE_DIST"
runtime "Release"
optimize "On"
Вывод в командной строке при запуске premake выглядит нормально:
C:\Users\bonnl\source\repos\OpenGE>call dependencies\premake\premake5 vs2019
Building configurations...
Running action 'vs2019'...
Done (92ms).
C:\Users\bonnl\source\repos\OpenGE>PAUSE
Press any key to continue . . .
Если потребуется какой-либо дополнительный код или информация, я буду рад добавить ее.