aboutsummaryrefslogtreecommitdiff
path: root/premake5.lua
diff options
context:
space:
mode:
Diffstat (limited to 'premake5.lua')
-rw-r--r--premake5.lua66
1 files changed, 66 insertions, 0 deletions
diff --git a/premake5.lua b/premake5.lua
new file mode 100644
index 0000000..c5cf597
--- /dev/null
+++ b/premake5.lua
@@ -0,0 +1,66 @@
+-- Build with
+--
+-- premake5 gmake2 && make verbose=1 gemmalib -j 8
+--
+-- Including bin
+--
+-- premake5 gmake2 && make verbose=1 config=debug
+--
+-- Or
+--
+-- premake5 gmake2 && make verbose=1 config=release
+--
+-- Run
+--
+-- LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib ./build/bin/Debug/PanGemma
+--
+-- Next we start using the API from guile with
+--
+-- env LD_LIBRARY_PATH=./build/bin/Debug/:$GUIX_ENVIRONMENT/lib guile
+-- (load-extension "libgemmalib" "init_module")
+
+workspace "PanGemma"
+ configurations { "Debug", "Release" }
+
+ project "gemmalib" -- library for interactive development
+ kind "SharedLib"
+ defines { "OPENBLAS" }
+ language "C++"
+ objdir "build/"
+ targetdir "build/bin/%{cfg.buildcfg}"
+
+ files { "src/*.h src/*.c src/**.hpp", "src/**.cpp" }
+ removefiles { "src/main.cpp" }
+ includedirs { "src/", os.getenv('GUIX_ENVIRONMENT') .. "/include/guile/3.0" }
+
+ links { "gsl", "z", "openblas" }
+
+ filter "configurations:Debug"
+ defines { "DEBUG" }
+ symbols "On"
+
+ filter "configurations:Release"
+ defines { "NDEBUG" }
+ optimize "On"
+
+
+
+project "gemma"
+ kind "ConsoleApp"
+ defines { "OPENBLAS" }
+ language "C++"
+ objdir "build/"
+ targetdir "build/bin/%{cfg.buildcfg}"
+
+ files { "src/*.h src/*.c src/**.hpp", "src/**.cpp" }
+ removefiles { "src/gemma_api.cpp" }
+ includedirs { "src/" }
+ links { "gsl", "z", "openblas" }
+
+ filter "configurations:Debug"
+ defines { "DEBUG" }
+ symbols "On"
+
+ filter "configurations:Release"
+ defines { "NDEBUG" }
+ optimize "On"