|
|
|
|
|
by c-smile
173 days ago
|
|
Lua syntax is pretty good for DSL (domain specific language) cases / configuration definitions. For example Premake[1] uses Lua as it is - without custom syntax parser but with set of domain specific functions. This is pure Lua: workspace "MyWorkspace"
configurations { "Debug", "Release" }
project "MyProject"
kind "ConsoleApp"
language "C++"
files { "**.h", "**.cpp" }
filter { "configurations:Debug" }
defines { "DEBUG" }
symbols "On"
filter { "configurations:Release" }
defines { "NDEBUG" }
optimize "On"
In that sense Premake looks significantly better than CMake with its esoteric constructs.
Having regular and robust PL to implement those 10% of configuration cases that cannot be defined with "standard" declarations is the way to go, IMO.[1] https://premake.github.io/docs/What-Is-Premake |
|