pgLab/pglablib/CMakeLists.txt
2026-10-17 16:21:22 +02:00

187 lines
5.2 KiB
CMake

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
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)
set_target_properties(pglablib PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
POSITION_INDEPENDENT_CODE ON
)