From 4c2d9014afda49553c76f7045529207bb593f9b5 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Thu, 1 Oct 2026 23:56:50 +0300
Subject: [PATCH] cmake: the OS/2 emx toolchain limits shared library names to
8.3
And also gives no lib prefix to static libraries
---
.github/workflows/create-test-plan.py | 3 ++-
cmake/test/CMakeLists.txt | 14 ++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/create-test-plan.py b/.github/workflows/create-test-plan.py
index 5af85c8ab6c0a..7ff6e54706be7 100755
--- a/.github/workflows/create-test-plan.py
+++ b/.github/workflows/create-test-plan.py
@@ -145,6 +145,7 @@ class JobSpec:
class StaticLibType(Enum):
MSVC = "SDL2-static.lib"
A = "libSDL2.a"
+ A_NOLIB = "SDL2.a"
class SharedLibType(Enum):
@@ -671,7 +672,7 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta
job.cmake_toolchain_file = "$OS2EMX_CMAKE_TOOLCHAIN_FILE"
job.sudo = ""
job.shared_lib = SharedLibType.WIN32
- #job.static_lib = StaticLibType.A
+ job.static_lib = StaticLibType.A_NOLIB
case _:
raise ValueError(f"Unsupported platform={spec.platform}")
diff --git a/cmake/test/CMakeLists.txt b/cmake/test/CMakeLists.txt
index 6ba4cde9ae959..4fbf6c769c2b6 100644
--- a/cmake/test/CMakeLists.txt
+++ b/cmake/test/CMakeLists.txt
@@ -16,6 +16,11 @@ if(ANDROID)
endmacro()
endif()
+set(shlib_name83 FALSE)
+if(OS2)
+ set(shlib_name83 TRUE)
+endif()
+
cmake_policy(SET CMP0074 NEW)
# Override CMAKE_FIND_ROOT_PATH_MODE to allow search for SDL2 outside of sysroot
@@ -67,6 +72,9 @@ if(TEST_SHARED)
generate_export_header(sharedlib-shared EXPORT_MACRO_NAME MYLIBRARY_EXPORT)
target_compile_definitions(sharedlib-shared PRIVATE "EXPORT_HEADER=\"${CMAKE_CURRENT_BINARY_DIR}/sharedlib-shared_export.h\"")
set_target_properties(sharedlib-shared PROPERTIES C_VISIBILITY_PRESET "hidden")
+ if(shlib_name83)
+ set_property(TARGET sharedlib-shared PROPERTY OUTPUT_NAME "shlsh")
+ endif()
add_executable(gui-shared-vars WIN32 main_gui.c)
target_link_libraries(gui-shared-vars PRIVATE ${SDL2_LIBRARIES})
@@ -94,6 +102,9 @@ if(TEST_SHARED)
generate_export_header(sharedlib-shared-vars EXPORT_MACRO_NAME MYLIBRARY_EXPORT)
target_compile_definitions(sharedlib-shared-vars PRIVATE "EXPORT_HEADER=\"${CMAKE_CURRENT_BINARY_DIR}/sharedlib-shared-vars_export.h\"")
set_target_properties(sharedlib-shared-vars PROPERTIES C_VISIBILITY_PRESET "hidden")
+ if(shlib_name83)
+ set_property(TARGET sharedlib-shared-vars PROPERTY OUTPUT_NAME "shlbshvr")
+ endif()
if(TEST_TEST)
add_executable(sdltest-shared sdltest.c)
@@ -125,6 +136,9 @@ if(TEST_STATIC)
generate_export_header(sharedlib-static EXPORT_MACRO_NAME MYLIBRARY_EXPORT)
target_compile_definitions(sharedlib-static PRIVATE "EXPORT_HEADER=\"${CMAKE_CURRENT_BINARY_DIR}/sharedlib-static_export.h\"")
set_target_properties(sharedlib-static PROPERTIES C_VISIBILITY_PRESET "hidden")
+ if(shlib_name83)
+ set_property(TARGET sharedlib-static PROPERTY OUTPUT_NAME "shlstatc")
+ endif()
endif()
add_executable(gui-static-vars WIN32 main_gui.c)