Fixed CMake files to work with MacOS universal libraries

master
Hecklezz 2025-09-20 16:57:11 +10:00
parent 6a522ed3fb
commit b542e69fe7
5 changed files with 68 additions and 27 deletions

View File

@ -20,13 +20,13 @@ add_library(fs::discord INTERFACE IMPORTED)
include(Prebuilt)
use_prebuilt_binary(discord-rpc)
if (WINDOWS)
target_link_libraries(fs::discord INTERFACE discord-rpc)
elseif (LINUX)
target_link_libraries(fs::discord INTERFACE discord-rpc)
elseif (DARWIN)
target_link_libraries(fs::discord INTERFACE discord-rpc)
endif (WINDOWS)
find_library(DISCORD_LIBRARY
NAMES
discord-rpc.lib
libdiscord-rpc.a
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
target_link_libraries(fs::discord INTERFACE ${DISCORD_LIBRARY})
target_include_directories(fs::discord SYSTEM INTERFACE
${AUTOBUILD_INSTALL_DIR}/include/discord-rpc

View File

@ -33,14 +33,15 @@ if (USE_FMODSTUDIO)
# as accessing the private LL location will fail if you don't have the credential
include(Prebuilt)
use_prebuilt_binary(fmodstudio)
if (WINDOWS)
target_link_libraries( ll::fmodstudio INTERFACE fmod_vc)
elseif (DARWIN)
#despite files being called libfmod.dylib, we are searching for fmod
target_link_libraries( ll::fmodstudio INTERFACE fmod)
elseif (LINUX)
target_link_libraries( ll::fmodstudio INTERFACE fmod)
endif (WINDOWS)
find_library(FMOD_LIBRARY
NAMES
fmod_vc.lib
libfmod.dylib
libfmod.so
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
target_link_libraries(ll::fmodstudio INTERFACE ${FMOD_LIBRARY})
target_include_directories( ll::fmodstudio SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/fmodstudio)
endif (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)

View File

@ -5,13 +5,24 @@ add_library( fs::glod INTERFACE IMPORTED )
include(Prebuilt)
use_prebuilt_binary(glod)
if (WINDOWS)
target_link_libraries( fs::glod INTERFACE glod.lib)
elseif (DARWIN)
target_link_libraries( fs::glod INTERFACE libGLOD.dylib)
find_library(GLOD_LIBRARY
NAMES
GLOD.lib
libGLOD.dylib
libGLOD.a
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
if (WINDOWS OR DARWIN)
target_link_libraries(fs::glod INTERFACE ${GLOD_LIBRARY})
elseif (LINUX)
target_link_libraries( fs::glod INTERFACE libGLOD.a libvds.a)
endif (WINDOWS)
find_library(VDS_LIBRARY
NAMES
libvds.a
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
target_link_libraries(fs::glod INTERFACE ${GLOD_LIBRARY} ${VDS_LIBRARY})
endif ()
target_include_directories( fs::glod SYSTEM INTERFACE
${AUTOBUILD_INSTALL_DIR}/include/glod

View File

@ -9,11 +9,20 @@ add_library( fs::growl INTERFACE IMPORTED )
include(Prebuilt)
use_prebuilt_binary(gntp-growl)
if (WINDOWS)
target_link_libraries( fs::growl INTERFACE growl.lib growl++.lib)
elseif (DARWIN)
target_link_libraries( fs::growl INTERFACE libgrowl.dylib libgrowl++.dylib)
endif (WINDOWS)
find_library(GROWL_LIBRARY
NAMES
growl.lib
libgrowl.dylib
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
find_library(GROWL_PLUSPLUS_LIBRARY
NAMES
growl++.lib
libgrowl++.dylib
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
target_link_libraries(fs::growl INTERFACE ${GROWL_LIBRARY} ${GROWL_PLUSPLUS_LIBRARY})
target_include_directories( fs::growl SYSTEM INTERFACE
${AUTOBUILD_INSTALL_DIR}/include/Growl

View File

@ -48,7 +48,27 @@ else (HAVOK)
# set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub)
# </FS:ND>
target_link_libraries( llphysicsextensions_impl INTERFACE nd_hacdConvexDecomposition hacd nd_Pathing )
# <FS:TJ> Use find_library to make our lives easier
find_library(ND_HACDCONVEXDECOMPOSITION_LIBRARY
NAMES
nd_hacdConvexDecomposition.lib
libnd_hacdConvexDecomposition.a
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
find_library(HACD_LIBRARY
NAMES
hacd.lib
libhacd.a
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
find_library(ND_PATHING_LIBRARY
NAMES
nd_pathing.lib
libnd_pathing.a
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
target_link_libraries(llphysicsextensions_impl INTERFACE ${ND_HACDCONVEXDECOMPOSITION_LIBRARY} ${HACD_LIBRARY} ${ND_PATHING_LIBRARY})
# </FS:TJ>
# <FS:ND> include paths for LLs version and ours are different.
target_include_directories( llphysicsextensions_impl INTERFACE ${LIBS_PREBUILT_DIR}/include/ )