diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake index a0dc4b2b5..97a0bf910 100644 --- a/indra/cmake/DirectX.cmake +++ b/indra/cmake/DirectX.cmake @@ -44,10 +44,15 @@ if (WINDOWS) "$ENV{ProgramFiles(x86)}/Windows Kits/8.0" ) - if (WIN_KIT_ROOT_DIR) + find_path (WIN_KIT_LIB_DIR dxguid.lib + "${WIN_KIT_ROOT_DIR}/Lib/winv6.3/um/${DIRECTX_ARCHITECTURE}" + "${WIN_KIT_ROOT_DIR}/Lib/Win8/um/${DIRECTX_ARCHITECTURE}" + ) + + if (WIN_KIT_ROOT_DIR AND WIN_KIT_LIB_DIR) set (DIRECTX_INCLUDE_DIR "${WIN_KIT_ROOT_DIR}/Include/um" "${WIN_KIT_ROOT_DIR}/Include/shared") - set (DIRECTX_LIBRARY_DIR "${WIN_KIT_ROOT_DIR}/Lib/Win8/um/${DIRECTX_ARCHITECTURE}") - endif (WIN_KIT_ROOT_DIR) + set (DIRECTX_LIBRARY_DIR "${WIN_KIT_LIB_DIR}") + endif (WIN_KIT_ROOT_DIR AND WIN_KIT_LIB_DIR) endif (DIRECTX_ROOT_DIR) if (DIRECTX_INCLUDE_DIR) diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index 00754ec36..e7bc897c9 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -5,22 +5,29 @@ set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") include(Variables) if (NOT STANDALONE) - if (WINDOWS) - set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib) - set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/release) - set(ARCH_PREBUILT_DIRS_DEBUG ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/debug) - elseif (LINUX) - set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/release) - set(ARCH_PREBUILT_DIRS_RELEASE ${ARCH_PREBUILT_DIRS}) - set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS}) - elseif (DARWIN) - set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib) - set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/release) - set(ARCH_PREBUILT_DIRS_DEBUG ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/debug) - endif (WINDOWS) + set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib) + set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/release) + set(ARCH_PREBUILT_DIRS_DEBUG ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/debug) + + if(WINDOWS OR ${CMAKE_GENERATOR} MATCHES "Xcode") + # the cmake xcode and VS generators implicitly append ${CMAKE_CFG_INTDIR} to the library paths for us + # fortunately both windows and darwin are case insensitive filesystems so this works. + set(ARCH_PREBUILT_LINK_DIRS "${ARCH_PREBUILT_DIRS}") + else(WINDOWS OR ${CMAKE_GENERATOR} MATCHES "Xcode") + # else block is for linux and any other makefile based generators + string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER) + set(ARCH_PREBUILT_LINK_DIRS ${ARCH_PREBUILT_DIRS}/${CMAKE_BUILD_TYPE_LOWER}) + endif(WINDOWS OR ${CMAKE_GENERATOR} MATCHES "Xcode") + + 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 ARCH_PREBUILT_LINK_DIRS ${ARCH_PREBUILT_DIRS_RELEASE}) + endif (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Release") endif (NOT STANDALONE) -link_directories(${ARCH_PREBUILT_DIRS}) +link_directories(${ARCH_PREBUILT_LINK_DIRS}) if (LINUX) set(DL_LIBRARY dl) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 70d025d85..187412b4a 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -97,7 +97,7 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(DARWIN 1) - if(${CMAKE_GENERATOR} MATCHES Xcode) + if(${CMAKE_GENERATOR} MATCHES "Xcode") #SDK Compiler and Deployment targets for XCode if (${XCODE_VERSION} VERSION_LESS 4.0.0) set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) @@ -106,10 +106,10 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk) set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6) endif (${XCODE_VERSION} VERSION_LESS 4.0.0) - else(${CMAKE_GENERATOR} MATCHES Xcode) + else(${CMAKE_GENERATOR} MATCHES "Xcode") set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk) set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6) - endif(${CMAKE_GENERATOR} MATCHES Xcode) + endif(${CMAKE_GENERATOR} MATCHES "Xcode") set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42") diff --git a/indra/newview/llviewerwearable.cpp b/indra/newview/llviewerwearable.cpp index bdd03c0eb..30483c738 100644 --- a/indra/newview/llviewerwearable.cpp +++ b/indra/newview/llviewerwearable.cpp @@ -698,7 +698,7 @@ std::ostream& operator<<(std::ostream &s, const LLViewerWearable &w) //w.mSaleInfo s << " Params:" << "\n"; - for (LLWearable::visual_param_index_map_t::const_iterator iter = w.mVisualParamIndexMap.begin(); + for (LLViewerWearable::visual_param_index_map_t::const_iterator iter = w.mVisualParamIndexMap.begin(); iter != w.mVisualParamIndexMap.end(); ++iter) { S32 param_id = iter->first;