From c17ce742f0ad9dd6c48e8b4c9a6a92891c567016 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 13 Mar 2018 07:32:27 -0700 Subject: [PATCH] [libpq] Fix config writing into source dir --- ports/libpq/CMakeLists.txt | 19 +++++++++++-------- ports/libpq/portfile.cmake | 3 +++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/ports/libpq/CMakeLists.txt b/ports/libpq/CMakeLists.txt index 54e929a5b..35a67118a 100644 --- a/ports/libpq/CMakeLists.txt +++ b/ports/libpq/CMakeLists.txt @@ -3,11 +3,13 @@ project(libpq VERSION 9.6.1 LANGUAGES C) find_package(OpenSSL REQUIRED) set(CMAKE_DEBUG_POSTFIX "d") -configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config.h.win32 ${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config.h) -configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config_ext.h.win32 ${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config_ext.h) -configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/port/win32.h ${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config_os.h) -file(WRITE src/interfaces/libpq/pg_config_paths.h "#define SYSCONFDIR \"\"") +configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config.h) +configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/pg_config_ext.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_ext.h) +configure_file(${CMAKE_CURRENT_LIST_DIR}/src/include/port/win32.h ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_os.h) +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_paths.h "#define SYSCONFDIR \"\"") + set(INSTALL_INCLUDES ON CACHE BOOL "Install include files") + set(pg_port_src src/port/getaddrinfo.c src/port/pgstrcasecmp.c @@ -53,8 +55,8 @@ set(pg_libpq_src ) set(pg_libpq_interface src/include/postgres_ext.h - src/include/pg_config_ext.h - src/include/pg_config.h + ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_ext.h + ${CMAKE_CURRENT_BINARY_DIR}/include/pg_config.h src/interfaces/libpq/libpq-fe.h ) set(pg_libpq_catalog_interface @@ -67,14 +69,15 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) add_library(libpq ${pg_port_src} ${pg_backend_src} ${pg_libpq_src}) target_compile_definitions(libpq PRIVATE -DFRONTEND -DENABLE_THREAD_SAFETY -DUSE_OPENSSL -D_CRT_SECURE_NO_WARNINGS) target_link_libraries(libpq PRIVATE OpenSSL::SSL ws2_32 secur32 advapi32 shell32) -target_include_directories(libpq PRIVATE src/include src/include/port/win32 src/include/port/win32_msvc src/port) +target_include_directories(libpq PRIVATE src/include src/include/port/win32 src/include/port/win32_msvc src/port ${CMAKE_CURRENT_BINARY_DIR}/include) set_target_properties(libpq PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) install(TARGETS libpq ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin - ) +) + if(INSTALL_INCLUDES) install(FILES ${pg_libpq_interface} DESTINATION include) install(DIRECTORY src/include/libpq DESTINATION include) diff --git a/ports/libpq/portfile.cmake b/ports/libpq/portfile.cmake index d98ce9a8a..2d14204fa 100644 --- a/ports/libpq/portfile.cmake +++ b/ports/libpq/portfile.cmake @@ -6,9 +6,12 @@ vcpkg_download_distfile(ARCHIVE SHA512 97141972e154e6b0e756ee6a4e20f26e82022a9fd4c56305314a3a5567a79ece638e4ac3d513b46138737ae6bd27a098f30013a94767db151181aac9c01290a1 ) vcpkg_extract_source_archive(${ARCHIVE}) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DINSTALL_INCLUDES=OFF )