aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkreuzerkrieg <kreuzerkrieg@gmail.com>2020-03-13 02:52:16 +0200
committerGitHub <noreply@github.com>2020-03-12 17:52:16 -0700
commitcd0ea138120168c8bbab5b16becd1f992d49e1ee (patch)
tree54a279301d61e512ec6601fcd2ce8bd11b137449
parentc2795f1662b0cd3c801a7788cda042b4f3fdc1fe (diff)
downloadvcpkg-cd0ea138120168c8bbab5b16becd1f992d49e1ee.tar.gz
vcpkg-cd0ea138120168c8bbab5b16becd1f992d49e1ee.zip
[unixODBC] Add new port (#10057)
* unixODBC * wip
-rw-r--r--ports/unixodbc/CONTROL5
-rw-r--r--ports/unixodbc/portfile.cmake32
-rw-r--r--ports/unixodbc/unixodbcConfig.cmake16
-rw-r--r--ports/unixodbc/usage4
-rw-r--r--scripts/ci.baseline.txt6
5 files changed, 63 insertions, 0 deletions
diff --git a/ports/unixodbc/CONTROL b/ports/unixodbc/CONTROL
new file mode 100644
index 000000000..c82960153
--- /dev/null
+++ b/ports/unixodbc/CONTROL
@@ -0,0 +1,5 @@
+Source: unixodbc
+Version: 2.3.7
+Homepage: https://github.com/lurcher/unixODBC
+Description: unixODBC is an Open Source ODBC sub-system and an ODBC SDK for Linux, Mac OSX, and UNIX
+Supports: (osx|linux)
diff --git a/ports/unixodbc/portfile.cmake b/ports/unixodbc/portfile.cmake
new file mode 100644
index 000000000..31cdf33e8
--- /dev/null
+++ b/ports/unixodbc/portfile.cmake
@@ -0,0 +1,32 @@
+vcpkg_fail_port_install(ON_TARGET "UWP" "Windows")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lurcher/unixODBC
+ REF 2.3.7
+ SHA512 94e95730304990fc5ed4f76ebfb283d8327a59a3329badaba752a502a2d705549013fd95f0c92704828c301eae54081c8704acffb412fd1e1a71f4722314cec0
+ HEAD_REF master
+)
+
+vcpkg_configure_make(
+ SOURCE_PATH ${SOURCE_PATH}
+ AUTOCONFIG
+)
+
+vcpkg_install_make()
+
+vcpkg_copy_pdbs()
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif ()
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+ "${CURRENT_PACKAGES_DIR}/debug/etc"
+ "${CURRENT_PACKAGES_DIR}/etc"
+ "${CURRENT_PACKAGES_DIR}/share/man"
+ )
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/unixodbcConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
diff --git a/ports/unixodbc/unixodbcConfig.cmake b/ports/unixodbc/unixodbcConfig.cmake
new file mode 100644
index 000000000..c0bd25993
--- /dev/null
+++ b/ports/unixodbc/unixodbcConfig.cmake
@@ -0,0 +1,16 @@
+function(set_library_target NAMESPACE LIB_NAME DEBUG_LIB_FILE_NAME RELEASE_LIB_FILE_NAME INCLUDE_DIR)
+ add_library(${NAMESPACE}::${LIB_NAME} STATIC IMPORTED)
+ set_target_properties(${NAMESPACE}::${LIB_NAME} PROPERTIES
+ IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
+ IMPORTED_LOCATION_RELEASE "${RELEASE_LIB_FILE_NAME}"
+ IMPORTED_LOCATION_DEBUG "${DEBUG_LIB_FILE_NAME}"
+ INTERFACE_INCLUDE_DIRECTORIES "${INCLUDE_DIR}"
+ )
+ set(${NAMESPACE}_${LIB_NAME}_FOUND 1)
+endfunction()
+
+get_filename_component(ROOT "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(ROOT "${ROOT}" PATH)
+get_filename_component(ROOT "${ROOT}" PATH)
+
+set_library_target("UNIX" "odbc" "${ROOT}/debug/lib/libodbc.so" "${ROOT}/lib/libodbc.so" "${ROOT}/include/") \ No newline at end of file
diff --git a/ports/unixodbc/usage b/ports/unixodbc/usage
new file mode 100644
index 000000000..7901a3ef2
--- /dev/null
+++ b/ports/unixodbc/usage
@@ -0,0 +1,4 @@
+The package unixodbc is compatible with built-in CMake targets:
+
+ FIND_PACKAGE(unixodbc REQUIRED)
+ TARGET_LINK_LIBRARIES(main PRIVATE UNIX::odbc) for linkage
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index bffa4fd59..e87d8f23d 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -1774,6 +1774,12 @@ unicorn-lib:x64-uwp=fail
unittest-cpp:arm64-windows=fail
unittest-cpp:arm-uwp=fail
unittest-cpp:x64-uwp=fail
+unixodbc:arm64-windows=fail
+unixodbc:arm-uwp=fail
+unixodbc:x64-uwp=fail
+unixodbc:x64-windows=fail
+unixodbc:x64-windows-static=fail
+unixodbc:x86-windows=fail
unrar:arm64-windows=fail
unrar:arm-uwp=fail
unrar:x64-linux=fail