diff --git a/indra/cmake/Discord.cmake b/indra/cmake/Discord.cmake
index 9741ff17f0..7ec96939b3 100644
--- a/indra/cmake/Discord.cmake
+++ b/indra/cmake/Discord.cmake
@@ -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
diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake
index 6f8912f7f1..f6b4a5c4d5 100644
--- a/indra/cmake/FMODSTUDIO.cmake
+++ b/indra/cmake/FMODSTUDIO.cmake
@@ -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)
diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake
index 9a61267d50..9a0bc842a9 100644
--- a/indra/cmake/GLOD.cmake
+++ b/indra/cmake/GLOD.cmake
@@ -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
diff --git a/indra/cmake/Growl.cmake b/indra/cmake/Growl.cmake
index dc77e1c51e..a2cff584e9 100644
--- a/indra/cmake/Growl.cmake
+++ b/indra/cmake/Growl.cmake
@@ -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
diff --git a/indra/cmake/LLPhysicsExtensions.cmake b/indra/cmake/LLPhysicsExtensions.cmake
index e27b746a14..454dbe0215 100644
--- a/indra/cmake/LLPhysicsExtensions.cmake
+++ b/indra/cmake/LLPhysicsExtensions.cmake
@@ -48,7 +48,27 @@ else (HAVOK)
# set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub)
#
- target_link_libraries( llphysicsextensions_impl INTERFACE nd_hacdConvexDecomposition hacd nd_Pathing )
+ # 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})
+ #
# include paths for LLs version and ours are different.
target_include_directories( llphysicsextensions_impl INTERFACE ${LIBS_PREBUILT_DIR}/include/ )