From 431c8d4ef50d7710b8447facc16528c521696ed6 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Mon, 4 Dec 2023 21:00:15 +0100
Subject: [PATCH] cmake: create libmpg123-0.dll/libout123-0.dll/libsyn123-0.dll
on Windows (autotools compat
---
ports/cmake/src/libmpg123/CMakeLists.txt | 6 ++++++
ports/cmake/src/libout123/CMakeLists.txt | 6 ++++++
ports/cmake/src/libsyn123/CMakeLists.txt | 6 ++++++
3 files changed, 18 insertions(+)
diff --git a/ports/cmake/src/libmpg123/CMakeLists.txt b/ports/cmake/src/libmpg123/CMakeLists.txt
index 86fc17c..4e9e34e 100644
--- a/ports/cmake/src/libmpg123/CMakeLists.txt
+++ b/ports/cmake/src/libmpg123/CMakeLists.txt
@@ -211,6 +211,12 @@ elseif(MACHINE STREQUAL "generic")
endif()
set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME mpg123)
+if(BUILD_SHARED_LIBS AND WIN32)
+ # FIXME: keep soversion in sync with autotools
+ set_property(TARGET ${TARGET} PROPERTY RUNTIME_OUTPUT_NAME "mpg123-0")
+ # Requires CMake 3.27, so not sufficient
+ set_property(TARGET ${TARGET} PROPERTY DLL_NAME_WITH_SOVERSION FALSE)
+endif()
target_compile_definitions(${TARGET} PRIVATE
$<$<BOOL:$<TARGET_PROPERTY:POSITION_INDEPENDENT_CODE>>:PIC>)
diff --git a/ports/cmake/src/libout123/CMakeLists.txt b/ports/cmake/src/libout123/CMakeLists.txt
index 5671036..cc161d7 100644
--- a/ports/cmake/src/libout123/CMakeLists.txt
+++ b/ports/cmake/src/libout123/CMakeLists.txt
@@ -19,6 +19,12 @@ add_library(${TARGET}
$<$<BOOL:${USE_MODULES}>:$<TARGET_OBJECTS:compat_dl>>)
set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME out123)
+if(BUILD_SHARED_LIBS AND WIN32)
+ # FIXME: keep soversion in sync with autotools
+ set_property(TARGET ${TARGET} PROPERTY RUNTIME_OUTPUT_NAME "out123-0")
+ # Requires CMake 3.27, so not sufficient
+ set_property(TARGET ${TARGET} PROPERTY DLL_NAME_WITH_SOVERSION FALSE)
+endif()
target_link_libraries(${TARGET} PRIVATE
$<TARGET_NAME_IF_EXISTS:defaultmodule>
diff --git a/ports/cmake/src/libsyn123/CMakeLists.txt b/ports/cmake/src/libsyn123/CMakeLists.txt
index 89558f5..62c85d0 100644
--- a/ports/cmake/src/libsyn123/CMakeLists.txt
+++ b/ports/cmake/src/libsyn123/CMakeLists.txt
@@ -16,6 +16,12 @@ add_library(${TARGET}
$<TARGET_OBJECTS:compat_str>)
set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME syn123)
+if(BUILD_SHARED_LIBS AND WIN32)
+ # FIXME: keep soversion in sync with autotools
+ set_property(TARGET ${TARGET} PROPERTY RUNTIME_OUTPUT_NAME "syn123-0")
+ # Requires CMake 3.27, so not sufficient
+ set_property(TARGET ${TARGET} PROPERTY DLL_NAME_WITH_SOVERSION FALSE)
+endif()
target_include_directories(${TARGET} INTERFACE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"