From b18d21486a6391b5b6ed089d5337044503a5c610 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 25 Apr 2012 17:17:08 -0400 Subject: Try to suppress spurious Mac ld warnings (lib/release/Release dir). Mindful that some autobuild packages populate only packages/lib/release (rather than packages/lib/debug), Linking.cmake always appends packages/lib/release to CMake's link_directories() directive. But since CMake always appends CMAKE_BUILD_TYPE to those directories, we end up with a phantom packages/lib/release/Release directory on the search path. This would be harmless except that the Mac's 'ld' command produces a warning. These warnings quickly make TC's "Important Messages" output useless. Try appending packages/lib/release only when the build type isn't already Release. --- indra/cmake/Linking.cmake | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index c5f9e2c579..47f944f9a5 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -13,7 +13,7 @@ elseif (LINUX) set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/bin) elseif (DARWIN) set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs) - set(EXE_STAGING_DIR "${CMAKE_BINARY_DIR}/sharedlibs/\$(CONFIGURATION)") + set(EXE_STAGING_DIR "${CMAKE_BINARY_DIR}/sharedlibs") endif (WINDOWS) # Autobuild packages must provide 'release' versions of libraries, but may provide versions for @@ -33,7 +33,14 @@ else(WINDOWS OR DARWIN) set(AUTOBUILD_LIBS_INSTALL_DIRS ${AUTOBUILD_INSTALL_DIR}/lib/${CMAKE_BUILD_TYPE_LOWER}) endif(WINDOWS OR DARWIN) -list(APPEND AUTOBUILD_LIBS_INSTALL_DIRS ${ARCH_PREBUILT_DIRS_RELEASE}) +if (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Release") + # When we're building something other than Release, append the + # packages/lib/release directory to deal with autobuild packages that don't + # provide (e.g.) lib/debug libraries. + list(APPEND AUTOBUILD_LIBS_INSTALL_DIRS ${ARCH_PREBUILT_DIRS_RELEASE}) + message(STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}, extending AUTOBUILD_LIBS_INSTALL_DIRS") +endif (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Release") +message(STATUS "For ${CMAKE_BUILD_TYPE}, AUTOBUILD_LIBS_INSTALL_DIRS: ${AUTOBUILD_LIBS_INSTALL_DIRS}") link_directories(${AUTOBUILD_LIBS_INSTALL_DIRS}) if (LINUX) -- cgit v1.2.3