Browse Source

cmake: testnative can also be built on non-Linux

Anonymous Maarten 2 years ago
parent
commit
b8b852a55b
3 changed files with 17 additions and 7 deletions
  1. 2 2
      test/CMakeLists.txt
  2. 10 1
      test/testevdev.c
  3. 5 4
      test/testnative.c

+ 2 - 2
test/CMakeLists.txt

@@ -162,7 +162,7 @@ add_sdl_test_executable(testdrawchessboard SOURCES testdrawchessboard.c)
 add_sdl_test_executable(testdropfile SOURCES testdropfile.c)
 add_sdl_test_executable(testerror NONINTERACTIVE SOURCES testerror.c)
 
-if(LINUX AND SDL3_TESTS_SUBPROJECT)
+if(SDL3_TESTS_SUBPROJECT)
     set(build_options_dependent_tests )
 
     add_sdl_test_executable(testevdev NONINTERACTIVE SOURCES testevdev.c)
@@ -185,7 +185,7 @@ if(LINUX AND SDL3_TESTS_SUBPROJECT)
         endif()
         list(APPEND build_options_dependent_tests testnative)
     elseif(WINDOWS)
-        add_sdl_test_executable(testnative NEEDS_RESOURCES TESTUTILS SOURCES testnative.ctestnativew32.c)
+        add_sdl_test_executable(testnative NEEDS_RESOURCES TESTUTILS SOURCES testnative.c testnativew32.c)
         list(APPEND build_options_dependent_tests testnative)
     elseif(HAVE_X11)
         add_sdl_test_executable(testnative NEEDS_RESOURCES TESTUTILS SOURCES testnative.c testnativex11.c)

+ 10 - 1
test/testevdev.c

@@ -11,9 +11,18 @@
   freely.
 */
 
-#include "../src/SDL_internal.h"
+#include <SDL3/SDL.h>
+#include <SDL3/SDL_main.h>
 #include <SDL3/SDL_test.h>
 
+/* Hack to avoid dynapi renaming */
+#include "../src/dynapi/SDL_dynapi.h"
+#ifdef SDL_DYNAMIC_API
+#undef SDL_DYNAMIC_API
+#endif
+
+#include "../src/SDL_internal.h"
+
 #include <stdio.h>
 #include <string.h>
 

+ 5 - 4
test/testnative.c

@@ -11,14 +11,15 @@
 */
 /* Simple program:  Create a native window and attach an SDL renderer */
 
-#include <stdlib.h> /* for srand() */
-#include <time.h>   /* for time() */
+#include <SDL3/SDL.h>
+#include <SDL3/SDL_main.h>
+#include <SDL3/SDL_test.h>
 
 #include "testnative.h"
 #include "testutils.h"
 
-#include <SDL3/SDL_main.h>
-#include <SDL3/SDL_test.h>
+#include <stdlib.h> /* for srand() */
+#include <time.h>   /* for time() */
 
 #define WINDOW_W    640
 #define WINDOW_H    480