From cb11af71f1d84bb220f3f8ff6c61aa4a9b2bf5e0 Mon Sep 17 00:00:00 2001 From: nekobit Date: Wed, 5 Apr 2023 14:58:15 +0000 Subject: [PATCH] Build file-to-c, set dependencies FossilOrigin-Name: cb8cb1429e23c7bd7ce43ede38d3affd42ff3616714b476bd39d08a7644cf3f3 --- premake5.lua | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/premake5.lua b/premake5.lua index 281c069..dc8ccc3 100644 --- a/premake5.lua +++ b/premake5.lua @@ -5,6 +5,12 @@ if not os.isfile('config.h') then end workspace "Treebird"; + +project("file-to-c"); +kind("ConsoleApp"); +language("C"); +files { "src/file-to-c/main.c" }; + configurations { "Debug", "Release" }; local c_files = { @@ -68,6 +74,7 @@ for i=1, #pages do pages[i] = 'src/'.. pages[i] end -- BEGIN Mastodont project project("treebird"); +dependson("file-to-c"); kind("ConsoleApp"); language("C"); -- Merge pages into c_files @@ -85,6 +92,13 @@ if not libfcgi then os.exit(1); end +rule "filec" + display "filec" + fileextension ".ctt" + buildmessage "Building %(filename)" + buildcommands 'filec -c "%(FullPath)" -o "%(IntDir)/%(Filename).obj"' + buildoutputs '%(IntDir)/%(Filename).obj' + filter { "action:gmake*" }; linkoptions{ "`pkg-config --libs mastodont` `perl -MExtUtils::Embed -e ldopts`" }; buildoptions{ "`pkg-config --cflags mastodont` `perl -MExtUtils::Embed -e ccopts`" }; @@ -94,12 +108,12 @@ filter { "toolset:clang" }; buildoptions{"-Wno-compound-token-split-by-macro"}; filter { "configurations:Debug" }; -defines { "DEBUG" }; -symbols("On"); + defines { "DEBUG" }; + symbols("On"); filter { "configurations:Release" }; -defines { "NDEBUG" }; -optimize("On"); + defines { "NDEBUG" }; + optimize("On"); -- END Mastodont-c local prefix = os.getenv("PREFIX") or "/usr/local";