Browse Source

Merge branch 'love2d:12.0-development' into 12.0-development

nikeinikei 2 years ago
parent
commit
e4ca923396

+ 7 - 0
.github/workflows/main.yml

@@ -113,6 +113,13 @@ jobs:
       if: steps.vars.outputs.angle == '1'
       if: steps.vars.outputs.angle == '1'
       working-directory: angle
       working-directory: angle
       run: 7z x angle-win-${{ steps.vars.outputs.arch }}.zip
       run: 7z x angle-win-${{ steps.vars.outputs.arch }}.zip
+    - name: Delete Strawbery Perl
+      # https://github.com/actions/runner-images/issues/6627
+      # In particular, this is not pretty, but even CMAKE_IGNORE_PREFIX_PATH
+      # cannot help in this case. Delete the whole folder!
+      run: |
+        rmdir /s /q C:\Strawberry
+        exit /b 0
     - name: Configure
     - name: Configure
       run: cmake -Bbuild -Hmegasource -T v142 -A ${{ matrix.platform }} -DCMAKE_INSTALL_PREFIX=%CD%\install ${{ steps.vars.outputs.moredef }}
       run: cmake -Bbuild -Hmegasource -T v142 -A ${{ matrix.platform }} -DCMAKE_INSTALL_PREFIX=%CD%\install ${{ steps.vars.outputs.moredef }}
     - name: Install
     - name: Install

+ 7 - 12
src/modules/love/love.cpp

@@ -86,6 +86,11 @@ extern "C"
 #	include "audio/Audio.h"
 #	include "audio/Audio.h"
 #endif
 #endif
 
 
+// For love::system::System::getOS.
+#ifdef LOVE_ENABLE_SYSTEM
+#	include "system/System.h"
+#endif
+
 // Scripts.
 // Scripts.
 #include "scripts/nogame.lua.h"
 #include "scripts/nogame.lua.h"
 
 
@@ -599,18 +604,8 @@ int luaopen_love(lua_State *L)
 	lua_pushcfunction(L, w_love_isVersionCompatible);
 	lua_pushcfunction(L, w_love_isVersionCompatible);
 	lua_setfield(L, -2, "isVersionCompatible");
 	lua_setfield(L, -2, "isVersionCompatible");
 
 
-#ifdef LOVE_WINDOWS_UWP
-	lua_pushstring(L, "UWP");
-#elif LOVE_WINDOWS
-	lua_pushstring(L, "Windows");
-#elif defined(LOVE_MACOS)
-	lua_pushstring(L, "OS X");
-#elif defined(LOVE_IOS)
-	lua_pushstring(L, "iOS");
-#elif defined(LOVE_ANDROID)
-	lua_pushstring(L, "Android");
-#elif defined(LOVE_LINUX)
-	lua_pushstring(L, "Linux");
+#ifdef LOVE_ENABLE_SYSTEM
+	lua_pushstring(L, love::system::System::getOS());
 #else
 #else
 	lua_pushstring(L, "Unknown");
 	lua_pushstring(L, "Unknown");
 #endif
 #endif

+ 1 - 1
src/modules/system/System.cpp

@@ -62,7 +62,7 @@ System::System()
 {
 {
 }
 }
 
 
-std::string System::getOS() const
+const char *System::getOS()
 {
 {
 #if defined(LOVE_MACOS)
 #if defined(LOVE_MACOS)
 	return "OS X";
 	return "OS X";

+ 1 - 1
src/modules/system/System.h

@@ -57,7 +57,7 @@ public:
 	/**
 	/**
 	 * Gets the current operating system.
 	 * Gets the current operating system.
 	 **/
 	 **/
-	std::string getOS() const;
+	static const char *getOS();
 
 
 	/**
 	/**
 	 * Gets the number of reported CPU cores on the current system.
 	 * Gets the number of reported CPU cores on the current system.

+ 1 - 1
src/modules/system/wrap_System.cpp

@@ -31,7 +31,7 @@ namespace system
 
 
 int w_getOS(lua_State *L)
 int w_getOS(lua_State *L)
 {
 {
-	luax_pushstring(L, instance()->getOS());
+	luax_pushstring(L, System::getOS());
 	return 1;
 	return 1;
 }
 }