]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/libconfuse/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / libconfuse / CMakeLists.txt
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/libconfuse/CMakeLists.txt b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/libconfuse/CMakeLists.txt
new file mode 100644 (file)
index 0000000..651dab2
--- /dev/null
@@ -0,0 +1,139 @@
+cmake_minimum_required(VERSION 3.14)\r
+\r
+set(ac_init_line_re "AC_INIT\\(([^,]+), ([^,]+), ([^,]+), ([^)]+)\\)")\r
+file(STRINGS\r
+    ${CMAKE_CURRENT_LIST_DIR}/configure.ac\r
+    ac_init_line\r
+    REGEX ${ac_init_line_re}\r
+)\r
+\r
+string(REGEX REPLACE "${ac_init_line_re}" "\\1" PACKAGE_NAME      ${ac_init_line})\r
+string(REGEX REPLACE "${ac_init_line_re}" "\\2" PACKAGE_VERSION   ${ac_init_line})\r
+string(REGEX REPLACE "${ac_init_line_re}" "\\3" PACKAGE_BUGREPORT ${ac_init_line})\r
+string(REGEX REPLACE "${ac_init_line_re}" "\\4" PACKAGE           ${ac_init_line})\r
+\r
+set(PACKAGE_TARNAME ${PACKAGE})\r
+set(PACKAGE_STRING  "${PACKAGE_NAME} ${PACKAGE_VERSION}")\r
+\r
+string(REGEX REPLACE "([0-9]+.[0-9]+.[0-9]+).*" "\\1" SEMANTIC_VERSION ${PACKAGE_VERSION})\r
+\r
+project(libconfuse VERSION ${SEMANTIC_VERSION} LANGUAGES C)\r
+\r
+include(CheckFunctionExists)\r
+include(CheckIncludeFile)\r
+include(GNUInstallDirs)\r
+\r
+find_package(FLEX REQUIRED)\r
+find_package(Gettext QUIET)\r
+find_package(Intl QUIET)\r
+\r
+set(CMAKE_DISABLE_SOURCE_CHANGES ON)\r
+set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)\r
+\r
+if (GETTEXT_FOUND)\r
+    set(ENABLE_NLS 1)\r
+endif ()\r
+\r
+# libconfig.pc.in\r
+set(prefix ${CMAKE_INSTALL_PREFIX})\r
+set(exec_prefix ${prefix})\r
+set(libdir ${prefix}/${CMAKE_INSTALL_LIBDIR})\r
+set(includedir ${prefix}/${CMAKE_INSTALL_INCLUDEDIR})\r
+set(VERSION ${PROJECT_VERSION})\r
+\r
+if (Intl_FOUND AND Intl_LIBRARIES)\r
+    set(LTLIBINTL ${Intl_LIBRARIES})\r
+endif ()\r
+\r
+configure_file(libconfuse.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libconfuse.pc @ONLY)\r
+\r
+check_function_exists(dcgettext  HAVE_DCGETTEXT)\r
+check_function_exists(fmemopen   HAVE_FMEMOPEN)\r
+check_function_exists(funopen    HAVE_FUNOPEN)\r
+check_function_exists(gettext    HAVE_GETTEXT)\r
+check_function_exists(iconv      HAVE_ICONV)\r
+check_function_exists(strcasecmp HAVE_STRCASECMP)\r
+check_function_exists(strdup     HAVE_STRDUP)\r
+check_function_exists(_strdup    HAVE__STRDUP)\r
+check_function_exists(strndup    HAVE_STRNDUP)\r
+check_function_exists(setenv     HAVE_SETENV)\r
+check_function_exists(unsetenv   HAVE_UNSETENV)\r
+check_function_exists(_putenv    HAVE__PUTENV)\r
+\r
+if (MSVC)\r
+    check_function_exists(_fileno  HAVE__FILENO)\r
+    check_function_exists(_isatty  HAVE__ISATTY)\r
+    check_function_exists(_stricmp HAVE_STRCASECMP)\r
+endif ()\r
+\r
+check_include_file(stdlib.h HAVE_STDLIB_H)\r
+check_include_file(string.h HAVE_STRING_H)\r
+\r
+check_include_file(strings.h   HAVE_STRINGS_H)\r
+check_include_file(sys/stat.h  HAVE_SYS_STAT_H)\r
+check_include_file(sys/types.h HAVE_SYS_TYPES_H)\r
+check_include_file(unistd.h    HAVE_UNISTD_H)\r
+check_include_file(windows.h   HAVE_WINDOWS_H)\r
+\r
+configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)\r
+\r
+flex_target(\r
+    CONFUSE\r
+    src/lexer.l \r
+    ${CMAKE_CURRENT_BINARY_DIR}/lexer.c\r
+    COMPILE_FLAGS -Pcfg_yy\r
+)\r
+\r
+set(libconfuse_sources\r
+    src/confuse.c\r
+    ${FLEX_CONFUSE_OUTPUTS}\r
+)\r
+\r
+if (NOT HAVE_FMEMOPEN)\r
+    list(APPEND libconfuse_sources src/fmemopen.c)\r
+endif ()\r
+\r
+add_library(libconfuse ${libconfuse_sources})\r
+\r
+if (BUILD_SHARED_LIBS)\r
+    if (WIN32)\r
+        target_compile_definitions(libconfuse PRIVATE BUILDING_DLL)\r
+    endif ()\r
+else ()\r
+    target_compile_definitions(libconfuse PUBLIC BUILDING_STATIC)\r
+endif ()\r
+\r
+string(COMPARE EQUAL "${CMAKE_C_COMPILER_ID}" "GNU" USING_GNUC)\r
+\r
+target_compile_definitions(libconfuse\r
+    PUBLIC\r
+        $<BUILD_INTERFACE:HAVE_CONFIG_H>\r
+    PRIVATE\r
+        $<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS>\r
+        $<$<BOOL:${MSVC}>:_CRT_NONSTDC_NO_DEPRECATE>\r
+        $<$<BOOL:${MSVC}>:strcasecmp=_stricmp>\r
+        $<$<BOOL:${USING_GNUC}>:_GNU_SOURCE>\r
+)\r
+\r
+target_include_directories(libconfuse\r
+    PUBLIC\r
+        $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src>\r
+        $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>\r
+        $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>\r
+)\r
+\r
+set_target_properties(libconfuse PROPERTIES PUBLIC_HEADER src/confuse.h)\r
+\r
+install(TARGETS libconfuse EXPORT unofficial-libconfuse-config)\r
+\r
+install(\r
+    EXPORT unofficial-libconfuse-config\r
+    NAMESPACE unofficial::libconfuse::\r
+    DESTINATION share/unofficial-libconfuse\r
+    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ\r
+)\r
+\r
+install(\r
+    FILES ${CMAKE_CURRENT_BINARY_DIR}/libconfuse.pc\r
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig\r
+)\r