@@ -5,8 +5,12 @@ set(CPACK_PROJECT_NAME ${PROJECT_NAME})
55set (CPACK_PROJECT_VERSION ${PROJECT_VERSION} )
66include (CPack)
77
8- include (CTest)
9- enable_testing ()
8+ option (QUESTDB_TESTS_AND_EXAMPLES "Build test and example targets" OFF )
9+
10+ if (QUESTDB_TESTS_AND_EXAMPLES)
11+ include (CTest)
12+ enable_testing ()
13+ endif ()
1014
1115set (CMAKE_C_STANDARD 11)
1216set (CMAKE_C_STANDARD_REQUIRED ON )
@@ -25,8 +29,7 @@ option(
2529# Imports `questdb_client` target.
2630add_subdirectory (corrosion)
2731corrosion_import_crate(
28- MANIFEST_PATH questdb-rs-ffi/Cargo.toml
29- LINK_AS C)
32+ MANIFEST_PATH questdb-rs-ffi/Cargo.toml)
3033target_include_directories (
3134 questdb_client INTERFACE
3235 ${CMAKE_CURRENT_SOURCE_DIR} /include )
@@ -37,7 +40,10 @@ if(WIN32)
3740 DEFINE_SYMBOL "LINESENDER_DYN_LIB" )
3841 target_link_libraries (
3942 questdb_client-shared
40- INTERFACE wsock32 ws2_32)
43+ INTERFACE wsock32 ws2_32 ntdll)
44+ target_link_libraries (
45+ questdb_client-static
46+ INTERFACE wsock32 ws2_32 ntdll)
4147endif (WIN32 )
4248if (APPLE )
4349 target_link_libraries (
@@ -77,77 +83,79 @@ function(compile_example TARGET_NAME)
7783 questdb_client)
7884endfunction ()
7985
80- compile_example(
81- line_sender_c_example
82- examples/line_sender_c_example.c)
83- compile_example(
84- line_sender_c_example_auth
85- examples/line_sender_c_example_auth.c)
86- compile_example(
87- line_sender_c_example_tls_ca
88- examples/line_sender_c_example_tls_ca.c)
89- compile_example(
90- line_sender_c_example_auth_tls
91- examples/line_sender_c_example_auth_tls.c)
92- compile_example(
93- line_sender_cpp_example
94- examples/line_sender_cpp_example.cpp)
95- compile_example(
96- line_sender_cpp_example_auth
97- examples/line_sender_cpp_example_auth.cpp)
98- compile_example(
99- line_sender_cpp_example_tls_ca
100- examples/line_sender_cpp_example_tls_ca.cpp)
101- compile_example(
102- line_sender_cpp_example_auth_tls
103- examples/line_sender_cpp_example_auth_tls.cpp)
104-
105- # Include Rust tests as part of the tests run
106- add_test (
107- NAME rust_tests
108- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /questdb-rs
109- COMMAND cargo test --features insecure-skip-verify -- --nocapture)
86+ if (QUESTDB_TESTS_AND_EXAMPLES)
87+ compile_example(
88+ line_sender_c_example
89+ examples/line_sender_c_example.c)
90+ compile_example(
91+ line_sender_c_example_auth
92+ examples/line_sender_c_example_auth.c)
93+ compile_example(
94+ line_sender_c_example_tls_ca
95+ examples/line_sender_c_example_tls_ca.c)
96+ compile_example(
97+ line_sender_c_example_auth_tls
98+ examples/line_sender_c_example_auth_tls.c)
99+ compile_example(
100+ line_sender_cpp_example
101+ examples/line_sender_cpp_example.cpp)
102+ compile_example(
103+ line_sender_cpp_example_auth
104+ examples/line_sender_cpp_example_auth.cpp)
105+ compile_example(
106+ line_sender_cpp_example_tls_ca
107+ examples/line_sender_cpp_example_tls_ca.cpp)
108+ compile_example(
109+ line_sender_cpp_example_auth_tls
110+ examples/line_sender_cpp_example_auth_tls.cpp)
110111
111- # Unit test binaries.
112- function (compile_test TARGET_NAME)
113- list (POP_FRONT ARGV) # compile_test
114- add_executable (
115- ${TARGET_NAME}
116- ${ARGV} )
117- target_link_libraries (
118- ${TARGET_NAME}
119- questdb_client)
120- target_include_directories (
121- ${TARGET_NAME}
122- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /include )
123- set_compile_flags(${TARGET_NAME} )
112+ # Include Rust tests as part of the tests run
124113 add_test (
125- NAME ${TARGET_NAME}
126- COMMAND ${TARGET_NAME} )
127- endfunction ( )
114+ NAME rust_tests
115+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /questdb-rs
116+ COMMAND cargo test --features insecure-skip-verify -- --nocapture )
128117
129- compile_test(
130- test_line_sender
131- cpp_test/mock_server.cpp
132- cpp_test/test_line_sender.cpp)
118+ # Unit test binaries.
119+ function (compile_test TARGET_NAME)
120+ list (POP_FRONT ARGV) # compile_test
121+ add_executable (
122+ ${TARGET_NAME}
123+ ${ARGV} )
124+ target_link_libraries (
125+ ${TARGET_NAME}
126+ questdb_client)
127+ target_include_directories (
128+ ${TARGET_NAME}
129+ PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /include )
130+ set_compile_flags(${TARGET_NAME} )
131+ add_test (
132+ NAME ${TARGET_NAME}
133+ COMMAND ${TARGET_NAME} )
134+ endfunction ()
133135
134- # System testing Python3 script.
135- # This will download the latest QuestDB instance from Github,
136- # thus will also require a Java 11 installation to run the tests.
137- option (QUESTDB_SYSTEM_TESTING "Run system tests" OFF )
138- if (QUESTDB_SYSTEM_TESTING)
139- find_package (
140- Python3
141- REQUIRED
142- COMPONENTS Interpreter)
143- find_package (
144- Java
145- 11
146- REQUIRED)
147- add_test (
148- NAME system_test
149- COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR} /system_test/test .py run -v)
150- set_tests_properties (
151- system_test PROPERTIES
152- ENVIRONMENT BUILD_DIR_PATH=${CMAKE_BINARY_DIR} )
153- endif (QUESTDB_SYSTEM_TESTING)
136+ compile_test(
137+ test_line_sender
138+ cpp_test/mock_server.cpp
139+ cpp_test/test_line_sender.cpp)
140+
141+ # System testing Python3 script.
142+ # This will download the latest QuestDB instance from Github,
143+ # thus will also require a Java 11 installation to run the tests.
144+ option (QUESTDB_SYSTEM_TESTING "Run system tests" OFF )
145+ if (QUESTDB_SYSTEM_TESTING)
146+ find_package (
147+ Python3
148+ REQUIRED
149+ COMPONENTS Interpreter)
150+ find_package (
151+ Java
152+ 11
153+ REQUIRED)
154+ add_test (
155+ NAME system_test
156+ COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR} /system_test/test .py run -v)
157+ set_tests_properties (
158+ system_test PROPERTIES
159+ ENVIRONMENT BUILD_DIR_PATH=${CMAKE_BINARY_DIR} )
160+ endif (QUESTDB_SYSTEM_TESTING)
161+ endif ()
0 commit comments