From: Kefu Chai Date: Wed, 6 Jun 2018 02:27:38 +0000 (+0800) Subject: cmake: find liboath using the correct name X-Git-Tag: v14.0.1~1160^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ca78ab2254d10ba9da7b0d760ed2b1cd6577c0bb;p=ceph.git cmake: find liboath using the correct name we should reference liboath by the $name in Find${name}.cmake, also the $name should be consistent when calling find_package_handle_standard_args(). in this change * rename Findliboath.cmake to FindOATH.cmake to be consistent with other find_package() moduless. * use "OATH" in find_package_handle_standard_args() instead of "oath" * set the interface properties for OATH::OATH, so the target linking against it can reference its header directories and libraries automatically. * remove the stale comment for find_package_handle_standard_args() * set OATH_INCLUDE_DIRS and OATH_LIBRARIES to follow the convention of find_package(), even they are not used directly in this project. Reported-by: Erwan Velu Signed-off-by: Kefu Chai --- diff --git a/CMakeLists.txt b/CMakeLists.txt index d557536c205..3ad7cb4ead1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -393,7 +393,7 @@ if(WITH_RADOSGW) message(WARNING "disabling WITH_RADOSGW_BEAST_FRONTEND, which depends on WITH_BOOST_CONTEXT") set(WITH_RADOSGW_BEAST_FRONTEND OFF) endif() - find_package(liboath REQUIRED) + find_package(OATH REQUIRED) # https://curl.haxx.se/docs/install.html mentions the # configure flags for various ssl backends diff --git a/cmake/modules/FindOATH.cmake b/cmake/modules/FindOATH.cmake new file mode 100644 index 00000000000..3ffca40f203 --- /dev/null +++ b/cmake/modules/FindOATH.cmake @@ -0,0 +1,32 @@ +# CMake module to search for liboath headers +# +# If it's found it sets OATH_FOUND to TRUE +# and following variables are set: +# OATH_INCLUDE_DIRS +# OATH_LIBRARIES +find_path(OATH_INCLUDE_DIR + oath.h + PATHS + /usr/include + /usr/local/include + /usr/include/liboath) +find_library(OATH_LIBRARY NAMES oath liboath PATHS + /usr/local/lib + /usr/lib) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(OATH DEFAULT_MSG OATH_LIBRARY OATH_INCLUDE_DIR) + +mark_as_advanced(OATH_LIBRARY OATH_INCLUDE_DIR) + +if(OATH_FOUND) + set(OATH_INCLUDE_DIRS "${OATH_INCLUDE_DIR}") + set(OATH_LIBRARIES "${OATH_LIBRARY}") + if(NOT TARGET OATH::OATH) + add_library(OATH::OATH UNKNOWN IMPORTED) + endif() + set_target_properties(OATH::OATH PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${OATH_INCLUDE_DIRS}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${OATH_LIBRARIES}") +endif() diff --git a/cmake/modules/Findliboath.cmake b/cmake/modules/Findliboath.cmake deleted file mode 100644 index ae5446a8ee9..00000000000 --- a/cmake/modules/Findliboath.cmake +++ /dev/null @@ -1,22 +0,0 @@ -# CMake module to search for liboath headers -# -# If it's found it sets LIBOATH_FOUND to TRUE -# and following variables are set: -# LIBOATH_INCLUDE_DIR -# LIBOATH_LIBRARY -find_path(LIBOATH_INCLUDE_DIR - oath.h - PATHS - /usr/include - /usr/local/include - /usr/include/liboath) -find_library(LIBOATH_LIBRARY NAMES oath liboath PATHS - /usr/local/lib - /usr/lib) - -# handle the QUIETLY and REQUIRED arguments and set UUID_FOUND to TRUE if -# all listed variables are TRUE -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(oath DEFAULT_MSG LIBOATH_LIBRARY LIBOATH_INCLUDE_DIR) - -mark_as_advanced(LIBOATH_LIBRARY LIBOATH_INCLUDE_DIR) diff --git a/src/cls/CMakeLists.txt b/src/cls/CMakeLists.txt index f23856cb855..937dc3927f6 100644 --- a/src/cls/CMakeLists.txt +++ b/src/cls/CMakeLists.txt @@ -72,7 +72,7 @@ add_library(cls_lock_client STATIC ${cls_lock_client_srcs}) # cls_otp set(cls_otp_srcs otp/cls_otp.cc) add_library(cls_otp SHARED ${cls_otp_srcs}) -target_link_libraries(cls_otp oath) +target_link_libraries(cls_otp OATH::OATH) set_target_properties(cls_otp PROPERTIES VERSION "1.0.0" SOVERSION "1" diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 56a31c6a45c..d982d2700e9 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -167,7 +167,7 @@ target_link_libraries(rgw_a librados cls_otp_client cls_lock_client cls_rgw_clie ${CURL_LIBRARIES} ${EXPAT_LIBRARIES} ${OPENLDAP_LIBRARIES} ${CRYPTO_LIBS} - oath) + OATH::OATH) if (WITH_RADOSGW_BEAST_FRONTEND) target_compile_definitions(rgw_a PUBLIC BOOST_COROUTINES_NO_DEPRECATION_WARNING)