aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/scripts/test_ports/vcpkg-ci-gmime/project
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/scripts/test_ports/vcpkg-ci-gmime/project
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/scripts/test_ports/vcpkg-ci-gmime/project')
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-gmime/project/CMakeLists.txt15
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-gmime/project/main.c26
2 files changed, 41 insertions, 0 deletions
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-gmime/project/CMakeLists.txt b/vcpkg/scripts/test_ports/vcpkg-ci-gmime/project/CMakeLists.txt
new file mode 100644
index 0000000..d64e5ac
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-gmime/project/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 3.10)
+
+project(vcpkg-ci-gmime C)
+
+set(CMAKE_C_STANDARD 11)
+
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(gmime REQUIRED IMPORTED_TARGET gmime-3.0)
+
+add_executable(main main.c)
+target_link_libraries(main PRIVATE PkgConfig::gmime)
+
+if("crypto" IN_LIST FEATURES)
+ target_compile_definitions(main PRIVATE ENABLE_CRYPTO)
+endif()
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-gmime/project/main.c b/vcpkg/scripts/test_ports/vcpkg-ci-gmime/project/main.c
new file mode 100644
index 0000000..8431aa3
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-gmime/project/main.c
@@ -0,0 +1,26 @@
+#include <glib.h>
+#include <gmime/gmime.h>
+
+void verify_callback(GMimeObject *parent, GMimeObject *part, gpointer user_data)
+{
+#ifdef ENABLE_CRYPTO
+ if (GMIME_IS_MULTIPART_SIGNED(part))
+ {
+ GMimeMultipartSigned *mps = (GMimeMultipartSigned *)part;
+ GError *err = NULL;
+ GMimeSignatureList *signatures = g_mime_multipart_signed_verify(mps, GMIME_VERIFY_NONE, &err);
+ g_object_unref(signatures);
+ }
+#endif
+}
+
+int main()
+{
+ g_mime_init();
+ GMimeParser *parser = g_mime_parser_new();
+ GMimeMessage *message = g_mime_parser_construct_message(parser, NULL);
+ g_mime_message_foreach(message, verify_callback, NULL);
+ g_object_unref(message);
+ g_object_unref(parser);
+ return 0;
+}