vcpkg/ports/gmime/CMakeLists.txt

59 lines
1.6 KiB
CMake
Raw Normal View History

2017-10-19 20:19:29 +08:00
cmake_minimum_required(VERSION 3.8)
project(gmime C)
set(GMIME_DLL_SUFFIX 3)
set(GMIME_LIB_SUFFIX 3.0)
[glib up to gtk] update and make it work with meson (#13100) * update glib to meson * update ci baseline * update glib to 2.66.3 remove cmakelists * fix some minor meson issue but meson is still a mess * add_bin_to_path to vcpkg_install_meson * regen docs * try fixing/touching all glib dependent ports * fix libsigcpp-3 version * fix glibmm * fix gmime * fix libcroco * update libnice * fix atk build * update harfbuzz * fix few builds * update libxmlpp * fix gdk-pixbuf * fix gts * gts add patch * remove old libsigcpp * add missing comma * fix supports logic * fix name mismatch * restore original ci baseline. * fix a lot of small details. increment controls. * fix harfbuzz & glib * bump port version * update port_versions * fix version field * update versions * fix glib in harfbuzz * update port versions * silly uppercase type * update port-versions * fix cairo build * update version * fix atk * update atk port-verisons * fix gts public includes * update versions * fix cairomm * fix pango * fix ignition * update versions. * fix gtk * fix librsvg * update versions * fix atk linux * fix libgpod * update versions * fix lcm * fix librsvg * update pango and pangomm * update pango to meson * more updates * update pixman * fix cairo * fix cairo * some fixes * reorder meson a bit * add none.txt for meson * fix x86_x64 to x86 "cross" builds * add tiff pkgconfig * update gdk-pixbuf * fix tiff and jpeg * add graphene * fix gdk-pixbuf * add sassc * update gtk * fix cairo complete build * add harfbuzz inlcude in pango since meson does not add it into pkgconfig. * fix gtk build. Remaining issue fix install script. * fix gtk build * fix io2d * add supports field * fix cartographer? * fix librsvg build * fix gtk build * fix cartographer * fix sassc on linux * fix tiff and libjpeg pc files * fix pixman x86 * _isnanf is undefined on arm- * merge fix for make on arm64 * fix gdk-pixbuf on arm64-windows * pixman remove test/demos. should fix it on osx. * [vcpkg_install_meson] add bin to path to run code generators * [vcpkg_configure_meson] deactivate native compiler in cross builds make x86 on x86_x64 a native instead of a cross build (as long as we are not building for UWP) * pixman reenable UWP support. * pixman reenable arm support * add pixman:arm-uwp=fail to baseline * update gtkmm * remove double whitespaces * gtk baseline gtk dependency on cairo x11 remove double spaces in flags * fix linux build * native none again * cairo fix cairo-script.pc * comment out patch since the cairo changes should have fixed it. * disable wayland backend in GTK since CI is missing system packages * silly typo in cairo pc file correction install lzo pc on windows * remove double spaces in _FLAGS remove unnecessary comments * actually disabling wayland backend * fix glib codegen issue having the wrong path * try to fix paths in glib codegen * integrate changes form #12860 * add the uwp patch back in * deactivate extra harfbuzz shapers. * vcpkg x-add-version --all --overwrite-version * remove patches in tesseract. * fix version * rerun add-version * add libgpod:x64-linux=fail to baseline due to missing system tools/libraries * change regex to take double - into account. * run x-add-version * run format-manifest * add missing removal of multiple spaces back into the regex * remove ws diff change * fix gtkmm the upstream way * remove ws to reduce diff * make glib build on osx * format manifest * run x-add-version * add pthread dependency * update baseline due to glib compiling on osx now. * add meson as a dep to glib * - add glib host dependencies - switch to manifest of touched ports * switch to manifest. * [libxml2] add gnuinstalldirs * [libxml2] add missing include of GNUInstallDirs * add version info * add include dir to pc files .... * update version * add UWP as crosscompiling target * Apply suggestions from code review * trying to fix cairo pthread detection on osx. * fix libmicrohttpd by adding the required system frameworks on osx * fix poppler by not removing the CXX standard * fix missing coretext header from harfbuzz in pano * fix formating issues * fix librsvg on osx * revert version changes * bump version * version stuff. * fix graphene version stuff * fix version stuff * removing ports from ci baseline to cause me pain * move cairomm:x64-linux=fail to gtkmm:x64-linx=fail remove pangomm:x64-osx=fail * fix typo * revert ws changes to vcpkg_install_meson * update port version after merge * version stuff * fix fluidsynth by adding vcpkg_check_features * move cairo to ci baseline on osx * version stuff * fluidsynth corrections * more version stuff * apply code review changes * clean version stuff. * update version stuff * code review cleanup * version stuff * formating * update version stuff again * remove gdi again * version stuff * version stuff * version baseline * Apply strega-nil suggestions from code review * run x-add-version * reset versions to upstream/master * v8 CONTROL -> json * reset fluidsynth to upstream/master * first batch of version-string -> version conversion * second and last batch of version-string -> version conversions * update version stuff * disable gdi feature in harfbuzz (missing user32 linkage in qt5-base) * version stuff * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * more CR stuff * update versions * back out provision changes so that pr can be merged. Co-authored-by: nicole mazzuca <mazzucan@outlook.com> Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
2021-04-27 01:28:21 +08:00
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)
[intl/gettext/fontconfig] update to native build system (#11776) * [fontconfig] update fontconfig * [libiconv] update to make * [gettext] update to make * [vcpkg_configure_make] Changes considering pure configure ports without the requirement to run autoconfig * [fontconfig] make it work on windows * Remove install of unofficial cmake config * add function get_cmake_vars * fine tuning. * apply to make based ports. * add log suffix on not windows platforms * fix c&p error * add previous LINK env * setup env on windows and extract cpp flags correctly. * update glib and libxml2 * fix windows regressions * Apply suggestions from code review * add windres wrapper to invoke RC. * remove wrong fi * fix libintl. * try fixing uwp * other things to update * exiv2 fix * libtool does not like -RTC1 * pass the /RTC<x> flag directly to the compiler * trust cmake instead of adding extra flags * fix expat * fix iconv wrapper install * change fontconfig intl linkage. * add appcontainer back in which is required for UWP. Why is this not in the cmake flags? * fix pkg-config in vcpkg_configure_make * fix json-c pkg-config installation * remove remnoved config * comment out debug messages + bit of tuning * finally fontconfig * comment debug messages * expat apply extra patches. * Switch back to -E instead of -EP in cpp * commit changes from fontconfig PR * [expat] fix expat details * Apply suggestions from code review Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * cleanup docs * update osx pipeline so that fontconfig actually builds * fix expat the lazy way by using a higher commit than release * fix a barage of regressions due to the use of unofficial targets * [expat] use a higher commit hash with a better stabilized cmake build * forgot freexl regression * more unofficial fixes * fix downstream expat usage * fix wxwidgets * fix gcdm regression * [vtk] fix the regression due to expat * add uwp cl flags back in. Somehow those are not set by cmake * add a few other configure options for full gettext build * fix cmake regression * fix a few regressions * fix static gettext build * fix gettext static * fix libxml2 wrapper for cmake * some more regressions fixes * add conversion from somelib.lib to -lsomelib * add a few option to libiconv. * get logs from CI * add missing ar-lib wrapper * add missing ar-lib wrapper * add fatal error to gettext * remove uuid from the list of LIBS since it seems to not exist in CI? * small but important regex correction * fix regex and add debug message for libs * remove error and only build libintl. * add uuid dependency to fontconfig in qt5-base * osx install gettext for autopoint * fix io2d regression by saying the port is broken ..... (which it is; upstream needs to learn proper cmake) * restore the old libxml2 wrapper with minor modifications * fix xmlsec regression * install wrapper correctly * try actual fixing io2d * improve iconv wrapper * add latest changes from update_fontconfig PR * Apply suggestions from code review first set which don't need special attention Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * Apply suggestions from code review one more simple change Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * [x264] set env AS * fix bugs due to refactor * use subpath everywhere * apply changes from CR * fix fontconfig build. * only change libs in static builds * remove unnecessary lines 41 & 44 * remove flag transformation * reintroduce the flag / to - transformation for MSVC * trying to figure out autopoint issue. using wrong (windows) find.exe instead of msys * add correct working_dir to subpath * escape stupid env paths. * fix typo * add findutils remove debug messages * add error if libtool chokes * add file to msys * pass lt_cv_deplibs_check_method=pass_all on windows (couldn't get file.exe to work so that libtool correctly ids the passed libs) * add bzip2 to msys * reenable libtool check. Lets see if CI agrees * unbreak linux try to figure out where uuid should be on windows. * add -L flag and help libtool ? * try to get ci to find uuid. * try to use cygpath * update controls * cleanup merge mistakes * correct merge issues * determine cmake vars if not done before. * move adding of -l earlier * more merge cleanup * fix uwp builds by not transforming libs * fix patches in io2d * fix xz download error * apply code review changes manually * fix the typos left behind in CR Co-authored-by: nicole mazzuca <mazzucan@outlook.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com> Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
2020-11-18 01:18:59 +08:00
find_package(Iconv REQUIRED)
find_library(IDN_LIBRARY NAMES libidn2)
2017-10-19 20:19:29 +08:00
if(MSVC)
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
endif()
add_definitions(-DHAVE_CONFIG_H)
2020-02-29 14:30:06 +08:00
add_definitions(-DG_DISABLE_DEPRECATED)
2017-10-19 20:19:29 +08:00
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)
2017-10-19 20:19:29 +08:00
# Headers
2017-12-07 17:59:08 +08:00
file(GLOB LIB_HEADERS gmime/gmime-*.h)
list(APPEND LIB_HEADERS gmime/gmime.h)
list(APPEND LIB_HEADERS gmime/internet-address.h)
2017-10-19 20:19:29 +08:00
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)
[intl/gettext/fontconfig] update to native build system (#11776) * [fontconfig] update fontconfig * [libiconv] update to make * [gettext] update to make * [vcpkg_configure_make] Changes considering pure configure ports without the requirement to run autoconfig * [fontconfig] make it work on windows * Remove install of unofficial cmake config * add function get_cmake_vars * fine tuning. * apply to make based ports. * add log suffix on not windows platforms * fix c&p error * add previous LINK env * setup env on windows and extract cpp flags correctly. * update glib and libxml2 * fix windows regressions * Apply suggestions from code review * add windres wrapper to invoke RC. * remove wrong fi * fix libintl. * try fixing uwp * other things to update * exiv2 fix * libtool does not like -RTC1 * pass the /RTC<x> flag directly to the compiler * trust cmake instead of adding extra flags * fix expat * fix iconv wrapper install * change fontconfig intl linkage. * add appcontainer back in which is required for UWP. Why is this not in the cmake flags? * fix pkg-config in vcpkg_configure_make * fix json-c pkg-config installation * remove remnoved config * comment out debug messages + bit of tuning * finally fontconfig * comment debug messages * expat apply extra patches. * Switch back to -E instead of -EP in cpp * commit changes from fontconfig PR * [expat] fix expat details * Apply suggestions from code review Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * cleanup docs * update osx pipeline so that fontconfig actually builds * fix expat the lazy way by using a higher commit than release * fix a barage of regressions due to the use of unofficial targets * [expat] use a higher commit hash with a better stabilized cmake build * forgot freexl regression * more unofficial fixes * fix downstream expat usage * fix wxwidgets * fix gcdm regression * [vtk] fix the regression due to expat * add uwp cl flags back in. Somehow those are not set by cmake * add a few other configure options for full gettext build * fix cmake regression * fix a few regressions * fix static gettext build * fix gettext static * fix libxml2 wrapper for cmake * some more regressions fixes * add conversion from somelib.lib to -lsomelib * add a few option to libiconv. * get logs from CI * add missing ar-lib wrapper * add missing ar-lib wrapper * add fatal error to gettext * remove uuid from the list of LIBS since it seems to not exist in CI? * small but important regex correction * fix regex and add debug message for libs * remove error and only build libintl. * add uuid dependency to fontconfig in qt5-base * osx install gettext for autopoint * fix io2d regression by saying the port is broken ..... (which it is; upstream needs to learn proper cmake) * restore the old libxml2 wrapper with minor modifications * fix xmlsec regression * install wrapper correctly * try actual fixing io2d * improve iconv wrapper * add latest changes from update_fontconfig PR * Apply suggestions from code review first set which don't need special attention Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * Apply suggestions from code review one more simple change Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * [x264] set env AS * fix bugs due to refactor * use subpath everywhere * apply changes from CR * fix fontconfig build. * only change libs in static builds * remove unnecessary lines 41 & 44 * remove flag transformation * reintroduce the flag / to - transformation for MSVC * trying to figure out autopoint issue. using wrong (windows) find.exe instead of msys * add correct working_dir to subpath * escape stupid env paths. * fix typo * add findutils remove debug messages * add error if libtool chokes * add file to msys * pass lt_cv_deplibs_check_method=pass_all on windows (couldn't get file.exe to work so that libtool correctly ids the passed libs) * add bzip2 to msys * reenable libtool check. Lets see if CI agrees * unbreak linux try to figure out where uuid should be on windows. * add -L flag and help libtool ? * try to get ci to find uuid. * try to use cygpath * update controls * cleanup merge mistakes * correct merge issues * determine cmake vars if not done before. * move adding of -l earlier * more merge cleanup * fix uwp builds by not transforming libs * fix patches in io2d * fix xz download error * apply code review changes manually * fix the typos left behind in CR Co-authored-by: nicole mazzuca <mazzucan@outlook.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com> Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
2020-11-18 01:18:59 +08:00
target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv ZLIB::ZLIB ${IDN_LIBRARY})
[glib up to gtk] update and make it work with meson (#13100) * update glib to meson * update ci baseline * update glib to 2.66.3 remove cmakelists * fix some minor meson issue but meson is still a mess * add_bin_to_path to vcpkg_install_meson * regen docs * try fixing/touching all glib dependent ports * fix libsigcpp-3 version * fix glibmm * fix gmime * fix libcroco * update libnice * fix atk build * update harfbuzz * fix few builds * update libxmlpp * fix gdk-pixbuf * fix gts * gts add patch * remove old libsigcpp * add missing comma * fix supports logic * fix name mismatch * restore original ci baseline. * fix a lot of small details. increment controls. * fix harfbuzz & glib * bump port version * update port_versions * fix version field * update versions * fix glib in harfbuzz * update port versions * silly uppercase type * update port-versions * fix cairo build * update version * fix atk * update atk port-verisons * fix gts public includes * update versions * fix cairomm * fix pango * fix ignition * update versions. * fix gtk * fix librsvg * update versions * fix atk linux * fix libgpod * update versions * fix lcm * fix librsvg * update pango and pangomm * update pango to meson * more updates * update pixman * fix cairo * fix cairo * some fixes * reorder meson a bit * add none.txt for meson * fix x86_x64 to x86 "cross" builds * add tiff pkgconfig * update gdk-pixbuf * fix tiff and jpeg * add graphene * fix gdk-pixbuf * add sassc * update gtk * fix cairo complete build * add harfbuzz inlcude in pango since meson does not add it into pkgconfig. * fix gtk build. Remaining issue fix install script. * fix gtk build * fix io2d * add supports field * fix cartographer? * fix librsvg build * fix gtk build * fix cartographer * fix sassc on linux * fix tiff and libjpeg pc files * fix pixman x86 * _isnanf is undefined on arm- * merge fix for make on arm64 * fix gdk-pixbuf on arm64-windows * pixman remove test/demos. should fix it on osx. * [vcpkg_install_meson] add bin to path to run code generators * [vcpkg_configure_meson] deactivate native compiler in cross builds make x86 on x86_x64 a native instead of a cross build (as long as we are not building for UWP) * pixman reenable UWP support. * pixman reenable arm support * add pixman:arm-uwp=fail to baseline * update gtkmm * remove double whitespaces * gtk baseline gtk dependency on cairo x11 remove double spaces in flags * fix linux build * native none again * cairo fix cairo-script.pc * comment out patch since the cairo changes should have fixed it. * disable wayland backend in GTK since CI is missing system packages * silly typo in cairo pc file correction install lzo pc on windows * remove double spaces in _FLAGS remove unnecessary comments * actually disabling wayland backend * fix glib codegen issue having the wrong path * try to fix paths in glib codegen * integrate changes form #12860 * add the uwp patch back in * deactivate extra harfbuzz shapers. * vcpkg x-add-version --all --overwrite-version * remove patches in tesseract. * fix version * rerun add-version * add libgpod:x64-linux=fail to baseline due to missing system tools/libraries * change regex to take double - into account. * run x-add-version * run format-manifest * add missing removal of multiple spaces back into the regex * remove ws diff change * fix gtkmm the upstream way * remove ws to reduce diff * make glib build on osx * format manifest * run x-add-version * add pthread dependency * update baseline due to glib compiling on osx now. * add meson as a dep to glib * - add glib host dependencies - switch to manifest of touched ports * switch to manifest. * [libxml2] add gnuinstalldirs * [libxml2] add missing include of GNUInstallDirs * add version info * add include dir to pc files .... * update version * add UWP as crosscompiling target * Apply suggestions from code review * trying to fix cairo pthread detection on osx. * fix libmicrohttpd by adding the required system frameworks on osx * fix poppler by not removing the CXX standard * fix missing coretext header from harfbuzz in pano * fix formating issues * fix librsvg on osx * revert version changes * bump version * version stuff. * fix graphene version stuff * fix version stuff * removing ports from ci baseline to cause me pain * move cairomm:x64-linux=fail to gtkmm:x64-linx=fail remove pangomm:x64-osx=fail * fix typo * revert ws changes to vcpkg_install_meson * update port version after merge * version stuff * fix fluidsynth by adding vcpkg_check_features * move cairo to ci baseline on osx * version stuff * fluidsynth corrections * more version stuff * apply code review changes * clean version stuff. * update version stuff * code review cleanup * version stuff * formating * update version stuff again * remove gdi again * version stuff * version stuff * version baseline * Apply strega-nil suggestions from code review * run x-add-version * reset versions to upstream/master * v8 CONTROL -> json * reset fluidsynth to upstream/master * first batch of version-string -> version conversion * second and last batch of version-string -> version conversions * update version stuff * disable gdi feature in harfbuzz (missing user32 linkage in qt5-base) * version stuff * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * more CR stuff * update versions * back out provision changes so that pr can be merged. Co-authored-by: nicole mazzuca <mazzucan@outlook.com> Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
2021-04-27 01:28:21 +08:00
target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::GLIB2)
2017-10-19 20:19:29 +08:00
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)