early-access version 2853
This commit is contained in:
58
externals/vcpkg/ports/gmime/CMakeLists.txt
vendored
Executable file
58
externals/vcpkg/ports/gmime/CMakeLists.txt
vendored
Executable file
@@ -0,0 +1,58 @@
|
||||
cmake_minimum_required(VERSION 3.8)
|
||||
|
||||
project(gmime C)
|
||||
|
||||
set(GMIME_DLL_SUFFIX 3)
|
||||
set(GMIME_LIB_SUFFIX 3.0)
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
|
||||
find_package(Iconv REQUIRED)
|
||||
|
||||
find_library(IDN_LIBRARY NAMES libidn2)
|
||||
|
||||
if(MSVC)
|
||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
||||
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
endif()
|
||||
|
||||
add_definitions(-DHAVE_CONFIG_H)
|
||||
add_definitions(-DG_DISABLE_DEPRECATED)
|
||||
add_definitions(-DG_LOG_DOMAIN="GMime")
|
||||
|
||||
# Source files
|
||||
file(GLOB LIB_SRC gmime/gmime-*.c)
|
||||
list(APPEND LIB_SRC gmime/gmime.c
|
||||
gmime/internet-address.c
|
||||
util/packed.c
|
||||
util/url-scanner.c
|
||||
util/gtrie.c)
|
||||
|
||||
# Headers
|
||||
file(GLOB LIB_HEADERS gmime/gmime-*.h)
|
||||
list(APPEND LIB_HEADERS gmime/gmime.h)
|
||||
list(APPEND LIB_HEADERS gmime/internet-address.h)
|
||||
|
||||
if(MSVC AND BUILD_SHARED_LIBS)
|
||||
set(MSVC_SRC gmime.def)
|
||||
endif()
|
||||
|
||||
add_library(${PROJECT_NAME} ${LIB_SRC} ${MSVC_SRC})
|
||||
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
OUTPUT_NAME ${PROJECT_NAME}-${GMIME_DLL_SUFFIX}
|
||||
ARCHIVE_OUTPUT_NAME ${PROJECT_NAME}-${GMIME_LIB_SUFFIX}
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE . ./util)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv ZLIB::ZLIB ${IDN_LIBRARY})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::GLIB2)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE Ws2_32.lib)
|
||||
|
||||
install(TARGETS ${PROJECT_NAME}
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib)
|
||||
|
||||
install(FILES ${LIB_HEADERS} DESTINATION include/gmime)
|
||||
39
externals/vcpkg/ports/gmime/portfile.cmake
vendored
Executable file
39
externals/vcpkg/ports/gmime/portfile.cmake
vendored
Executable file
@@ -0,0 +1,39 @@
|
||||
set(LIB_NAME gmime)
|
||||
set(LIB_VERSION 3.2.6)
|
||||
|
||||
set(LIB_FILENAME ${LIB_NAME}-${LIB_VERSION}.tar.xz)
|
||||
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "https://download.gnome.org/sources/gmime/3.2/${LIB_FILENAME}"
|
||||
FILENAME "${LIB_FILENAME}"
|
||||
SHA512 a60d3f9f1aa8490865c22cd9539544e9c9f3ceb4037b9749cf9e5c279f97aa88fc4cd077bf2aff314ba0db2a1b7bbe76f9b1ca5a17fffcbd6315ecebc5414a3d
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE ${ARCHIVE}
|
||||
REF ${LIB_VERSION}
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
||||
# We can use file supplied with original sources
|
||||
configure_file(${SOURCE_PATH}/build/vs2017/unistd.h ${SOURCE_PATH} COPYONLY)
|
||||
configure_file(${SOURCE_PATH}/build/vs2017/config.h ${SOURCE_PATH} COPYONLY)
|
||||
configure_file(${SOURCE_PATH}/build/vs2017/gmime.def ${SOURCE_PATH} COPYONLY)
|
||||
vcpkg_find_acquire_program(PKGCONFIG)
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
# License and man
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${LIB_NAME} RENAME copyright)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
14
externals/vcpkg/ports/gmime/vcpkg.json
vendored
Executable file
14
externals/vcpkg/ports/gmime/vcpkg.json
vendored
Executable file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "gmime",
|
||||
"version": "3.2.6",
|
||||
"port-version": 2,
|
||||
"description": "GMime is a C/C++ library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME).",
|
||||
"homepage": "https://developer.gnome.org/gmime/",
|
||||
"supports": "windows",
|
||||
"dependencies": [
|
||||
"glib",
|
||||
"libiconv",
|
||||
"libidn2",
|
||||
"zlib"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user