vcpkg/ports/libconfig/portfile.cmake
James Athey bd7fc2c75b
[libconfig] fix compilation errors on macos (#19374)
* remove "find_path(STDINT_H stdint.h)". On clang/macos, this picks up the kernel headers version of stdint.h, instead of the C standard library, breaking compilation
* only define YY_NO_UNISTD_H and YY_USE_CONST on Windows, like the upstream CMakeLists.txt
* set the C standard to C99, like the upstream CMakeLists.txt
* update to 1.7.3
* remove the "fail" line from ci.baseline.txt
* run ./vcpkg x-add-version --all to update metadata files
* reset port-version
2021-08-18 17:24:14 -07:00

55 lines
1.8 KiB
CMake

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)