187 lines
5.2 KiB
CMake
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
|
|
)
|