aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/scripts/test_ports/vcpkg-ci-duckdb
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/scripts/test_ports/vcpkg-ci-duckdb')
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-duckdb/portfile.cmake21
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project/CMakeLists.txt13
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project/main.c33
-rw-r--r--vcpkg/scripts/test_ports/vcpkg-ci-duckdb/vcpkg.json18
4 files changed, 85 insertions, 0 deletions
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/portfile.cmake b/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/portfile.cmake
new file mode 100644
index 0000000..7485803
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/portfile.cmake
@@ -0,0 +1,21 @@
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${CURRENT_PORT_DIR}/project"
+)
+vcpkg_cmake_install()
+
+if(NOT VCPKG_CROSSCOMPILING)
+ if(CMAKE_HOST_WIN32)
+ vcpkg_host_path_list(PREPEND ENV{PATH} "${CURRENT_INSTALLED_DIR}/bin")
+ elseif(CMAKE_HOST_APPLE)
+ vcpkg_host_path_list(PREPEND ENV{DYLD_LIBRARY_PATH} "${CURRENT_INSTALLED_DIR}/lib")
+ else()
+ vcpkg_host_path_list(PREPEND ENV{LD_LIBRARY_PATH} "${CURRENT_INSTALLED_DIR}/lib")
+ endif()
+ vcpkg_execute_required_process(
+ COMMAND "${CURRENT_PACKAGES_DIR}/bin/${PORT}/main"
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}"
+ LOGNAME release-test
+ )
+endif()
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project/CMakeLists.txt b/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project/CMakeLists.txt
new file mode 100644
index 0000000..3c51fa2
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project/CMakeLists.txt
@@ -0,0 +1,13 @@
+cmake_minimum_required(VERSION 3.16)
+project(duckdb-test C CXX)
+
+add_executable(main main.c)
+
+find_package(DuckDB CONFIG REQUIRED)
+if(BUILD_SHARED_LIBS)
+ add_library(imported::duckdb ALIAS duckdb)
+else()
+ add_library(imported::duckdb ALIAS duckdb_static)
+endif()
+target_link_libraries(main PRIVATE imported::duckdb)
+install(TARGETS main RUNTIME DESTINATION bin/vcpkg-ci-duckdb)
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project/main.c b/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project/main.c
new file mode 100644
index 0000000..6dfa22b
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project/main.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include <duckdb.h>
+
+int main()
+{
+ duckdb_database db;
+ if (duckdb_open(NULL, &db) == DuckDBError) {
+ printf("open failed\n");
+ return 1;
+ }
+ duckdb_connection con;
+ if (duckdb_connect(db, &con) == DuckDBError) {
+ printf("connect failed\n");
+ return 2;
+ }
+ const char* query_icu =
+ "LOAD icu;"
+ "SELECT current_localtime();"
+ "PRAGMA collations;"
+ "SELECT list(collname) FROM pragma_collations();"
+ ;
+ duckdb_result result;
+ if (duckdb_query(con, query_icu, &result) == DuckDBError) {
+ printf("icu query failed: %s\n", duckdb_result_error(&result));
+ return 3;
+ }
+ else {
+ printf("success\n");
+ }
+ duckdb_disconnect(&con);
+ duckdb_close(&db);
+ return 0;
+}
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/vcpkg.json b/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/vcpkg.json
new file mode 100644
index 0000000..6c113d7
--- /dev/null
+++ b/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "vcpkg-ci-duckdb",
+ "version-string": "ci",
+ "description": "Test the icu feature",
+ "license": "BSD-3-Clause",
+ "dependencies": [
+ {
+ "name": "duckdb",
+ "features": [
+ "icu"
+ ]
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}