early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

View File

@@ -0,0 +1,53 @@
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 -DYY_NO_UNISTD_H -DYY_USE_CONST)
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
)
set(CMAKE_C_STANDARD 99)
include_directories(lib ${STDINT_H})
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()

View File

@@ -0,0 +1,54 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO hyperrealm/libconfig
REF v1.7.3
SHA512 3749bf9eb29bab0f6b14f4fc759f0c419ed27a843842aaabed1ec1fbe0faa8c93322ff875ca1291d69cb28a39ece86d512aec42c2140d566c38c56dc616734f4
HEAD_REF master
)
if (NOT VCPKG_USE_HEAD_VERSION)
message("If you would like to use cmake with the port, use `--head` option with vcpkg install.")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
endif()
if (NOT VCPKG_USE_HEAD_VERSION)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
)
else()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DBUILD_EXAMPLES=OFF
-DBUILD_TESTS=OFF
)
endif()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
if (VCPKG_USE_HEAD_VERSION)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libconfig)
endif()
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/${PORT} RENAME copyright)

7
externals/vcpkg/ports/libconfig/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,7 @@
{
"name": "libconfig",
"version-string": "1.7.3",
"port-version": 1,
"description": "C/C++ library for processing configuration files",
"homepage": "https://github.com/hyperrealm/libconfig"
}