about summary refs log tree commit diff
path: root/premake5.lua
diff options
context:
space:
mode:
Diffstat (limited to 'premake5.lua')
-rw-r--r--premake5.lua26
1 files changed, 17 insertions, 9 deletions
diff --git a/premake5.lua b/premake5.lua
index f966e8a..c222c35 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -1,5 +1,6 @@
 -- Build with
 --
+--   make clean && rm build/Release/ -rf
 --   premake5 gmake2 && make verbose=1 gemmalib -j 8
 --
 -- Including bin
@@ -8,7 +9,7 @@
 --
 -- Or
 --
---   premake5 gmake2 && make verbose=1 config=release
+--   premake5 gmake2 && make verbose=1 config=release -j 8 gemma && LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib ./build/bin/Release/gemma
 --
 -- Run
 --
@@ -19,6 +20,9 @@
 --   env LD_LIBRARY_PATH=./build/bin/Debug/:$GUIX_ENVIRONMENT/lib guile
 --   (load-extension "libgemmalib" "init_module")
 
+local pkg_cpp_flags = os.outputof("pkg-config --cflags guile-3.0 gsl zlib openblas")
+local pkg_linker_flags = os.outputof("pkg-config --libs guile-3.0 gsl zlib openblas")
+
 workspace "PanGemma"
    configurations { "Debug", "Release" }
 
@@ -31,17 +35,18 @@ workspace "PanGemma"
 
    files { "src/*.h src/*.c src/**.hpp", "src/**.cpp" }
    removefiles { "src/main.cpp" }
-   includedirs { "src/", os.getenv('GUIX_ENVIRONMENT') .. "/include/guile/3.0" }
+   includedirs { "src/" }
 
-   links { "gsl", "z", "openblas" }
+   -- links { "gsl", "z", "openblas" }
 
    filter "configurations:Debug"
       defines { "DEBUG" }
       symbols "On"
 
    filter "configurations:Release"
-      defines { "NDEBUG" }
-      optimize "On"
+      defines { "NDEBUG", "HAVE_INLINE" }
+      buildoptions { "-pthread", "-Wall" }
+      optimize "Speed"
 
 project "gemma"
    kind "ConsoleApp"
@@ -51,16 +56,19 @@ project "gemma"
    objdir "build/"
    targetdir "build/bin/%{cfg.buildcfg}"
 
-   includedirs { os.getenv("GUIX_ENVIRONMENT") .. "/include/guile/3.0" }
+   -- includedirs { os.getenv("GUIX_ENVIRONMENT") .. "/include/guile/3.0" }
    files { "src/*.h src/*.c src/**.hpp", "src/**.cpp" }
    removefiles { "src/gemma_api.cpp" }
    includedirs { "src/" }
-   links { "gsl", "z", "openblas", "guile-3.0" }
+   -- links { "z", "openblas" }
 
    filter "configurations:Debug"
       defines { "DEBUG" }
       symbols "On"
 
    filter "configurations:Release"
-      defines { "NDEBUG" }
-      optimize "On"
+      defines { "NDEBUG", "HAVE_INLINE" }
+      -- buildoptions { "-pthread", "-Wall" }
+      buildoptions { pkg_cpp_flags }
+      linkoptions { pkg_linker_flags }
+      optimize "Speed"