]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/gmime/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / gmime / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.8)
2
3 project(gmime C)
4
5 set(GMIME_DLL_SUFFIX 3)
6 set(GMIME_LIB_SUFFIX 3.0)
7
8 find_package(ZLIB REQUIRED)
9 find_package(PkgConfig REQUIRED)
10 pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
11 find_package(Iconv REQUIRED)
12
13 find_library(IDN_LIBRARY NAMES libidn2)
14
15 if(MSVC)
16 add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
17 add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
18 endif()
19
20 add_definitions(-DHAVE_CONFIG_H)
21 add_definitions(-DG_DISABLE_DEPRECATED)
22 add_definitions(-DG_LOG_DOMAIN="GMime")
23
24 # Source files
25 file(GLOB LIB_SRC gmime/gmime-*.c)
26 list(APPEND LIB_SRC gmime/gmime.c
27 gmime/internet-address.c
28 util/packed.c
29 util/url-scanner.c
30 util/gtrie.c)
31
32 # Headers
33 file(GLOB LIB_HEADERS gmime/gmime-*.h)
34 list(APPEND LIB_HEADERS gmime/gmime.h)
35 list(APPEND LIB_HEADERS gmime/internet-address.h)
36
37 if(MSVC AND BUILD_SHARED_LIBS)
38 set(MSVC_SRC gmime.def)
39 endif()
40
41 add_library(${PROJECT_NAME} ${LIB_SRC} ${MSVC_SRC})
42
43 set_target_properties(${PROJECT_NAME} PROPERTIES
44 OUTPUT_NAME ${PROJECT_NAME}-${GMIME_DLL_SUFFIX}
45 ARCHIVE_OUTPUT_NAME ${PROJECT_NAME}-${GMIME_LIB_SUFFIX}
46 )
47
48 target_include_directories(${PROJECT_NAME} PRIVATE . ./util)
49 target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv ZLIB::ZLIB ${IDN_LIBRARY})
50 target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::GLIB2)
51 target_link_libraries(${PROJECT_NAME} PRIVATE Ws2_32.lib)
52
53 install(TARGETS ${PROJECT_NAME}
54 RUNTIME DESTINATION bin
55 LIBRARY DESTINATION lib
56 ARCHIVE DESTINATION lib)
57
58 install(FILES ${LIB_HEADERS} DESTINATION include/gmime)