--- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.18 FATAL_ERROR) project(gloo CXX C) +include(GNUInstallDirs) +include(CTest) + set(GLOO_VERSION_MAJOR 0) set(GLOO_VERSION_MINOR 5) set(GLOO_VERSION_PATCH 0) --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -81,7 +81,7 @@ if(USE_LIBUV) pkg_search_module(libuv REQUIRED libuv>=1.26) find_file( libuv_LIBRARY - NAMES libuv.a libuv_a.a + NAMES libuv.so PATHS ${libuv_LIBDIR} NO_DEFAULT_PATH) if(NOT EXISTS ${libuv_LIBRARY}) @@ -90,10 +90,7 @@ if(USE_LIBUV) endif() add_library(uv_a INTERFACE IMPORTED) - set_target_properties(uv_a PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES ${libuv_INCLUDE_DIRS} - INTERFACE_LINK_LIBRARIES ${libuv_LIBRARY} - ) + list(APPEND gloo_DEPENDENCY_LIBS -luv) endif() endif() --- a/gloo/CMakeLists.txt +++ b/gloo/CMakeLists.txt @@ -191,14 +191,14 @@ endif() # want to statically link with Gloo and not install any artifacts. if(GLOO_INSTALL) install(TARGETS gloo EXPORT GlooTargets - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + DESTINATION ${CMAKE_INSTALL_LIBDIR}) if(USE_CUDA) install(TARGETS gloo_cuda EXPORT GlooTargets - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() if(USE_ROCM) install(TARGETS gloo_hip EXPORT GlooTargets - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() install(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/gloo) @@ -215,11 +215,7 @@ if(GLOO_INSTALL) endforeach() endif() if(USE_ROCM) - foreach(HEADER ${GLOO_HIP_HDRS}) - string(REGEX MATCH "(.*)[/\\]" DIR ${HEADER}) - string(REGEX REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "gloo" DIR ${DIR}) - install(FILES ${HEADER} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${DIR}) - endforeach() + install(FILES ${GLOO_HIP_HDRS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/gloo) endif() endif() --- a/gloo/common/linux.cc +++ b/gloo/common/linux.cc @@ -198,7 +198,7 @@ static int getInterfaceSpeedGLinkSettings(int sock, struct ifreq* ifr) { } ecmd; int rv; - ifr->ifr_data = (__caddr_t)&ecmd; + ifr->ifr_data = (char *)&ecmd; memset(&ecmd, 0, sizeof(ecmd)); ecmd.req.cmd = ETHTOOL_GLINKSETTINGS; @@ -226,7 +226,7 @@ static int getInterfaceSpeedGSet(int sock, struct ifreq* ifr) { struct ethtool_cmd edata; int rv; - ifr->ifr_data = (__caddr_t)&edata; + ifr->ifr_data = (char *)&edata; memset(&edata, 0, sizeof(edata)); edata.cmd = ETHTOOL_GSET; --- a/gloo/transport/tcp/tls/pair.cc +++ b/gloo/transport/tcp/tls/pair.cc @@ -17,6 +17,7 @@ #include #include +#include namespace gloo { namespace transport { --- a/cmake/Hip.cmake +++ b/cmake/Hip.cmake @@ -13,7 +13,7 @@ ELSE() ENDIF() # Add HIP to the CMAKE Module Path -set(CMAKE_MODULE_PATH ${ROCM_PATH}/lib/cmake/hip ${CMAKE_MODULE_PATH}) +set(CMAKE_MODULE_PATH ${ROCM_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake/hip ${CMAKE_MODULE_PATH}) # Disable Asserts In Code (Can't use asserts on HIP stack.) ADD_DEFINITIONS(-DNDEBUG)