summaryrefslogtreecommitdiff
path: root/indra/cmake/Boost.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'indra/cmake/Boost.cmake')
-rw-r--r--indra/cmake/Boost.cmake157
1 files changed, 121 insertions, 36 deletions
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake
index 5a9e10b38b..21506c6244 100644
--- a/indra/cmake/Boost.cmake
+++ b/indra/cmake/Boost.cmake
@@ -6,22 +6,25 @@ include_guard()
add_library( ll::boost INTERFACE IMPORTED )
if (DARWIN)
- target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/libexec/boost/1.87/include)
- target_link_directories( ll::boost INTERFACE /opt/local/libexec/boost/1.87/lib)
+ target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/libexec/boost/1.88/include)
+ target_link_directories( ll::boost INTERFACE /opt/local/libexec/boost/1.88/lib)
set(sfx -mt)
elseif (WINDOWS)
target_include_directories( ll::boost SYSTEM INTERFACE ${prefix_result}/../include)
target_link_directories( ll::boost INTERFACE ${prefix_result})
- set(sfx -vc143-mt-x64-1_88)
+ if ($ENV{MSYSTEM_CARCH} MATCHES aarch64)
+ set(sfx -vc143-mt-a64-1_89)
+ else ()
+ set(sfx -vc143-mt-x64-1_89)
+ endif ()
else ()
- find_package( Boost REQUIRED )
+ find_package( Boost )
endif ()
target_link_libraries( ll::boost INTERFACE
boost_context${sfx}
boost_fiber${sfx}
boost_filesystem${sfx}
boost_program_options${sfx}
- boost_system${sfx}
boost_thread${sfx}
boost_url${sfx}
)
@@ -30,6 +33,9 @@ if (WINDOWS)
else ()
target_link_libraries( ll::boost INTERFACE boost_regex${sfx})
endif ()
+if (NOT (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR WINDOWS OR CMAKE_SYSTEM_NAME MATCHES FreeBSD))
+ target_link_libraries( ll::boost INTERFACE boost_system${sfx})
+endif ()
target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS )
return()
@@ -46,39 +52,118 @@ use_prebuilt_binary(boost)
set(addrsfx "-x${ADDRESS_SIZE}")
if (WINDOWS)
- target_link_libraries( ll::boost INTERFACE
- libboost_context-mt${addrsfx}
- libboost_fiber-mt${addrsfx}
- libboost_filesystem-mt${addrsfx}
- libboost_program_options-mt${addrsfx}
- libboost_regex-mt${addrsfx}
- libboost_system-mt${addrsfx}
- libboost_thread-mt${addrsfx}
- libboost_url-mt${addrsfx})
-elseif (LINUX)
- target_link_libraries( ll::boost INTERFACE
- boost_fiber-mt${addrsfx}
- boost_context-mt${addrsfx}
- boost_filesystem-mt${addrsfx}
- boost_program_options-mt${addrsfx}
- boost_regex-mt${addrsfx}
- boost_system-mt${addrsfx}
- boost_thread-mt${addrsfx}
- boost_url-mt${addrsfx})
-elseif (DARWIN)
- target_link_libraries( ll::boost INTERFACE
- boost_context-mt${addrsfx}
- boost_fiber-mt${addrsfx}
- boost_filesystem-mt${addrsfx}
- boost_program_options-mt${addrsfx}
- boost_regex-mt${addrsfx}
- boost_system-mt${addrsfx}
- boost_thread-mt${addrsfx}
- boost_url-mt${addrsfx})
+
+ find_library(BOOST_CONTEXT_LIBRARY
+ NAMES
+ libboost_context-mt
+ libboost_context-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_FIBER_LIBRARY
+ NAMES
+ libboost_fiber-mt
+ libboost_fiber-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_FILESYSTEM_LIBRARY
+ NAMES
+ libboost_filesystem-mt
+ libboost_filesystem-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_PROGRAMOPTIONS_LIBRARY
+ NAMES
+ libboost_program_options-mt
+ libboost_program_options-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_REGEX_LIBRARY
+ NAMES
+ libboost_regex-mt
+ libboost_regex-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_SYSTEM_LIBRARY
+ NAMES
+ libboost_system-mt
+ libboost_system-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_THREAD_LIBRARY
+ NAMES
+ libboost_thread-mt
+ libboost_thread-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_URL_LIBRARY
+ NAMES
+ libboost_url-mt
+ libboost_url-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+else (WINDOWS)
+
+ find_library(BOOST_CONTEXT_LIBRARY
+ NAMES
+ boost_context-mt
+ boost_context-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_FIBER_LIBRARY
+ NAMES
+ boost_fiber-mt
+ boost_fiber-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_FILESYSTEM_LIBRARY
+ NAMES
+ boost_filesystem-mt
+ boost_filesystem-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_PROGRAMOPTIONS_LIBRARY
+ NAMES
+ boost_program_options-mt
+ boost_program_options-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_REGEX_LIBRARY
+ NAMES
+ boost_regex-mt
+ boost_regex-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_SYSTEM_LIBRARY
+ NAMES
+ boost_system-mt
+ boost_system-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_THREAD_LIBRARY
+ NAMES
+ boost_thread-mt
+ boost_thread-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+ find_library(BOOST_URL_LIBRARY
+ NAMES
+ boost_url-mt
+ boost_url-mt${addrsfx}
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
endif (WINDOWS)
+target_link_libraries(ll::boost INTERFACE
+ ${BOOST_FIBER_LIBRARY}
+ ${BOOST_CONTEXT_LIBRARY}
+ ${BOOST_FILESYSTEM_LIBRARY}
+ ${BOOST_PROGRAMOPTIONS_LIBRARY}
+ ${BOOST_REGEX_LIBRARY}
+ ${BOOST_SYSTEM_LIBRARY}
+ ${BOOST_THREAD_LIBRARY}
+ ${BOOST_URL_LIBRARY})
+
if (LINUX)
- set(BOOST_SYSTEM_LIBRARY ${BOOST_SYSTEM_LIBRARY} rt)
- set(BOOST_THREAD_LIBRARY ${BOOST_THREAD_LIBRARY} rt)
+ target_link_libraries(ll::boost INTERFACE rt)
endif (LINUX)