aboutsummaryrefslogtreecommitdiff
path: root/ports/libconfig
diff options
context:
space:
mode:
authorAlexander Saprykin <xelfium@gmail.com>2018-05-26 13:27:14 +0200
committerGitHub <noreply@github.com>2018-05-26 13:27:14 +0200
commit4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5 (patch)
treed95c9490352eb73f078d34a33bc4bb44ac9fa48b /ports/libconfig
parentfb689bd13dd6ba563a885d71fff1dd2b32a615db (diff)
parent2ac7527b40b1dbeb7856b9f763362c1e139e2ca9 (diff)
downloadvcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.tar.gz
vcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.zip
Merge pull request #1 from Microsoft/master
Update vcpkg from upstream
Diffstat (limited to 'ports/libconfig')
-rw-r--r--ports/libconfig/CMakeLists.txt52
-rw-r--r--ports/libconfig/CONTROL3
-rw-r--r--ports/libconfig/portfile.cmake38
3 files changed, 93 insertions, 0 deletions
diff --git a/ports/libconfig/CMakeLists.txt b/ports/libconfig/CMakeLists.txt
new file mode 100644
index 000000000..fe70cb9dd
--- /dev/null
+++ b/ports/libconfig/CMakeLists.txt
@@ -0,0 +1,52 @@
+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()
+
+target_link_libraries(libconfig shlwapi)
+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()
diff --git a/ports/libconfig/CONTROL b/ports/libconfig/CONTROL
new file mode 100644
index 000000000..fceb37bd3
--- /dev/null
+++ b/ports/libconfig/CONTROL
@@ -0,0 +1,3 @@
+Source: libconfig
+Version: 1.7.2
+Description: C/C++ library for processing configuration files
diff --git a/ports/libconfig/portfile.cmake b/ports/libconfig/portfile.cmake
new file mode 100644
index 000000000..9456636a9
--- /dev/null
+++ b/ports/libconfig/portfile.cmake
@@ -0,0 +1,38 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO hyperrealm/libconfig
+ REF v1.7.2
+ SHA512 9df57355c2d08381b4a0a6366f0db3633fbe8f73c2bb8c370c040b0bae96ce89ee4ac6c17a5a247fed855d890fa383e5b70cb5573fc9cfc62194d5b94e161cee
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+foreach(FILE ${CURRENT_PACKAGES_DIR}/include/libconfig.h++ ${CURRENT_PACKAGES_DIR}/include/libconfig.h)
+ file(READ ${FILE} _contents)
+ string(REPLACE "defined(LIBCONFIGXX_EXPORTS)" "0" _contents "${_contents}")
+ string(REPLACE "defined(LIBCONFIG_EXPORTS)" "0" _contents "${_contents}")
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ string(REPLACE "defined(LIBCONFIGXX_STATIC)" "0" _contents "${_contents}")
+ string(REPLACE "defined(LIBCONFIG_STATIC)" "0" _contents "${_contents}")
+ else()
+ string(REPLACE "defined(LIBCONFIGXX_STATIC)" "1" _contents "${_contents}")
+ string(REPLACE "defined(LIBCONFIG_STATIC)" "1" _contents "${_contents}")
+ endif()
+ file(WRITE ${FILE} "${_contents}")
+endforeach()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libconfig RENAME copyright)
+
+vcpkg_copy_pdbs()