diff --git a/pglab/CMakeLists.txt b/pglab/CMakeLists.txt index 46ace2b..724530b 100644 --- a/pglab/CMakeLists.txt +++ b/pglab/CMakeLists.txt @@ -1,5 +1,4 @@ set(PGLAB_SOURCES - main.cpp About.cpp catalog/delegates/IconColumnDelegate.cpp catalog/models/BaseTableModel.cpp @@ -85,18 +84,16 @@ set(PGLAB_FORMS CodeGenerator.ui ) -add_executable(pglab +add_library(pglabapp STATIC ${PGLAB_SOURCES} ${PGLAB_FORMS} - resources.qrc ) if(WIN32) - set_target_properties(pglab PROPERTIES WIN32_EXECUTABLE ON) - target_link_libraries(pglab PRIVATE ws2_32) + target_link_libraries(pglabapp PUBLIC ws2_32) endif() -target_link_libraries(pglab PRIVATE +target_link_libraries(pglabapp PUBLIC pglablib pgsql core @@ -107,10 +104,27 @@ target_link_libraries(pglab PRIVATE Qt6::Concurrent ) -target_include_directories(pglab PRIVATE +target_include_directories(pglabapp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/crud ) +set_target_properties(pglabapp PROPERTIES + CXX_STANDARD 20 + CXX_STANDARD_REQUIRED ON + ) + +add_executable(pglab + main.cpp + resources.qrc + ) + +if(WIN32) + set_target_properties(pglab PROPERTIES WIN32_EXECUTABLE ON) +endif() + +target_link_libraries(pglab PRIVATE pglabapp) + set_target_properties(pglab PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED ON diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt index ec8f25c..f4b3695 100644 --- a/tests/integration/CMakeLists.txt +++ b/tests/integration/CMakeLists.txt @@ -6,22 +6,11 @@ add_executable(IntegrationTests tst_DataGridMapping.cpp tst_DataGridUpdate.cpp tst_CrudModelBehavior.cpp - ${CMAKE_SOURCE_DIR}/pglab/crud/CrudModel.cpp - ${CMAKE_SOURCE_DIR}/pglab/crud/DataGridWidget.cpp - ${CMAKE_SOURCE_DIR}/pglab/crud/RecordPanel.cpp - ${CMAKE_SOURCE_DIR}/pglab/OpenDatabase.cpp - ${CMAKE_SOURCE_DIR}/pglab/util/PgLabItemDelegate.cpp - ${CMAKE_SOURCE_DIR}/pglab/util/Colors.cpp - ${CMAKE_SOURCE_DIR}/pglab/ResultTableModelUtil.cpp - ) - -target_include_directories(IntegrationTests PRIVATE - ${CMAKE_SOURCE_DIR}/pglab - ${CMAKE_SOURCE_DIR}/pglab/crud ) target_link_libraries(IntegrationTests PRIVATE pgintegration + pglabapp pglablib GTest::gtest Qt6::Core