From ca33d495b334232c073a5778869c68400c2022fa Mon Sep 17 00:00:00 2001 From: Bruno Cabral Date: Tue, 23 Sep 2025 09:07:11 -0700 Subject: [PATCH] [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 --- cmake/LibraryConfigurations.cmake | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/cmake/LibraryConfigurations.cmake b/cmake/LibraryConfigurations.cmake index c0a7e3d4b..98c7f2362 100644 --- a/cmake/LibraryConfigurations.cmake +++ b/cmake/LibraryConfigurations.cmake @@ -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