[build][cmake] set lib m as public so it can be linked by consumer (#5193)

* [build][cmake] set lib m as public so it can be linked by consumer

* [build][cmake] removed redundancy when BSD systems
This commit is contained in:
Bruno Cabral
2025-09-23 09:07:11 -07:00
committed by GitHub
parent 085391e788
commit ca33d495b3

View File

@@ -38,7 +38,8 @@ if (${PLATFORM} MATCHES "Desktop")
find_library(OSS_LIBRARY ossaudio)
endif ()
set(LIBS_PRIVATE m pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY})
set(LIBS_PRIVATE pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY})
set(LIBS_PUBLIC m)
else ()
find_library(pthread NAMES pthread)
find_package(OpenGL QUIET)
@@ -46,11 +47,13 @@ if (${PLATFORM} MATCHES "Desktop")
set(OPENGL_LIBRARIES "GL")
endif ()
set(LIBS_PRIVATE m atomic pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY})
set(LIBS_PRIVATE pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY})
set(LIBS_PUBLIC m)
if ("${CMAKE_SYSTEM_NAME}" MATCHES "(Net|Open)BSD")
find_library(OSS_LIBRARY ossaudio)
set(LIBS_PRIVATE m pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY})
else ()
set(LIBS_PRIVATE ${LIBS_PRIVATE} atomic)
endif ()
if (NOT "${CMAKE_SYSTEM_NAME}" MATCHES "(Net|Open)BSD" AND USE_AUDIO)
@@ -82,7 +85,8 @@ elseif (${PLATFORM} MATCHES "Android")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -u ANativeActivity_onCreate -Wl,-undefined,dynamic_lookup")
find_library(OPENGL_LIBRARY OpenGL)
set(LIBS_PRIVATE m log android EGL GLESv2 OpenSLES atomic c)
set(LIBS_PRIVATE log android EGL GLESv2 OpenSLES atomic c)
set(LIBS_PUBLIC m)
elseif ("${PLATFORM}" MATCHES "DRM")
set(PLATFORM_CPP "PLATFORM_DRM")
@@ -100,7 +104,8 @@ elseif ("${PLATFORM}" MATCHES "DRM")
if (NOT CMAKE_CROSSCOMPILING OR NOT CMAKE_SYSROOT)
include_directories(/usr/include/libdrm)
endif ()
set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} atomic pthread m dl)
set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} atomic pthread dl)
set(LIBS_PUBLIC m)
elseif ("${PLATFORM}" MATCHES "SDL")
# First, check if SDL is included as a subdirectory