Selaa lähdekoodia

Merge pull request #86 from xmake-io/freeglut

improve freeglut
ruki 4 vuotta sitten
vanhempi
commit
28e7647cd7
2 muutettua tiedostoa jossa 31 lisäystä ja 2 poistoa
  1. 2 1
      .github/workflows/linux.yml
  2. 29 1
      packages/f/freeglut/xmake.lua

+ 2 - 1
.github/workflows/linux.yml

@@ -21,7 +21,8 @@ jobs:
 
       - name: Installation
         run: |
-          sudo apt-get install -y libxrandr-dev libxinerama-dev libx11-dev libxcursor-dev libxi-dev libxext-dev
+          # TODO we will remove it later
+          sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev
 
       - name: Tests
         run: |

+ 29 - 1
packages/f/freeglut/xmake.lua

@@ -11,8 +11,36 @@ package("freeglut")
         add_deps("cmake")
     end
 
+    if is_plat("linux") then
+        add_deps("libx11", "libxi", "libxxf86vm")
+        add_syslinks("GLU", "GL")
+    end
+
+    on_load("windows", function (package)
+        if not package:config("shared") then
+            package:add("defines", "FREEGLUT_STATIC=1")
+        end
+        package:add("defines", "FREEGLUT_LIB_PRAGMAS=0")
+        package:add("syslinks", "glu32", "opengl32", "gdi32", "winmm", "user32", "advapi32")
+    end)
+
     on_install("linux", "windows", function (package)
-        import("package.tools.cmake").install(package)
+        local configs = {"-DFREEGLUT_BUILD_DEMOS=OFF"}
+        if package:config("shared") then
+            table.insert(configs, "-DFREEGLUT_BUILD_SHARED_LIBS=ON")
+            table.insert(configs, "-DFREEGLUT_BUILD_STATIC_LIBS=OFF")
+        else
+            table.insert(configs, "-DFREEGLUT_BUILD_SHARED_LIBS=OFF")
+            table.insert(configs, "-DFREEGLUT_BUILD_STATIC_LIBS=ON")
+        end
+        if package:is_plat("windows") then
+            if package:config("shared") then
+                table.insert(configs, "-DCMAKE_C_FLAGS=-DFREEGLUT_LIB_PRAGMAS=0")
+            else
+                table.insert(configs, "-DCMAKE_C_FLAGS=-DFREEGLUT_LIB_PRAGMAS=0 -DFREEGLUT_STATIC=1")
+            end
+        end
+        import("package.tools.cmake").install(package, configs)
     end)
 
     on_test(function (package)