diff --git a/CMakeLists.txt b/CMakeLists.txt index 97cd2e8de..25d778efa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -566,9 +566,8 @@ if(ENABLE_UTP) -DLIBUTP_SHARED:BOOL=OFF) endif() -tr_add_external_auto_library_legacy(B64 libb64 b64 +tr_add_external_auto_library(B64 libb64 SUBPROJECT - TARGET libb64::libb64 CMAKE_ARGS -DLIBB64_SHARED:BOOL=OFF) diff --git a/cmake/FindB64.cmake b/cmake/FindB64.cmake deleted file mode 100644 index e015e7694..000000000 --- a/cmake/FindB64.cmake +++ /dev/null @@ -1,39 +0,0 @@ -if(B64_PREFER_STATIC_LIB) - set(B64_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) - if(WIN32) - set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) - else() - set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) - endif() -endif() - -if(UNIX) - find_package(PkgConfig QUIET) - pkg_check_modules(_B64 QUIET libb64) -endif() - -find_path(B64_INCLUDE_DIR - NAMES - b64/cdecode.h - b64/cencode.h - HINTS ${_B64_INCLUDEDIR}) -find_library(B64_LIBRARY - NAMES b64 - HINTS ${_B64_LIBDIR}) - -set(B64_INCLUDE_DIRS ${B64_INCLUDE_DIR}) -set(B64_LIBRARIES ${B64_LIBRARY}) - -include(FindPackageHandleStandardArgs) - -find_package_handle_standard_args(B64 - REQUIRED_VARS - B64_LIBRARY - B64_INCLUDE_DIR) - -mark_as_advanced(B64_INCLUDE_DIR B64_LIBRARY) - -if(B64_PREFER_STATIC_LIB) - set(CMAKE_FIND_LIBRARY_SUFFIXES ${B64_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) - unset(B64_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) -endif() diff --git a/cmake/Findlibb64.cmake b/cmake/Findlibb64.cmake new file mode 100644 index 000000000..1c2a267c9 --- /dev/null +++ b/cmake/Findlibb64.cmake @@ -0,0 +1,51 @@ +if(${CMAKE_FIND_PACKAGE_NAME}_PREFER_STATIC_LIB) + set(${CMAKE_FIND_PACKAGE_NAME}_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + if(WIN32) + set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) + else() + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif() +endif() + +if(UNIX) + find_package(PkgConfig QUIET) + pkg_check_modules(_B64 QUIET libb64) +endif() + +find_path(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR + NAMES + b64/cdecode.h + b64/cencode.h + HINTS ${_B64_INCLUDEDIR}) +find_library(${CMAKE_FIND_PACKAGE_NAME}_LIBRARY + NAMES b64 + HINTS ${_B64_LIBDIR}) + +include(FindPackageHandleStandardArgs) + +find_package_handle_standard_args(${CMAKE_FIND_PACKAGE_NAME} + REQUIRED_VARS + ${CMAKE_FIND_PACKAGE_NAME}_LIBRARY + ${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR) + +if(${CMAKE_FIND_PACKAGE_NAME}_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIRS ${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR}) + set(${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES ${${CMAKE_FIND_PACKAGE_NAME}_LIBRARY}) + + if(NOT TARGET libb64::libb64) + add_library(libb64::libb64 INTERFACE IMPORTED) + target_include_directories(libb64::libb64 + INTERFACE + ${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR}) + target_link_libraries(libb64::libb64 + INTERFACE + ${${CMAKE_FIND_PACKAGE_NAME}_LIBRARY}) + endif() +endif() + +mark_as_advanced(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR ${CMAKE_FIND_PACKAGE_NAME}_LIBRARY) + +if(${CMAKE_FIND_PACKAGE_NAME}_PREFER_STATIC_LIB) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${${CMAKE_FIND_PACKAGE_NAME}_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) + unset(${CMAKE_FIND_PACKAGE_NAME}_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) +endif()