aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-03-13 07:32:27 -0700
committerRobert Schumacher <roschuma@microsoft.com>2018-03-13 07:32:27 -0700
commitc17ce742f0ad9dd6c48e8b4c9a6a92891c567016 (patch)
tree336307e30a7173396ccb166f8fdb6bae5e4eb168
parentf72b46690a89a7e19563f93f0eaa5f8a21184254 (diff)
downloadvcpkg-c17ce742f0ad9dd6c48e8b4c9a6a92891c567016.tar.gz
vcpkg-c17ce742f0ad9dd6c48e8b4c9a6a92891c567016.zip
[libpq] Fix config writing into source dir
-rw-r--r--ports/libpq/CMakeLists.txt19
-rw-r--r--ports/libpq/portfile.cmake3
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
)