]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/libconfig/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / libconfig / CMakeLists.txt
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/libconfig/CMakeLists.txt b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/libconfig/CMakeLists.txt
new file mode 100644 (file)
index 0000000..53ca6f4
--- /dev/null
@@ -0,0 +1,55 @@
+cmake_minimum_required(VERSION 3.5.1)
+project(libconfig C CXX)
+
+if(MSVC)
+  add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+set(C_SOURCES
+  lib/grammar.c
+  lib/libconfig.c
+  lib/scanctx.c
+  lib/scanner.c
+  lib/strbuf.c
+  lib/strvec.c
+  lib/util.c
+  lib/wincompat.c
+)
+
+set(CPP_SOURCES
+  lib/libconfigcpp.cc
+)
+
+find_path(STDINT_H stdint.h)
+
+include_directories(lib ${STDINT_H})
+
+add_definitions(-DYY_NO_UNISTD_H -DYY_USE_CONST)
+
+add_library(libconfig  ${C_SOURCES})
+add_library(libconfig++ ${CPP_SOURCES})
+
+if(BUILD_SHARED_LIBS)
+  target_compile_definitions(libconfig PRIVATE -DLIBCONFIG_EXPORTS)
+  target_compile_definitions(libconfig++ PRIVATE -DLIBCONFIGXX_EXPORTS)
+else()
+  target_compile_definitions(libconfig PUBLIC -DLIBCONFIG_STATIC)
+  target_compile_definitions(libconfig++ PUBLIC -DLIBCONFIGXX_STATIC)
+endif()
+
+if (WIN32)
+  # Linux doesn't have shlwapi
+  target_link_libraries(libconfig shlwapi)
+endif()
+target_link_libraries(libconfig++ PRIVATE libconfig)
+
+install(
+  TARGETS libconfig libconfig++
+  RUNTIME DESTINATION bin
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+  install(FILES lib/libconfig.h++ lib/libconfig.h DESTINATION include)
+endif()