build: back to cmake.
This commit is contained in:
89
Gui/CMakeLists.txt
Normal file
89
Gui/CMakeLists.txt
Normal file
@@ -0,0 +1,89 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(frelayGUI VERSION ${PROJECT_VERSION} LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
add_definitions(-DUSE_QT_GUI)
|
||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Network)
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Network)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(PROJECT_SOURCES main.cpp
|
||||
frelayGUI.cpp frelayGUI.h frelayGUI.ui
|
||||
Control/LogControl.h Control/LogControl.cpp Control/LogControl.ui
|
||||
Control/FileControl.h Control/FileControl.cpp Control/FileControl.ui
|
||||
Control/ConnectControl.h Control/ConnectControl.cpp Control/ConnectControl.ui
|
||||
Control/CompareControl.h Control/CompareControl.cpp Control/CompareControl.ui
|
||||
GuiUtil/Public.h GuiUtil/Public.cpp
|
||||
Form/Transform.h Form/Transform.cpp Form/Transform.ui
|
||||
../Res/frelay.qrc ../Res/ico.rc
|
||||
Control/cusTableWidget.cpp Control/cusTableWidget.h
|
||||
Control/cpTableWidget.h Control/cpTableWidget.cpp
|
||||
GuiUtil/Config.h GuiUtil/Config.cpp
|
||||
)
|
||||
|
||||
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
|
||||
qt_add_executable(frelayGUI
|
||||
MANUAL_FINALIZATION
|
||||
${PROJECT_SOURCES}
|
||||
)
|
||||
# Define target properties for Android with Qt 6 as:
|
||||
# set_property(TARGET frelayGUI APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
|
||||
# ${CMAKE_CURRENT_SOURCE_DIR}/android)
|
||||
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
|
||||
else()
|
||||
if(ANDROID)
|
||||
add_library(frelayGUI SHARED
|
||||
${PROJECT_SOURCES}
|
||||
)
|
||||
# Define properties for Android with Qt 5 after find_package() calls as:
|
||||
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
|
||||
else()
|
||||
add_executable(frelayGUI
|
||||
${PROJECT_SOURCES}
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_link_libraries(frelayGUI PRIVATE
|
||||
Qt${QT_VERSION_MAJOR}::Widgets
|
||||
Qt${QT_VERSION_MAJOR}::Network
|
||||
ClientCore Protocol
|
||||
Util
|
||||
Struct SingleApplication::SingleApplication
|
||||
)
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
target_link_libraries(frelayGUI PRIVATE ws2_32 wsock32)
|
||||
endif()
|
||||
|
||||
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
||||
# If you are developing for iOS or macOS you should consider setting an
|
||||
# explicit, fixed bundle identifier manually though.
|
||||
if(${QT_VERSION} VERSION_LESS 6.1.0)
|
||||
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.frelayGUI)
|
||||
endif()
|
||||
set_target_properties(frelayGUI PROPERTIES
|
||||
${BUNDLE_ID_OPTION}
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||
MACOSX_BUNDLE TRUE
|
||||
WIN32_EXECUTABLE TRUE
|
||||
)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
install(TARGETS frelayGUI
|
||||
BUNDLE DESTINATION .
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
|
||||
if(QT_VERSION_MAJOR EQUAL 6)
|
||||
qt_finalize_executable(frelayGUI)
|
||||
endif()
|
||||
@@ -28,7 +28,7 @@ frelayGUI::frelayGUI(QWidget* parent) : QMainWindow(parent), ui(new Ui::frelayGU
|
||||
int height = static_cast<int>(availableGeometry.height() * 0.6);
|
||||
resize(width, height);
|
||||
|
||||
setWindowTitle(QString(tr("frelay %1.%2.%3")).arg(VERSION_MAJOR).arg(VERSION_MINOR).arg(VERSION_ALTER));
|
||||
setWindowTitle(QString(tr("frelay %1")).arg(VERSION_NUM));
|
||||
|
||||
QLabel* permanent = new QLabel(this);
|
||||
permanent->setFrameStyle(QFrame::Box | QFrame::Sunken);
|
||||
|
||||
17
Gui/main.cpp
17
Gui/main.cpp
@@ -5,24 +5,9 @@
|
||||
|
||||
#include "frelayGUI.h"
|
||||
|
||||
#ifndef NO_CRASHELPER
|
||||
#include <crashelper.h>
|
||||
#endif
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
||||
#ifndef NO_CRASHELPER
|
||||
auto configDir = Util::GetCurConfigPath("frelay");
|
||||
#ifdef _WIN32
|
||||
backward::SetDumpFileSavePath(configDir + "/dumpfile");
|
||||
backward::SetDumpLogSavePath(configDir + "/dumplog");
|
||||
#else
|
||||
backward::SetDumpLogSavePath(configDir + QDir::separator() + "dumplog");
|
||||
#endif
|
||||
CRASHELPER_MARK_ENTRY();
|
||||
#endif
|
||||
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
|
||||
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||
#endif
|
||||
@@ -32,7 +17,7 @@ int main(int argc, char* argv[])
|
||||
#ifdef _WIN32
|
||||
QFont font("Microsoft YaHei", 9);
|
||||
a.setFont(font);
|
||||
//a.setStyle("fusion");
|
||||
// a.setStyle("fusion");
|
||||
a.setStyle("windows");
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
add_rules("mode.debug", "mode.release")
|
||||
target("frelayGUI")
|
||||
add_rules("qt.widgetapp")
|
||||
add_defines("QAPPLICATION_CLASS=QApplication")
|
||||
add_includedirs(".", {public = true})
|
||||
add_files("Control/*.h")
|
||||
add_files("Form/*.h")
|
||||
add_files("GuiUtil/*.h")
|
||||
add_files("Control/*.cpp")
|
||||
add_files("Control/*.ui")
|
||||
add_files("Form/*.cpp")
|
||||
add_files("Form/*.ui")
|
||||
add_files("GuiUtil/*.cpp")
|
||||
add_files("*.cpp")
|
||||
add_files("*.ui")
|
||||
add_files("*.h")
|
||||
add_files("../Res/frelay.qrc")
|
||||
|
||||
if is_plat("windows") then
|
||||
add_files("../Res/ico.rc")
|
||||
add_ldflags("-subsystem:windows")
|
||||
end
|
||||
add_frameworks("QtCore")
|
||||
add_frameworks("QtGui")
|
||||
add_frameworks("QtNetwork")
|
||||
add_deps("Struct")
|
||||
add_deps("Protocol")
|
||||
add_deps("Util")
|
||||
add_deps("ClientCore")
|
||||
add_deps("SingleApplication")
|
||||
if is_plat("mingw") then
|
||||
add_files("../Res/ico.rc")
|
||||
add_ldflags("-mwindows")
|
||||
else
|
||||
add_deps("crashelper")
|
||||
end
|
||||
|
||||
if is_plat("linux") then
|
||||
add_links("dl")
|
||||
end
|
||||
Reference in New Issue
Block a user