aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/scripts/test_ports/vcpkg-ci-duckdb/project')
-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
2 files changed, 46 insertions, 0 deletions
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;
+}