You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
2.0 KiB

workspace "MEL"
configurations {"Debug",
"Release"}
platforms {"x64"}
outputdir= "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
-- Include directories relative to root folder (solution directory)
IncludeDir={}
IncludeDir["spdlog"]="MetalLearning/vendor/spdlog/include"
IncludeDir["ImGui"]="MetalLearning/vendor/imgui"
include "MetalLearning/vendor/imgui"
project "MetalLearning"
location "MetalLearning"
kind "WindowedApp"
language "C++"
staticruntime "on"
targetdir("bin/" .. outputdir .. "/%{prj.name}")
objdir("bin-int/" .. outputdir .. "/%{prj.name}")
files
{
"%{prj.name}/src/**.h",
"%{prj.name}/src/**.cpp",
"%{prj.name}/src/**.mm",
"%{prj.name}/src/**.m",
"%{prj.name}/*.h",
"%{prj.name}/ShaderSrc/**.metal",
"%{prj.name}/vendor/imgui/backends/imgui_impl_osx.mm",
"%{prj.name}/vendor/imgui/backends/imgui_impl_metal.mm"
}
includedirs
{
"**",
"%{prj.name}/ShaderSrc",
"%{IncludeDir.spdlog}",
"%{IncludeDir.ImGui}",
}
links
{
-- link directories here
"ImGui",
}
filter "system:macosx"
system "macosx"
defines
{
"MEL_PLATFORM_MAC"
}
links
{
"Metal.framework",
"Cocoa.framework",
"QuartzCore.framework",
"CoreFoundation.framework",
"CoreGraphics.framework",
"MetalKit.framework",
"GameController.framework"
}
xcodebuildsettings{
["MACOSX_DEPLOYMENT_TARGET"]="10.15",
["GCC_PRECOMPILE_PREFIX_HEADER"]="NO",
["ALWAYS_SEARCH_USER_PATHS"]="YES",
["HEADER_SEARCH_PATHS"]=
{
"$(SRCROOT)/vendor/spdlog/include",
},
["GCC_INCREASE_PRECOMPILED_HEADER_SHARING"]="YES",
["GCC_INPUT_FILETYPE"]="sourcecode.cpp.objcpp",
["GENERATE_INFOPLIST_FILE"]="YES"
}
filter "configurations:Debug"
defines"MEL_DEBUG"
runtime "Debug"
symbols "on"
filter "configurations:Release"
defines "MEL_RELEASE"
runtime "Release"
optimize "on"