Switch to cmake + vcpkg, builds on linux, windows needs verification.
Code has been modified to be portable.
This commit is contained in:
parent
c1a5ac1aad
commit
49f6619a4e
34 changed files with 678 additions and 327 deletions
|
|
@ -1,69 +1,115 @@
|
|||
cmake_minimum_required(VERSION 3.2)
|
||||
project(pglab)
|
||||
set(PGLAB_SOURCES
|
||||
main.cpp
|
||||
About.cpp
|
||||
catalog/delegates/IconColumnDelegate.cpp
|
||||
catalog/models/BaseTableModel.cpp
|
||||
catalog/models/ColumnTableModel.cpp
|
||||
catalog/models/ConstraintModel.cpp
|
||||
catalog/models/DatabasesTableModel.cpp
|
||||
catalog/models/DependantsTableModel.cpp
|
||||
catalog/models/IndexModel.cpp
|
||||
catalog/models/ProcTableModel.cpp
|
||||
catalog/models/RolesTableModel.cpp
|
||||
catalog/models/SequenceModel.cpp
|
||||
catalog/models/TriggerTableModel.cpp
|
||||
catalog/tables/TablesTableModel.cpp
|
||||
catalog/widgets/CatalogConstraintPage.cpp
|
||||
catalog/widgets/CatalogFunctionsPage.cpp
|
||||
catalog/widgets/CatalogIndexPage.cpp
|
||||
catalog/widgets/CatalogInspector.cpp
|
||||
catalog/widgets/CatalogNamespacePage.cpp
|
||||
catalog/widgets/CatalogPageBase.cpp
|
||||
catalog/widgets/CatalogSequencesPage.cpp
|
||||
catalog/widgets/CatalogTablesPage.cpp
|
||||
catalog/widgets/CatalogTypesPage.cpp
|
||||
catalog/widgets/ColumnPage.cpp
|
||||
catalog/widgets/DependantsPage.cpp
|
||||
catalog/widgets/TriggerPage.cpp
|
||||
codeeditor/CodeEditor.cpp
|
||||
codeeditor/EditorGutter.cpp
|
||||
codeeditor/GutterPainter.cpp
|
||||
crud/CrudModel.cpp
|
||||
crud/CrudTab.cpp
|
||||
querytool/QueryExplainModel.cpp
|
||||
querytool/QueryParamListController.cpp
|
||||
querytool/QueryResultModel.cpp
|
||||
querytool/QueryTool.cpp
|
||||
serverinspector/DatabasesPage.cpp
|
||||
serverinspector/RolesPage.cpp
|
||||
serverinspector/ServerInspector.cpp
|
||||
util/Colors.cpp
|
||||
util/PgLabItemDelegate.cpp
|
||||
util/PgLabTableView.cpp
|
||||
util/SqlSyntaxHighlighter.cpp
|
||||
ConnectionConfigurationWidget.cpp
|
||||
ConnectionController.cpp
|
||||
ManagedPage.cpp
|
||||
PgDumpOutputHighlighter.cpp
|
||||
CreateDatabaseDialog.cpp
|
||||
ConnectionManagerWindow.cpp
|
||||
ConnectionListModel.cpp
|
||||
SslModeModel.cpp
|
||||
stopwatch.cpp
|
||||
tuplesresultwidget.cpp
|
||||
BackupDialog.cpp
|
||||
MasterController.cpp
|
||||
ParamTypeDelegate.cpp
|
||||
OpenDatabase.cpp
|
||||
ProcessStdioWidget.cpp
|
||||
ResultTableModelUtil.cpp
|
||||
NamespaceItemModel.cpp
|
||||
PropertyProxyModel.cpp
|
||||
CodeGenerator.cpp
|
||||
UserConfiguration.cpp
|
||||
widgets/SqlCodePreview.cpp
|
||||
CustomFilterSortModel.cpp
|
||||
PropertiesPage.cpp
|
||||
PasswordPromptDialog.cpp
|
||||
EditTableWidget.cpp
|
||||
EditColumnTableModel.cpp
|
||||
DatabaseWindow.cpp
|
||||
widgets/SingleRecordModel.cpp
|
||||
widgets/SingleRecordWidget.cpp
|
||||
)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(PGLAB_FORMS
|
||||
ConnectionManagerWindow.ui
|
||||
CreateDatabaseDialog.ui
|
||||
DatabaseWindow.ui
|
||||
tuplesresultwidget.ui
|
||||
querytool/QueryTab.ui
|
||||
ProcessStdioWidget.ui
|
||||
crud/CrudTab.ui
|
||||
CodeGenerator.ui
|
||||
widgets/SingleRecordWidget.ui
|
||||
)
|
||||
|
||||
add_executable(pglab
|
||||
ASyncDBConnection.cpp
|
||||
ASyncWindow.cpp
|
||||
BackupDialog.cpp
|
||||
BackupRestore.cpp
|
||||
CodeBuilderConfiguration.cpp
|
||||
ConnectionConfig.cpp
|
||||
ConnectionList.cpp
|
||||
ConnectionListModel.cpp
|
||||
ConnectionManagerWindow.cpp
|
||||
DatabaseInspectorWidget.cpp
|
||||
DatabasesTableModel.cpp
|
||||
DatabaseWindow.cpp
|
||||
ExplainTreeModelItem.cpp
|
||||
GlobalIoService.cpp
|
||||
jsoncpp.cpp
|
||||
main.cpp
|
||||
MainWindow.cpp
|
||||
MasterController.cpp
|
||||
OpenDatabase.cpp
|
||||
ParamListModel.cpp
|
||||
ParamTypeDelegate.cpp
|
||||
PgAuthIdContainer.cpp
|
||||
PgAuthId.cpp
|
||||
PgClass.cpp
|
||||
PgDatabaseCatalogue.cpp
|
||||
PgDatabaseContainer.cpp
|
||||
PgDatabase.cpp
|
||||
PgNamespace.cpp
|
||||
PgTypeContainer.cpp
|
||||
PgType.cpp
|
||||
ProcessStdioWidget.cpp
|
||||
QueryExplainModel.cpp
|
||||
QueryResultModel.cpp
|
||||
QueryTab.cpp
|
||||
RolesTableModel.cpp
|
||||
ServerWindow.cpp
|
||||
SqlSyntaxHighlighter.cpp
|
||||
stopwatch.cpp
|
||||
tsqueue.cpp
|
||||
tuplesresultwidget.cpp
|
||||
TypeSelectionItemModel.cpp
|
||||
util.cpp
|
||||
${PGLAB_SOURCES}
|
||||
${PGLAB_FORMS}
|
||||
resources.qrc
|
||||
)
|
||||
|
||||
set_target_properties(pglab PROPERTIES
|
||||
CXX_STANDARD 14
|
||||
CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
# target_compile_options(pglab PRIVATE -Wall -fpic -march=native )
|
||||
# set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og")
|
||||
if(WIN32)
|
||||
set_target_properties(pglab PROPERTIES WIN32_EXECUTABLE ON)
|
||||
endif()
|
||||
|
||||
target_link_libraries( pglab
|
||||
core
|
||||
target_link_libraries(pglab PRIVATE
|
||||
pglablib
|
||||
pgsql
|
||||
boost-system
|
||||
Qt5::Widgets
|
||||
pthread
|
||||
core
|
||||
Qt6::Core
|
||||
Qt6::Gui
|
||||
Qt6::Widgets
|
||||
Qt6::Sql
|
||||
Qt6::Concurrent
|
||||
)
|
||||
|
||||
target_include_directories(pglab PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
set_target_properties(pglab PROPERTIES
|
||||
CXX_STANDARD 20
|
||||
CXX_STANDARD_REQUIRED ON
|
||||
)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include <QDialog>
|
||||
|
||||
#include "catalog\PgDatabase.h"
|
||||
#include "catalog/PgDatabase.h"
|
||||
|
||||
class PgDatabaseCatalog;
|
||||
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@
|
|||
<customwidget>
|
||||
<class>CodeEditor</class>
|
||||
<extends>QPlainTextEdit</extends>
|
||||
<header>codeeditor\CodeEditor.h</header>
|
||||
<header>codeeditor/CodeEditor.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ QVariant DatabasesTableModel::getData(const QModelIndex &index) const
|
|||
break;
|
||||
case SizeCol:
|
||||
if (d.size.totalBytes >= 0)
|
||||
v = d.size.totalBytes;
|
||||
v = QVariant::fromValue(d.size.totalBytes);
|
||||
break;
|
||||
case AclCol:
|
||||
v = db.aclString();
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ QVariant IndexModel::getData(const QModelIndex &index) const
|
|||
break;
|
||||
|
||||
case SizeCol:
|
||||
v = dat.sizeBytes;
|
||||
v = QVariant::fromValue(dat.sizeBytes);
|
||||
break;
|
||||
case ExplicitIndexCol:
|
||||
v = !dat.isSupportingIndex();
|
||||
|
|
|
|||
|
|
@ -102,12 +102,12 @@ QVariant SequenceModel::data(const QModelIndex &index, int role) const
|
|||
case NameCol: return seq.objectName();
|
||||
case SchemaCol: return seq.nsName();
|
||||
case OwnerCol: return seq.ownerName();
|
||||
case LastCol: return seq.last;
|
||||
case StartCol: return seq.start;
|
||||
case MinCol: return seq.min;
|
||||
case MaxCol: return seq.max;
|
||||
case IncrementCol: return seq.increment;
|
||||
case CacheCol: return seq.cache;
|
||||
case LastCol: return QVariant::fromValue(seq.last);
|
||||
case StartCol: return QVariant::fromValue(seq.start);
|
||||
case MinCol: return QVariant::fromValue(seq.min);
|
||||
case MaxCol: return QVariant::fromValue(seq.max);
|
||||
case IncrementCol: return QVariant::fromValue(seq.increment);
|
||||
case CacheCol: return QVariant::fromValue(seq.cache);
|
||||
case CycledCol: return seq.cycled;
|
||||
case CalledCol: return seq.called;
|
||||
case AclCol: return seq.aclString();
|
||||
|
|
|
|||
|
|
@ -178,10 +178,10 @@ QVariant TablesTableModel::getData(const QModelIndex &index) const
|
|||
case OptionsCol: break;
|
||||
case AclCol: return t.aclString();
|
||||
case CommentCol: return t.description;
|
||||
case TotalSizeCol: return s.oid == 0 ? QVariant() : s.totalBytes;
|
||||
case TableSizeCol: return s.oid == 0 ? QVariant() : s.totalBytes - s.indexBytes - s.toastBytes;
|
||||
case IndexSizeCol: return s.oid == 0 ? QVariant() : s.indexBytes;
|
||||
case ToastSizeCol: return s.oid == 0 ? QVariant() : s.toastBytes;
|
||||
case TotalSizeCol: return s.oid == 0 ? QVariant() : QVariant::fromValue(s.totalBytes);
|
||||
case TableSizeCol: return s.oid == 0 ? QVariant() : QVariant::fromValue(s.totalBytes - s.indexBytes - s.toastBytes);
|
||||
case IndexSizeCol: return s.oid == 0 ? QVariant() : QVariant::fromValue(s.indexBytes);
|
||||
case ToastSizeCol: return s.oid == 0 ? QVariant() : QVariant::fromValue(s.toastBytes);
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ QVariant StringToVariant(const std::string &str, Oid oid)
|
|||
|
||||
case Pgsql::oid_oid:
|
||||
case Pgsql::int8_oid:
|
||||
return v.operator int64_t();
|
||||
return QVariant::fromValue(static_cast<int64_t>(v));
|
||||
|
||||
case Pgsql::bool_oid:
|
||||
return v.operator bool();
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ if (role == Qt::DisplayRole) {
|
|||
result = item->estimateError();
|
||||
break;
|
||||
case c_ColumnRowCount:
|
||||
result = item->actualRows;
|
||||
result = QVariant::fromValue(item->actualRows);
|
||||
break;
|
||||
case c_ColumnLoops:
|
||||
result = item->actualLoops;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue