mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-01 10:29:07 +08:00
7a7ef70514
Drop the complex and undermaintained build system vendored into the port. Use msbuild for windows, and autotools otherwise. Note: Users who change options via triplet files (`VCPKG_CMAKE_CONFIGURE_OPTIONS`) must/can migrate to the official options (via `VCPKG_CONFIGURE_MAKE_OPTIONS`; no equivalent for msbuild?). Should resolve #32888 according to my earlier ["the build also succeeds with the official autoconf build system."](https://github.com/microsoft/vcpkg/issues/32888#issuecomment-1662730210) Should resolve #36777.
71 lines
2.7 KiB
CMake
71 lines
2.7 KiB
CMake
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO jedisct1/libsodium
|
|
REF ${VERSION}
|
|
SHA512 6094d7bf191ea3be85f2ddab76b71f1b9c69c786493db5b84d3c5d5a0237003377ddf6a8687a962ea651fe4a9369cf5ee1676ba0bae82690f5f7ef31a698efa9
|
|
HEAD_REF master
|
|
)
|
|
|
|
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
|
set(lib_linkage "LIB")
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
|
set(lib_linkage "DLL")
|
|
endif()
|
|
|
|
set(LIBSODIUM_PROJECT_SUBPATH "builds/msvc/vs2022/libsodium/libsodium.vcxproj" CACHE STRING "Triplet variable")
|
|
|
|
vcpkg_msbuild_install(
|
|
SOURCE_PATH "${SOURCE_PATH}"
|
|
PROJECT_SUBPATH "${LIBSODIUM_PROJECT_SUBPATH}"
|
|
RELEASE_CONFIGURATION "Release${lib_linkage}"
|
|
DEBUG_CONFIGURATION "Debug${lib_linkage}"
|
|
)
|
|
|
|
file(INSTALL "${SOURCE_PATH}/src/libsodium/include/sodium.h" "${SOURCE_PATH}/src/libsodium/include/sodium" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
|
|
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/libsodium/include/sodium/version.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/sodium")
|
|
file(REMOVE "${CURRENT_PACKAGES_DIR}/include/Makefile.am" "${CURRENT_PACKAGES_DIR}/include/sodium/version.h.in")
|
|
|
|
block(SCOPE_FOR VARIABLES)
|
|
set(PACKAGE_NAME "libsodium")
|
|
set(PACKAGE_VERSION "${VERSION}")
|
|
set(prefix [[unused]])
|
|
set(exec_prefix [[${prefix}]])
|
|
set(includedir [[${prefix}/include]])
|
|
set(libdir [[${prefix}/lib]])
|
|
set(PKGCONFIG_LIBS_PRIVATE "")
|
|
configure_file("${SOURCE_PATH}/libsodium.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libsodium.pc" @ONLY)
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libsodium.pc" " -lsodium" " -llibsodium")
|
|
if(NOT VCPKG_BUILD_TYPE)
|
|
set(includedir [[${prefix}/../include]])
|
|
configure_file("${SOURCE_PATH}/libsodium.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libsodium.pc" @ONLY)
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libsodium.pc" " -lsodium" " -llibsodium")
|
|
endif()
|
|
endblock()
|
|
else()
|
|
vcpkg_configure_make(
|
|
AUTOCONFIG
|
|
SOURCE_PATH "${SOURCE_PATH}"
|
|
)
|
|
vcpkg_install_make()
|
|
|
|
file(REMOVE_RECURSE
|
|
"${CURRENT_PACKAGES_DIR}/debug/include"
|
|
"${CURRENT_PACKAGES_DIR}/debug/share"
|
|
)
|
|
endif()
|
|
|
|
vcpkg_fixup_pkgconfig()
|
|
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sodium/export.h" "#ifdef SODIUM_STATIC" "#if 1")
|
|
endif()
|
|
|
|
# vcpkg legacy
|
|
configure_file(
|
|
"${CMAKE_CURRENT_LIST_DIR}/sodiumConfig.cmake.in"
|
|
"${CURRENT_PACKAGES_DIR}/share/unofficial-sodium/unofficial-sodiumConfig.cmake"
|
|
@ONLY
|
|
)
|
|
|
|
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|