summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/genie/src/actions/cmake/_cmake.lua
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/genie/src/actions/cmake/_cmake.lua')
-rw-r--r--3rdparty/genie/src/actions/cmake/_cmake.lua13
1 files changed, 11 insertions, 2 deletions
diff --git a/3rdparty/genie/src/actions/cmake/_cmake.lua b/3rdparty/genie/src/actions/cmake/_cmake.lua
index 9620c63b2da..9011cbb27e1 100644
--- a/3rdparty/genie/src/actions/cmake/_cmake.lua
+++ b/3rdparty/genie/src/actions/cmake/_cmake.lua
@@ -5,6 +5,7 @@
--
premake.cmake = { }
+premake.cmake.cmake_minimum_version = "3.28.3"
--
-- Register the "cmake" action
@@ -21,14 +22,22 @@ newaction {
},
onsolution = function(sln)
premake.generate(sln, "CMakeLists.txt", premake.cmake.workspace)
+ premake.generate(sln, "cmake/" .. sln.name .. "/CMakeLists.txt", premake.cmake.gateway)
+ premake.generate(sln, "CMakePresets.json", premake.cmake.presets)
end,
onproject = function(prj)
- premake.generate(prj, "%%/CMakeLists.txt", premake.cmake.project)
+ local raw = prj.project or prj
+ local sln_name = raw.solution.name
+ premake.generate(prj, "cmake/" .. sln_name .. "/%%.cmake", premake.cmake.project)
end,
oncleansolution = function(sln)
premake.clean.file(sln, "CMakeLists.txt")
+ premake.clean.file(sln, "cmake/" .. sln.name .. "/CMakeLists.txt")
+ premake.clean.file(sln, "CMakePresets.json")
end,
oncleanproject = function(prj)
- premake.clean.file(prj, "%%/CMakeLists.txt")
+ local raw = prj.project or prj
+ local sln_name = raw.solution.name
+ premake.clean.file(prj, "cmake/" .. sln_name .. "/%%.cmake")
end
} \ No newline at end of file