add_library(pglablib STATIC Pglablib.cpp ASyncDBConnection.cpp ConnectionConfig.cpp TestConnection.cpp catalog/PgType.cpp catalog/PgTypeContainer.cpp catalog/PgNamespace.cpp catalog/PgClass.cpp catalog/PgDatabase.cpp catalog/PgDatabaseContainer.cpp catalog/PgAuthId.cpp catalog/PgAuthIdContainer.cpp catalog/PgClassContainer.cpp catalog/PgDatabaseCatalog.cpp catalog/PgNamespaceContainer.cpp catalog/PgAttribute.cpp catalog/PgContainer.cpp catalog/PgAttributeContainer.cpp catalog/PgIndex.cpp catalog/PgIndexContainer.cpp catalog/PgConstraint.cpp catalog/PgConstraintContainer.cpp ParamListJson.cpp ParamListModel.cpp sqlite/SQLiteConnection.cpp sqlite/sqlite3.c ui/catalog/tables/TableNode.cpp ui/catalog/tables/TableSize.cpp ui/catalog/tables/TableTreeBuilder.cpp util.cpp SqlFormattingUtils.cpp catalog/PgKeywordList.cpp QueryGenerator.cpp catalog/PgObject.cpp catalog/PgTablespace.cpp catalog/PgTablespaceContainer.cpp codebuilder/LanguageConfig.cpp codebuilder/CodeBuilder.cpp codebuilder/NameManglingRules.cpp codebuilder/DefaultConfigs.cpp codebuilder/TypeMappings.cpp codebuilder/IndentationConfig.cpp codebuilder/StructureTemplate.cpp FormatToStream.cpp codebuilder/StringLiteralRules.cpp codebuilder/StringEscapeRule.cpp catalog/PgTrigger.cpp catalog/PgTriggerContainer.cpp catalog/PgProc.cpp catalog/PgProcContainer.cpp catalog/PgDatabaseObject.cpp catalog/PgServerObject.cpp catalog/PgNamespaceObject.cpp catalog/PgCollation.cpp catalog/PgCollationContainer.cpp catalog/PgInherits.cpp catalog/PgInheritsContainer.cpp SelectionEditorFactory.cpp catalog/PgAm.cpp model/TypeModelFactory.cpp model/TypeSelectionItemModel.cpp catalog/PgAmContainer.cpp model/CollationModel.cpp model/CollationModelFactory.cpp catalog/PgLanguageContainer.cpp catalog/PgLanguage.cpp catalog/PgAcl.cpp catalog/PgSequence.cpp catalog/PgSequenceContainer.cpp utils/HumanReadableBytes.cpp utils/KeyStrengthener.cpp utils/PasswordManager.cpp utils/PostgresqlUrlParser.cpp Pglablib.h ASyncDBConnection.h ConnectionConfig.h TestConnection.h catalog/PgType.h catalog/PgTypeContainer.h catalog/PgNamespace.h catalog/PgClass.h catalog/PgDatabase.h catalog/PgDatabaseContainer.h catalog/PgContainer.h catalog/PgAuthId.h catalog/PgAuthIdContainer.h catalog/PgClassContainer.h catalog/PgDatabaseCatalog.h catalog/PgNamespaceContainer.h catalog/PgAttribute.h catalog/PgAttributeContainer.h catalog/PgIndex.h catalog/PgIndexContainer.h catalog/PgConstraint.h catalog/PgConstraintContainer.h ParamListJson.h ParamListModel.h sqlite/SQLiteConnection.h sqlite/sqlite3.h sqlite/sqlite3ext.h ui/catalog/tables/TableNode.h ui/catalog/tables/TableSize.h ui/catalog/tables/TableTreeBuilder.h util.h SqlFormattingUtils.h catalog/PgCatalogTypes.h catalog/PgKeywordList.h QueryGenerator.h catalog/PgObject.h catalog/PgTablespace.h catalog/PgTablespaceContainer.h codebuilder/LanguageConfig.h codebuilder/CodeBuilder.h codebuilder/NameManglingRules.h codebuilder/DefaultConfigs.h codebuilder/TypeMappings.h codebuilder/IndentationConfig.h codebuilder/StructureTemplate.h FormatToStream.h codebuilder/ResultLoopTemplate.h codebuilder/StringEscapeRule.h codebuilder/StringLiteralRules.h catalog/PgTrigger.h catalog/PgTriggerContainer.h catalog/PgProc.h catalog/PgProcContainer.h catalog/PgDatabaseObject.h catalog/PgServerObject.h catalog/PgNamespaceObject.h catalog/PgCollation.h catalog/PgCollationContainer.h AbstractModelFactory.h AbstractEditorFactory.h catalog/PgInherits.h catalog/PgInheritsContainer.h SelectionEditorFactory.h model/TypeSelectionItemModel.h model/TypeModelFactory.h catalog/PgAm.h catalog/PgAmContainer.h model/CollationModel.h model/CollationModelFactory.h catalog/PgLanguageContainer.h catalog/PgLanguage.h catalog/PgAcl.h catalog/PgSequence.h catalog/PgSequenceContainer.h utils/HumanReadableBytes.h utils/KeyStrengthener.h utils/PasswordManager.h utils/PostgresqlUrlParser.h ) find_package(Boost REQUIRED COMPONENTS container timer chrono assert) find_path(BOTAN_INCLUDE_DIR botan/hash.h REQUIRED) find_library(BOTAN_LIBRARY NAMES botan-3 botan REQUIRED) if(NOT TARGET Botan::Botan) add_library(Botan::Botan STATIC IMPORTED) set_target_properties(Botan::Botan PROPERTIES IMPORTED_LOCATION "${BOTAN_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${BOTAN_INCLUDE_DIR}" ) endif() target_link_libraries(pglablib PUBLIC core pgsql Boost::container Boost::timer Boost::chrono Boost::assert Botan::Botan Qt6::Core Qt6::Widgets ) target_include_directories(pglablib PUBLIC $ ) set_target_properties(pglablib PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED ON POSITION_INDEPENDENT_CODE ON )