aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2024-09-20 17:45:44 +0200
committerAndre Weissflog <floooh@gmail.com>2024-09-20 17:45:44 +0200
commit0283c51145e68d63567c40a0671d94cafcbe9d50 (patch)
treecdbafb12629d134ee5982dab27e200b5423ad927 /tests
parent5aad46382ba1b984240413ec6edb0b258878d646 (diff)
add 'no-sokol-app' compilation tests for sokol-imgui and sokol-nuklear
Diffstat (limited to 'tests')
-rw-r--r--tests/compile/CMakeLists.txt8
-rw-r--r--tests/compile/sokol_imgui_nosokolapp.c19
-rw-r--r--tests/compile/sokol_imgui_nosokolapp.cc14
-rw-r--r--tests/compile/sokol_nuklear_nosokolapp.c20
4 files changed, 60 insertions, 1 deletions
diff --git a/tests/compile/CMakeLists.txt b/tests/compile/CMakeLists.txt
index e6645556..b7d4fd9d 100644
--- a/tests/compile/CMakeLists.txt
+++ b/tests/compile/CMakeLists.txt
@@ -44,15 +44,21 @@ endif()
if (ANDROID)
add_library(sokol-compiletest-c SHARED ${c_sources})
else()
- add_executable(sokol-compiletest-c ${exe_type} sokol_app.c sokol_glue.c ${c_sources})
+ add_executable(sokol-compiletest-c ${exe_type} ${c_sources})
+ add_executable(sokol-compiletest-nosokolapp-c ${exe_type} sokol_gfx.c sokol_imgui_nosokolapp.c sokol_nuklear_nosokolapp.c)
endif()
target_link_libraries(sokol-compiletest-c PUBLIC cimgui nuklear spine)
+target_link_libraries(sokol-compiletest-nosokolapp-c PUBLIC cimgui nuklear)
configure_c(sokol-compiletest-c)
+configure_c(sokol-compiletest-nosokolapp-c)
if (ANDROID)
add_library(sokol-compiletest-cxx SHARED ${cxx_sources})
else()
add_executable(sokol-compiletest-cxx ${exe_type} ${cxx_sources})
+ add_executable(sokol-compiletest-nosokolapp-cxx ${exe_type} sokol_gfx.cc sokol_imgui_nosokolapp.cc)
endif()
target_link_libraries(sokol-compiletest-cxx PUBLIC imgui nuklear spine)
+target_link_libraries(sokol-compiletest-nosokolapp-cxx PUBLIC imgui)
configure_cxx(sokol-compiletest-cxx)
+configure_cxx(sokol-compiletest-nosokolapp-cxx)
diff --git a/tests/compile/sokol_imgui_nosokolapp.c b/tests/compile/sokol_imgui_nosokolapp.c
new file mode 100644
index 00000000..ca7e96c7
--- /dev/null
+++ b/tests/compile/sokol_imgui_nosokolapp.c
@@ -0,0 +1,19 @@
+#include "sokol_app.h"
+#include "sokol_gfx.h"
+#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
+#if defined(_MSC_VER )
+#pragma warning(disable:4201) // nonstandard extension used: nameless struct/union
+#pragma warning(disable:4214) // nonstandard extension used: bit field types other than int
+#endif
+#include "cimgui/cimgui.h"
+#define SOKOL_IMPL
+#define SOKOL_IMGUI_NO_SOKOL_APP
+#include "sokol_imgui.h"
+
+void use_imgui_impl(void) {
+ simgui_setup(&(simgui_desc_t){0});
+}
+
+int main(void) {
+ return 0;
+} \ No newline at end of file
diff --git a/tests/compile/sokol_imgui_nosokolapp.cc b/tests/compile/sokol_imgui_nosokolapp.cc
new file mode 100644
index 00000000..13307aed
--- /dev/null
+++ b/tests/compile/sokol_imgui_nosokolapp.cc
@@ -0,0 +1,14 @@
+#include "sokol_app.h"
+#include "sokol_gfx.h"
+#include "imgui.h"
+#define SOKOL_IMPL
+#define SOKOL_IMGUI_NO_SOKOL_APP
+#include "sokol_imgui.h"
+
+void use_imgui_impl() {
+ simgui_setup({});
+}
+
+int main() {
+ return 0;
+} \ No newline at end of file
diff --git a/tests/compile/sokol_nuklear_nosokolapp.c b/tests/compile/sokol_nuklear_nosokolapp.c
new file mode 100644
index 00000000..c491b53f
--- /dev/null
+++ b/tests/compile/sokol_nuklear_nosokolapp.c
@@ -0,0 +1,20 @@
+#include "sokol_app.h"
+#include "sokol_gfx.h"
+
+// include nuklear.h before the sokol_nuklear.h implementation
+#define NK_INCLUDE_FIXED_TYPES
+#define NK_INCLUDE_STANDARD_IO
+#define NK_INCLUDE_DEFAULT_ALLOCATOR
+#define NK_INCLUDE_VERTEX_BUFFER_OUTPUT
+#define NK_INCLUDE_FONT_BAKING
+#define NK_INCLUDE_DEFAULT_FONT
+#define NK_INCLUDE_STANDARD_VARARGS
+#include "nuklear.h"
+
+#define SOKOL_IMPL
+#define SOKOL_NUKLEAR_NO_SOKOL_APP
+#include "sokol_nuklear.h"
+
+void use_nuklear_impl(void) {
+ snk_setup(&(snk_desc_t){0});
+}