summaryrefslogtreecommitdiff
path: root/indra/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'indra/cmake')
-rw-r--r--indra/cmake/00-Common.cmake5
-rw-r--r--indra/cmake/Boost.cmake110
-rw-r--r--indra/cmake/BuildPackagesInfo.cmake3
-rw-r--r--indra/cmake/CMakeLists.txt1
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake171
-rw-r--r--indra/cmake/DirectX.cmake48
-rw-r--r--indra/cmake/LLAddBuildTest.cmake5
-rw-r--r--indra/cmake/LLAppearance.cmake2
-rw-r--r--indra/cmake/LLCommon.cmake4
-rw-r--r--indra/cmake/LLCoreHttp.cmake2
-rwxr-xr-xindra/cmake/run_build_test.py19
11 files changed, 144 insertions, 226 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index 03da30649a..865c057e33 100644
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -60,7 +60,10 @@ if (WINDOWS)
# http://www.cmake.org/pipermail/cmake/2009-September/032143.html
string(REPLACE "/Zm1000" " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
+ # Without PreferredToolArchitecture=x64, as of 2020-06-26 the 32-bit
+ # compiler on our TeamCity build hosts has started running out of virtual
+ # memory for the precompiled header file.
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /p:PreferredToolArchitecture=x64")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
"${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Zo"
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake
index 180a84dbcf..06a7ab6d75 100644
--- a/indra/cmake/Boost.cmake
+++ b/indra/cmake/Boost.cmake
@@ -8,7 +8,7 @@ if (USESYSTEMLIBS)
include(FindBoost)
set(BOOST_CONTEXT_LIBRARY boost_context-mt)
- set(BOOST_COROUTINE_LIBRARY boost_coroutine-mt)
+ set(BOOST_FIBER_LIBRARY boost_fiber-mt)
set(BOOST_FILESYSTEM_LIBRARY boost_filesystem-mt)
set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt)
set(BOOST_REGEX_LIBRARY boost_regex-mt)
@@ -18,11 +18,15 @@ if (USESYSTEMLIBS)
else (USESYSTEMLIBS)
use_prebuilt_binary(boost)
set(Boost_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
- set(BOOST_VERSION "1.55")
+
+ # As of sometime between Boost 1.67 and 1.72, Boost libraries are suffixed
+ # with the address size.
+ set(addrsfx "-x${ADDRESS_SIZE}")
if (WINDOWS)
if(MSVC80)
# This should be obsolete at this point
+ set(BOOST_VERSION "1.55")
set(BOOST_CONTEXT_LIBRARY
optimized libboost_context-vc80-mt-${BOOST_VERSION}
debug libboost_context-vc80-mt-gd-${BOOST_VERSION})
@@ -47,80 +51,80 @@ else (USESYSTEMLIBS)
else(MSVC80)
# MSVC 10.0 config
set(BOOST_CONTEXT_LIBRARY
- optimized libboost_context-mt
- debug libboost_context-mt-gd)
- set(BOOST_COROUTINE_LIBRARY
- optimized libboost_coroutine-mt
- debug libboost_coroutine-mt-gd)
+ optimized libboost_context-mt${addrsfx}
+ debug libboost_context-mt${addrsfx}-gd)
+ set(BOOST_FIBER_LIBRARY
+ optimized libboost_fiber-mt${addrsfx}
+ debug libboost_fiber-mt${addrsfx}-gd)
set(BOOST_FILESYSTEM_LIBRARY
- optimized libboost_filesystem-mt
- debug libboost_filesystem-mt-gd)
+ optimized libboost_filesystem-mt${addrsfx}
+ debug libboost_filesystem-mt${addrsfx}-gd)
set(BOOST_PROGRAM_OPTIONS_LIBRARY
- optimized libboost_program_options-mt
- debug libboost_program_options-mt-gd)
+ optimized libboost_program_options-mt${addrsfx}
+ debug libboost_program_options-mt${addrsfx}-gd)
set(BOOST_REGEX_LIBRARY
- optimized libboost_regex-mt
- debug libboost_regex-mt-gd)
+ optimized libboost_regex-mt${addrsfx}
+ debug libboost_regex-mt${addrsfx}-gd)
set(BOOST_SIGNALS_LIBRARY
- optimized libboost_signals-mt
- debug libboost_signals-mt-gd)
+ optimized libboost_signals-mt${addrsfx}
+ debug libboost_signals-mt${addrsfx}-gd)
set(BOOST_SYSTEM_LIBRARY
- optimized libboost_system-mt
- debug libboost_system-mt-gd)
+ optimized libboost_system-mt${addrsfx}
+ debug libboost_system-mt${addrsfx}-gd)
set(BOOST_THREAD_LIBRARY
- optimized libboost_thread-mt
- debug libboost_thread-mt-gd)
+ optimized libboost_thread-mt${addrsfx}
+ debug libboost_thread-mt${addrsfx}-gd)
endif (MSVC80)
elseif (LINUX)
set(BOOST_CONTEXT_LIBRARY
- optimized boost_context-mt
- debug boost_context-mt-d)
- set(BOOST_COROUTINE_LIBRARY
- optimized boost_coroutine-mt
- debug boost_coroutine-mt-d)
+ optimized boost_context-mt${addrsfx}
+ debug boost_context-mt${addrsfx}-d)
+ set(BOOST_FIBER_LIBRARY
+ optimized boost_fiber-mt${addrsfx}
+ debug boost_fiber-mt${addrsfx}-d)
set(BOOST_FILESYSTEM_LIBRARY
- optimized boost_filesystem-mt
- debug boost_filesystem-mt-d)
+ optimized boost_filesystem-mt${addrsfx}
+ debug boost_filesystem-mt${addrsfx}-d)
set(BOOST_PROGRAM_OPTIONS_LIBRARY
- optimized boost_program_options-mt
- debug boost_program_options-mt-d)
+ optimized boost_program_options-mt${addrsfx}
+ debug boost_program_options-mt${addrsfx}-d)
set(BOOST_REGEX_LIBRARY
- optimized boost_regex-mt
- debug boost_regex-mt-d)
+ optimized boost_regex-mt${addrsfx}
+ debug boost_regex-mt${addrsfx}-d)
set(BOOST_SIGNALS_LIBRARY
- optimized boost_signals-mt
- debug boost_signals-mt-d)
+ optimized boost_signals-mt${addrsfx}
+ debug boost_signals-mt${addrsfx}-d)
set(BOOST_SYSTEM_LIBRARY
- optimized boost_system-mt
- debug boost_system-mt-d)
+ optimized boost_system-mt${addrsfx}
+ debug boost_system-mt${addrsfx}-d)
set(BOOST_THREAD_LIBRARY
- optimized boost_thread-mt
- debug boost_thread-mt-d)
+ optimized boost_thread-mt${addrsfx}
+ debug boost_thread-mt${addrsfx}-d)
elseif (DARWIN)
set(BOOST_CONTEXT_LIBRARY
- optimized boost_context-mt
- debug boost_context-mt-d)
- set(BOOST_COROUTINE_LIBRARY
- optimized boost_coroutine-mt
- debug boost_coroutine-mt-d)
+ optimized boost_context-mt${addrsfx}
+ debug boost_context-mt${addrsfx}-d)
+ set(BOOST_FIBER_LIBRARY
+ optimized boost_fiber-mt${addrsfx}
+ debug boost_fiber-mt${addrsfx}-d)
set(BOOST_FILESYSTEM_LIBRARY
- optimized boost_filesystem-mt
- debug boost_filesystem-mt-d)
+ optimized boost_filesystem-mt${addrsfx}
+ debug boost_filesystem-mt${addrsfx}-d)
set(BOOST_PROGRAM_OPTIONS_LIBRARY
- optimized boost_program_options-mt
- debug boost_program_options-mt-d)
+ optimized boost_program_options-mt${addrsfx}
+ debug boost_program_options-mt${addrsfx}-d)
set(BOOST_REGEX_LIBRARY
- optimized boost_regex-mt
- debug boost_regex-mt-d)
+ optimized boost_regex-mt${addrsfx}
+ debug boost_regex-mt${addrsfx}-d)
set(BOOST_SIGNALS_LIBRARY
- optimized boost_signals-mt
- debug boost_signals-mt-d)
+ optimized boost_signals-mt${addrsfx}
+ debug boost_signals-mt${addrsfx}-d)
set(BOOST_SYSTEM_LIBRARY
- optimized boost_system-mt
- debug boost_system-mt-d)
+ optimized boost_system-mt${addrsfx}
+ debug boost_system-mt${addrsfx}-d)
set(BOOST_THREAD_LIBRARY
- optimized boost_thread-mt
- debug boost_thread-mt-d)
+ optimized boost_thread-mt${addrsfx}
+ debug boost_thread-mt${addrsfx}-d)
endif (WINDOWS)
endif (USESYSTEMLIBS)
diff --git a/indra/cmake/BuildPackagesInfo.cmake b/indra/cmake/BuildPackagesInfo.cmake
index 4314cca33d..8f8b6b2330 100644
--- a/indra/cmake/BuildPackagesInfo.cmake
+++ b/indra/cmake/BuildPackagesInfo.cmake
@@ -1,6 +1,7 @@
# -*- cmake -*-
# Construct the version and copyright information based on package data.
include(Python)
+include(FindAutobuild)
# packages-formatter.py runs autobuild install --versions, which needs to know
# the build_directory, which (on Windows) depends on AUTOBUILD_ADDRSIZE.
@@ -13,7 +14,7 @@ add_custom_command(OUTPUT packages-info.txt
DEPENDS ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py
${CMAKE_SOURCE_DIR}/../autobuild.xml
COMMAND ${PYTHON_EXECUTABLE}
- ${CMAKE_SOURCE_DIR}/cmake/run_build_test.py -DAUTOBUILD_ADDRSIZE=${ADDRESS_SIZE}
+ ${CMAKE_SOURCE_DIR}/cmake/run_build_test.py -DAUTOBUILD_ADDRSIZE=${ADDRESS_SIZE} -DAUTOBUILD=${AUTOBUILD_EXECUTABLE}
${PYTHON_EXECUTABLE}
${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py "${VIEWER_CHANNEL}" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}" > packages-info.txt
)
diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt
index 3a14bf522f..a17e37cd32 100644
--- a/indra/cmake/CMakeLists.txt
+++ b/indra/cmake/CMakeLists.txt
@@ -22,7 +22,6 @@ set(cmake_SOURCE_FILES
Copy3rdPartyLibs.cmake
DBusGlib.cmake
DeploySharedLibs.cmake
- DirectX.cmake
DragDrop.cmake
EXPAT.cmake
FindAPR.cmake
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 82cd5d62e8..7f84ec146a 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -7,6 +7,21 @@
include(CMakeCopyIfDifferent)
include(Linking)
+# When we copy our dependent libraries, we almost always want to copy them to
+# both the Release and the RelWithDebInfo staging directories. This has
+# resulted in duplicate (or worse, erroneous attempted duplicate)
+# copy_if_different commands. Encapsulate that usage.
+# Pass FROM_DIR, TARGETS and the files to copy. TO_DIR is implicit.
+# to_staging_dirs diverges from copy_if_different in that it appends to TARGETS.
+MACRO(to_staging_dirs from_dir targets)
+ foreach(staging_dir
+ "${SHARED_LIB_STAGING_DIR_RELEASE}"
+ "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}")
+ copy_if_different("${from_dir}" "${staging_dir}" out_targets ${ARGN})
+ list(APPEND "${targets}" "${out_targets}")
+ endforeach()
+ENDMACRO(to_staging_dirs from_dir to_dir targets)
+
###################################################################
# set up platform specific lists of files that need to be copied
###################################################################
@@ -69,95 +84,54 @@ if(WINDOWS)
#*******************************
# Copy MS C runtime dlls, required for packaging.
- # *TODO - Adapt this to support VC9
if (MSVC80)
- list(APPEND LMSVC_VER 80)
- list(APPEND LMSVC_VERDOT 8.0)
+ set(MSVC_VER 80)
elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010
MESSAGE(STATUS "MSVC_VERSION ${MSVC_VERSION}")
elseif (MSVC_VERSION EQUAL 1800) # VisualStudio 2013, which is (sigh) VS 12
- list(APPEND LMSVC_VER 120)
- list(APPEND LMSVC_VERDOT 12.0)
+ set(MSVC_VER 120)
+ elseif (MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) # Visual Studio 2017
+ set(MSVC_VER 140)
else (MSVC80)
MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake")
endif (MSVC80)
- # try to copy VS2010 redist independently of system version
- # maint-7360 CP
- # list(APPEND LMSVC_VER 100)
- # list(APPEND LMSVC_VERDOT 10.0)
-
- list(LENGTH LMSVC_VER count)
- math(EXPR count "${count}-1")
- foreach(i RANGE ${count})
- list(GET LMSVC_VER ${i} MSVC_VER)
- list(GET LMSVC_VERDOT ${i} MSVC_VERDOT)
- MESSAGE(STATUS "Copying redist libs for VC ${MSVC_VERDOT}")
- FIND_PATH(debug_msvc_redist_path NAME msvcr${MSVC_VER}d.dll
- PATHS
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${MSVC_VERDOT}\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC${MSVC_VER}.DebugCRT
- [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64
- [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32
- ${MSVC_DEBUG_REDIST_PATH}
- NO_DEFAULT_PATH
+ if(ADDRESS_SIZE EQUAL 32)
+ # this folder contains the 32bit DLLs.. (yes really!)
+ set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64")
+ else(ADDRESS_SIZE EQUAL 32)
+ # this folder contains the 64bit DLLs.. (yes really!)
+ set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32")
+ endif(ADDRESS_SIZE EQUAL 32)
+
+ # Having a string containing the system registry path is a start, but to
+ # get CMake to actually read the registry, we must engage some other
+ # operation.
+ get_filename_component(registry_path "${registry_find_path}" ABSOLUTE)
+
+ # These are candidate DLL names. Empirically, VS versions before 2015 have
+ # msvcp*.dll and msvcr*.dll. VS 2017 has msvcp*.dll and vcruntime*.dll.
+ # Check each of them.
+ foreach(release_msvc_file
+ msvcp${MSVC_VER}.dll
+ msvcr${MSVC_VER}.dll
+ vcruntime${MSVC_VER}.dll
)
-
- if(EXISTS ${debug_msvc_redist_path})
- set(debug_msvc_files
- msvcr${MSVC_VER}d.dll
- msvcp${MSVC_VER}d.dll
- )
-
- copy_if_different(
- ${debug_msvc_redist_path}
- "${SHARED_LIB_STAGING_DIR_DEBUG}"
- out_targets
- ${debug_msvc_files}
- )
- set(third_party_targets ${third_party_targets} ${out_targets})
-
- unset(debug_msvc_redist_path CACHE)
- endif()
-
- if(ADDRESS_SIZE EQUAL 32)
- # this folder contains the 32bit DLLs.. (yes really!)
- set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64")
- else(ADDRESS_SIZE EQUAL 32)
- # this folder contains the 64bit DLLs.. (yes really!)
- set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32")
- endif(ADDRESS_SIZE EQUAL 32)
-
- FIND_PATH(release_msvc_redist_path NAME msvcr${MSVC_VER}.dll
- PATHS
- ${registry_find_path}
- NO_DEFAULT_PATH
- )
-
- if(EXISTS ${release_msvc_redist_path})
- set(release_msvc_files
- msvcr${MSVC_VER}.dll
- msvcp${MSVC_VER}.dll
- )
-
- copy_if_different(
- ${release_msvc_redist_path}
- "${SHARED_LIB_STAGING_DIR_RELEASE}"
- out_targets
- ${release_msvc_files}
- )
- set(third_party_targets ${third_party_targets} ${out_targets})
-
- copy_if_different(
- ${release_msvc_redist_path}
- "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}"
- out_targets
- ${release_msvc_files}
- )
- set(third_party_targets ${third_party_targets} ${out_targets})
-
- unset(release_msvc_redist_path CACHE)
+ if(EXISTS "${registry_path}/${release_msvc_file}")
+ to_staging_dirs(
+ ${registry_path}
+ third_party_targets
+ ${release_msvc_file})
+ else()
+ # This isn't a WARNING because, as noted above, every VS version
+ # we've observed has only a subset of the specified DLL names.
+ MESSAGE(STATUS "Redist lib ${release_msvc_file} not found")
endif()
endforeach()
+ MESSAGE(STATUS "Will copy redist files for MSVC ${MSVC_VER}:")
+ foreach(target ${third_party_targets})
+ MESSAGE(STATUS "${target}")
+ endforeach()
elseif(DARWIN)
set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug/Resources")
@@ -182,6 +156,7 @@ elseif(DARWIN)
libexception_handler.dylib
${EXPAT_COPY}
libGLOD.dylib
+ libhunspell-1.3.0.dylib
libndofdev.dylib
libnghttp2.dylib
libnghttp2.14.dylib
@@ -268,52 +243,28 @@ endif(WINDOWS)
# Done building the file lists, now set up the copy commands.
################################################################
-copy_if_different(
- ${vivox_lib_dir}
- "${SHARED_LIB_STAGING_DIR_DEBUG}"
- out_targets
- ${vivox_libs}
- )
-set(third_party_targets ${third_party_targets} ${out_targets})
-
+# Curiously, slvoice_files are only copied to SHARED_LIB_STAGING_DIR_RELEASE.
+# It's unclear whether this is oversight or intentional, but anyway leave the
+# single copy_if_different command rather than using to_staging_dirs.
copy_if_different(
${slvoice_src_dir}
"${SHARED_LIB_STAGING_DIR_RELEASE}"
out_targets
${slvoice_files}
)
-copy_if_different(
- ${vivox_lib_dir}
- "${SHARED_LIB_STAGING_DIR_RELEASE}"
- out_targets
- ${vivox_libs}
- )
-
-set(third_party_targets ${third_party_targets} ${out_targets})
+list(APPEND third_party_targets ${out_targets})
-copy_if_different(
+to_staging_dirs(
${vivox_lib_dir}
- "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}"
- out_targets
+ third_party_targets
${vivox_libs}
)
-set(third_party_targets ${third_party_targets} ${out_targets})
-copy_if_different(
+to_staging_dirs(
${release_src_dir}
- "${SHARED_LIB_STAGING_DIR_RELEASE}"
- out_targets
- ${release_files}
- )
-set(third_party_targets ${third_party_targets} ${out_targets})
-
-copy_if_different(
- ${release_src_dir}
- "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}"
- out_targets
+ third_party_targets
${release_files}
)
-set(third_party_targets ${third_party_targets} ${out_targets})
if(NOT USESYSTEMLIBS)
add_custom_target(
diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake
deleted file mode 100644
index 25163d0322..0000000000
--- a/indra/cmake/DirectX.cmake
+++ /dev/null
@@ -1,48 +0,0 @@
-# -*- cmake -*-
-
-if (WINDOWS)
- find_path(DIRECTX_INCLUDE_DIR dxdiag.h
- "$ENV{DXSDK_DIR}/Include"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Include"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Include"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Include"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Include"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2008)/Include"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2008)/Include"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (November 2007)/Include"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2007)/Include"
- "C:/DX90SDK/Include"
- "$ENV{PROGRAMFILES}/DX90SDK/Include"
- )
- if (DIRECTX_INCLUDE_DIR)
- include_directories(${DIRECTX_INCLUDE_DIR})
- if (DIRECTX_FIND_QUIETLY)
- message(STATUS "Found DirectX include: ${DIRECTX_INCLUDE_DIR}")
- endif (DIRECTX_FIND_QUIETLY)
- else (DIRECTX_INCLUDE_DIR)
- message(FATAL_ERROR "Could not find DirectX SDK Include")
- endif (DIRECTX_INCLUDE_DIR)
-
-
- find_path(DIRECTX_LIBRARY_DIR dxguid.lib
- "$ENV{DXSDK_DIR}/Lib/x86"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Lib/x86"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Lib/x86"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Lib/x86"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Lib/x86"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2008)/Lib/x86"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2008)/Lib/x86"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (November 2007)/Lib/x86"
- "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2007)/Lib/x86"
- "C:/DX90SDK/Lib"
- "$ENV{PROGRAMFILES}/DX90SDK/Lib"
- )
- if (DIRECTX_LIBRARY_DIR)
- if (DIRECTX_FIND_QUIETLY)
- message(STATUS "Found DirectX include: ${DIRECTX_LIBRARY_DIR}")
- endif (DIRECTX_FIND_QUIETLY)
- else (DIRECTX_LIBRARY_DIR)
- message(FATAL_ERROR "Could not find DirectX SDK Libraries")
- endif (DIRECTX_LIBRARY_DIR)
-
-endif (WINDOWS)
diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake
index b3f42c1a5e..4932e9044f 100644
--- a/indra/cmake/LLAddBuildTest.cmake
+++ b/indra/cmake/LLAddBuildTest.cmake
@@ -53,7 +53,7 @@ INCLUDE(GoogleMock)
${GOOGLEMOCK_INCLUDE_DIRS}
)
SET(alltest_LIBRARIES
- ${BOOST_COROUTINE_LIBRARY}
+ ${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
${BOOST_SYSTEM_LIBRARY}
${GOOGLEMOCK_LIBRARIES}
@@ -200,8 +200,9 @@ FUNCTION(LL_ADD_INTEGRATION_TEST
)
SET(libraries
+ ${LEGACY_STDIO_LIBS}
${library_dependencies}
- ${BOOST_COROUTINE_LIBRARY}
+ ${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
${BOOST_SYSTEM_LIBRARY}
${GOOGLEMOCK_LIBRARIES}
diff --git a/indra/cmake/LLAppearance.cmake b/indra/cmake/LLAppearance.cmake
index ae265d07e3..675330ec72 100644
--- a/indra/cmake/LLAppearance.cmake
+++ b/indra/cmake/LLAppearance.cmake
@@ -18,7 +18,7 @@ endif (BUILD_HEADLESS)
set(LLAPPEARANCE_LIBRARIES llappearance
llmessage
llcorehttp
- ${BOOST_COROUTINE_LIBRARY}
+ ${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
${BOOST_SYSTEM_LIBRARY}
)
diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake
index 3e29297c58..8900419f9b 100644
--- a/indra/cmake/LLCommon.cmake
+++ b/indra/cmake/LLCommon.cmake
@@ -19,7 +19,7 @@ if (LINUX)
# specify all libraries that llcommon uses.
# llcommon uses `clock_gettime' which is provided by librt on linux.
set(LLCOMMON_LIBRARIES llcommon
- ${BOOST_COROUTINE_LIBRARY}
+ ${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
${BOOST_THREAD_LIBRARY}
${BOOST_SYSTEM_LIBRARY}
@@ -27,7 +27,7 @@ if (LINUX)
)
else (LINUX)
set(LLCOMMON_LIBRARIES llcommon
- ${BOOST_COROUTINE_LIBRARY}
+ ${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
${BOOST_THREAD_LIBRARY}
${BOOST_SYSTEM_LIBRARY} )
diff --git a/indra/cmake/LLCoreHttp.cmake b/indra/cmake/LLCoreHttp.cmake
index 379ae207de..613453ab5d 100644
--- a/indra/cmake/LLCoreHttp.cmake
+++ b/indra/cmake/LLCoreHttp.cmake
@@ -12,6 +12,6 @@ set(LLCOREHTTP_INCLUDE_DIRS
)
set(LLCOREHTTP_LIBRARIES llcorehttp
- ${BOOST_COROUTINE_LIBRARY}
+ ${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
${BOOST_SYSTEM_LIBRARY})
diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py
index 210e43b232..ec5d33f902 100755
--- a/indra/cmake/run_build_test.py
+++ b/indra/cmake/run_build_test.py
@@ -87,7 +87,6 @@ def main(command, arguments=[], libpath=[], vars={}):
# might not exist; instead of KeyError, just use an empty string.
dirs = os.environ.get(var, "").split(os.pathsep)
# Append the sequence in libpath
- log.info("%s += %r" % (var, libpath))
for dir in libpath:
# append system paths at the end
if dir in ('/lib', '/usr/lib'):
@@ -105,16 +104,21 @@ def main(command, arguments=[], libpath=[], vars={}):
# Now rebuild the path string. This way we use a minimum of separators
# -- and we avoid adding a pointless separator when libpath is empty.
os.environ[var] = os.pathsep.join(clean_dirs)
- log.info("%s = %r" % (var, os.environ[var]))
+ # This output format is intended to make it straightforward to copy
+ # the variable settings and the command itself from the build output
+ # and paste the whole thing at a command prompt to rerun it manually.
+ log.info("%s='%s' \\" % (var, os.environ[var]))
# Now handle arbitrary environment variables. The tricky part is ensuring
# that all the keys and values we try to pass are actually strings.
if vars:
- log.info("Setting: %s" % ("\n".join(["%s=%s" % (key, value) for key, value in vars.iteritems()])))
+ for key, value in vars.items():
+ # As noted a few lines above, facilitate copy-paste rerunning.
+ log.info("%s='%s' \\" % (key, value))
os.environ.update(dict([(str(key), str(value)) for key, value in vars.iteritems()]))
# Run the child process.
command_list = [command]
command_list.extend(arguments)
- log.info("Running: %s" % " ".join(command_list))
+ log.info(" ".join((("'%s'" % w) if ' ' in w else w) for w in command_list))
# Make sure we see all relevant output *before* child-process output.
sys.stdout.flush()
try:
@@ -305,8 +309,11 @@ def get_windows_table():
return _windows_table
-log=logging.getLogger(__name__)
-logging.basicConfig()
+# Use this instead of logging.basicConfig() because the latter prefixes
+# every line of output with INFO:__main__:...
+log=logging.getLogger()
+log.setLevel(logging.INFO)
+log.addHandler(logging.StreamHandler())
if __name__ == "__main__":
import argparse