diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-07-07 23:11:46 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2017-07-10 15:10:39 -0700 |
| commit | ce69ed555265ec85fd4c24a44600354b94930758 (patch) | |
| tree | 58b6b2b20721ffb8af07a1c97cd912b832b0ea6f | |
| parent | 0fae90a20e766e98b972333dd647e7ba99a7d93d (diff) | |
| download | vcpkg-ce69ed555265ec85fd4c24a44600354b94930758.tar.gz vcpkg-ce69ed555265ec85fd4c24a44600354b94930758.zip | |
[libconfig] Simplify CMake. Move header patching into the portfile.
| -rw-r--r-- | ports/libconfig/CMakeLists.txt | 36 | ||||
| -rw-r--r-- | ports/libconfig/CONTROL | 2 | ||||
| -rw-r--r-- | ports/libconfig/portfile.cmake | 15 |
3 files changed, 26 insertions, 27 deletions
diff --git a/ports/libconfig/CMakeLists.txt b/ports/libconfig/CMakeLists.txt index ca56aad67..8762917ef 100644 --- a/ports/libconfig/CMakeLists.txt +++ b/ports/libconfig/CMakeLists.txt @@ -1,7 +1,6 @@ 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) add_definitions(-Dscandir=libconfig_scandir) @@ -20,27 +19,26 @@ set(CPP_SOURCES lib/libconfigcpp.cc ) -include_directories(lib) - find_path(DIRENT_H dirent.h) find_path(STDINT_H stdint.h) -include_directories(${DIRENT_H}) -include_directories(${STDINT_H}) +include_directories(lib ${DIRENT_H} ${STDINT_H}) + +add_definitions(-DYY_NO_UNISTD_H -DYY_USE_CONST) add_library(libconfig ${C_SOURCES}) add_library(libconfig++ ${CPP_SOURCES}) -target_link_libraries(libconfig++ libconfig) - if(BUILD_SHARED_LIBS) - target_compile_definitions(libconfig PRIVATE -DLIBCONFIG_EXPORTS -DYY_NO_UNISTD_H -DYY_USE_CONST) - target_compile_definitions(libconfig++ PRIVATE -DLIBCONFIG_EXPORTS -DLIBCONFIGXX_EXPORTS -DYY_NO_UNISTD_H -DYY_USE_CONST) + target_compile_definitions(libconfig PRIVATE -DLIBCONFIG_EXPORTS) + target_compile_definitions(libconfig++ PRIVATE -DLIBCONFIGXX_EXPORTS) else() - target_compile_definitions(libconfig PRIVATE -DLIBCONFIG_STATIC -DYY_NO_UNISTD_H) - target_compile_definitions(libconfig++ PRIVATE -DLIBCONFIG_STATIC -DYY_NO_UNISTD_H) + target_compile_definitions(libconfig PUBLIC -DLIBCONFIG_STATIC) + target_compile_definitions(libconfig++ PUBLIC -DLIBCONFIGXX_STATIC) endif() +target_link_libraries(libconfig++ PRIVATE libconfig) + install( TARGETS libconfig libconfig++ RUNTIME DESTINATION bin @@ -48,20 +46,6 @@ install( ARCHIVE DESTINATION lib ) -file(READ lib/libconfig.h++ LIBCONFIGXX_H) -file(READ lib/libconfig.h LIBCONFIG_H) - -if(BUILD_SHARED_LIBS) - string(REPLACE "defined(LIBCONFIGXX_EXPORTS)" "1" LIBCONFIGXX_H "${LIBCONFIGXX_H}") - string(REPLACE "defined(LIBCONFIG_EXPORTS)" "1" LIBCONFIG_H "${LIBCONFIGXX_H}") -else() - string(REPLACE "defined(LIBCONFIGXX_STATIC)" "1" LIBCONFIGXX_H "${LIBCONFIGXX_H}") - string(REPLACE "defined(LIBCONFIG_STATIC)" "1" LIBCONFIG_H "${LIBCONFIG_H}") -endif() - -file(WRITE ${PROJECT_BINARY_DIR}/libconfig.h++ "${LIBCONFIGXX_H}") -file(WRITE ${PROJECT_BINARY_DIR}/libconfig.h "${LIBCONFIG_H}") - if(NOT DISABLE_INSTALL_HEADERS) - install(FILES ${PROJECT_BINARY_DIR}/libconfig.h++ ${PROJECT_BINARY_DIR}/libconfig.h DESTINATION include) + install(FILES lib/libconfig.h++ lib/libconfig.h DESTINATION include) endif() diff --git a/ports/libconfig/CONTROL b/ports/libconfig/CONTROL index d86439cfd..45bf1db9b 100644 --- a/ports/libconfig/CONTROL +++ b/ports/libconfig/CONTROL @@ -1,4 +1,4 @@ Source: libconfig Version: 1.6.0 Description: C/C++ library for processing configuration files -Build-Depends: msinttypes, dirent +Build-Depends: dirent diff --git a/ports/libconfig/portfile.cmake b/ports/libconfig/portfile.cmake index 7838958da..73028de7c 100644 --- a/ports/libconfig/portfile.cmake +++ b/ports/libconfig/portfile.cmake @@ -26,6 +26,21 @@ vcpkg_configure_cmake( 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() |
