Switch to cmake + vcpkg, builds on linux, windows needs verification.

Code has been modified to be portable.
This commit is contained in:
eelke 2026-10-17 16:21:22 +02:00
parent c1a5ac1aad
commit 49f6619a4e
34 changed files with 678 additions and 327 deletions

5
tests/CMakeLists.txt Normal file
View file

@ -0,0 +1,5 @@
find_package(GTest CONFIG REQUIRED)
add_subdirectory(mygtestutils)
add_subdirectory(PgsqlTests)
add_subdirectory(pglabtests)

View file

@ -0,0 +1,24 @@
add_executable(PgsqlTests
main.cpp
tst_Value.cpp
tst_ArrayParser.cpp
tst_Pgsql_oids.cpp
)
target_link_libraries(PgsqlTests PRIVATE
pgsql
mygtestutils
GTest::gtest
Qt6::Core
)
target_include_directories(PgsqlTests PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
set_target_properties(PgsqlTests PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
)
add_test(NAME PgsqlTests COMMAND PgsqlTests)

View file

@ -0,0 +1,19 @@
add_library(mygtestutils STATIC
PrintTo_Qt.cpp
PrintTo_Qt.h
)
target_link_libraries(mygtestutils PUBLIC
GTest::gtest
Qt6::Core
)
target_include_directories(mygtestutils PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
set_target_properties(mygtestutils PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
POSITION_INDEPENDENT_CODE ON
)

View file

@ -0,0 +1,41 @@
add_executable(pglabtests
main.cpp
TableTreeBuilderTests.cpp
tst_ConvertLangToSqlString.cpp
tst_ConvertToMultiLineCString.cpp
tst_ExplainJsonParser.cpp
tst_HumanReadableBytes.cpp
tst_TryParsePostgresqlUrl.cpp
tst_escapeConnectionStringValue.cpp
tst_expected.cpp
tst_SqlLexer.cpp
tst_scopeguard.cpp
tst_CsvWriter.cpp
tst_PasswordManager.cpp
tst_ParamJson.cpp
tst_CodeBuilder.cpp
tst_NameManglingRules.cpp
tst_TypeMappings.cpp
tst_Range.cpp
)
target_link_libraries(pglabtests PRIVATE
pglablib
pgsql
core
mygtestutils
GTest::gtest
Qt6::Core
Qt6::Widgets
)
target_include_directories(pglabtests PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
set_target_properties(pglabtests PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
)
add_test(NAME pglabtests COMMAND pglabtests)