mirror of
https://github.com/yuezk/GlobalProtect-openconnect.git
synced 2025-04-02 18:31:50 -04:00
migrate to cmake
This commit is contained in:
parent
0d4485d754
commit
2a68f6aa2d
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,6 +6,7 @@ gpservice
|
||||
*.gz
|
||||
.DS_Store
|
||||
build-debian
|
||||
build
|
||||
|
||||
# Auto generated DBus files
|
||||
*_adaptor.cpp
|
||||
|
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -1,5 +1,5 @@
|
||||
[submodule "singleapplication"]
|
||||
path = singleapplication
|
||||
path = SingleApplication
|
||||
url = https://github.com/itay-grudev/SingleApplication.git
|
||||
|
||||
[submodule "plog"]
|
||||
|
29
CMakeLists.txt
Normal file
29
CMakeLists.txt
Normal file
@ -0,0 +1,29 @@
|
||||
cmake_minimum_required(VERSION 3.1.0)
|
||||
|
||||
project(GlobalProtect-openconnect VERSION 1.3.3)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
set(QAPPLICATION_CLASS QApplication CACHE STRING "Inheritance class for SingleApplication")
|
||||
|
||||
include(cmake/CPM.cmake)
|
||||
|
||||
find_package(Qt5 REQUIRED COMPONENTS
|
||||
Core
|
||||
Widgets
|
||||
WebSockets
|
||||
WebEngine
|
||||
WebEngineWidgets
|
||||
DBus
|
||||
)
|
||||
|
||||
CPMAddPackage("gh:itay-grudev/SingleApplication@3.3.0")
|
||||
CPMAddPackage("gh:SergiusTheBest/plog#1.1.5")
|
||||
|
||||
add_subdirectory(GPService)
|
||||
add_subdirectory(GPClient)
|
37
GPClient/CMakeLists.txt
Normal file
37
GPClient/CMakeLists.txt
Normal file
@ -0,0 +1,37 @@
|
||||
project(gpclient)
|
||||
|
||||
set(gpclient_GENERATED_SOURCES)
|
||||
|
||||
qt5_add_dbus_interface(gpclient_GENERATED_SOURCES ${CMAKE_BINARY_DIR}/com.yuezk.qt.GPService.xml gpserviceinterface)
|
||||
|
||||
add_executable(gpclient
|
||||
cdpcommand.cpp
|
||||
cdpcommandmanager.cpp
|
||||
enhancedwebview.cpp
|
||||
gatewayauthenticator.cpp
|
||||
gatewayauthenticatorparams.cpp
|
||||
gpgateway.cpp
|
||||
gphelper.cpp
|
||||
loginparams.cpp
|
||||
main.cpp
|
||||
normalloginwindow.cpp
|
||||
portalauthenticator.cpp
|
||||
portalconfigresponse.cpp
|
||||
preloginresponse.cpp
|
||||
samlloginwindow.cpp
|
||||
gpclient.cpp
|
||||
settingsdialog.cpp
|
||||
${gpclient_GENERATED_SOURCES}
|
||||
)
|
||||
|
||||
target_include_directories(gpclient PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
target_link_libraries(gpclient
|
||||
plog
|
||||
SingleApplication
|
||||
Qt5::Widgets
|
||||
Qt5::WebSockets
|
||||
Qt5::WebEngine
|
||||
Qt5::WebEngineWidgets
|
||||
Qt5::DBus
|
||||
)
|
@ -1,7 +1,7 @@
|
||||
#ifndef GPCLIENT_H
|
||||
#define GPCLIENT_H
|
||||
|
||||
#include "gpservice_interface.h"
|
||||
#include "gpserviceinterface.h"
|
||||
#include "portalconfigresponse.h"
|
||||
#include "settingsdialog.h"
|
||||
|
||||
|
29
GPService/CMakeLists.txt
Normal file
29
GPService/CMakeLists.txt
Normal file
@ -0,0 +1,29 @@
|
||||
project(gpservice)
|
||||
|
||||
set(gpservice_GENERATED_SOURCES)
|
||||
|
||||
# generate the dbus xml definition
|
||||
qt5_generate_dbus_interface(gpservice.h ${CMAKE_BINARY_DIR}/com.yuezk.qt.GPService.xml)
|
||||
|
||||
# generate dbus adaptor
|
||||
qt5_add_dbus_adaptor(
|
||||
gpservice_GENERATED_SOURCES
|
||||
${CMAKE_BINARY_DIR}/com.yuezk.qt.GPService.xml
|
||||
gpservice.h
|
||||
GPService
|
||||
)
|
||||
|
||||
add_executable(gpservice
|
||||
gpservice.cpp
|
||||
main.cpp
|
||||
sigwatch.cpp
|
||||
${gpservice_GENERATED_SOURCES}
|
||||
)
|
||||
|
||||
target_include_directories(gpservice PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
target_link_libraries(gpservice
|
||||
SingleApplication
|
||||
Qt5::Core
|
||||
Qt5::DBus
|
||||
)
|
@ -1,5 +1,5 @@
|
||||
#include "gpservice.h"
|
||||
#include "gpservice_adaptor.h"
|
||||
#include "gpserviceadaptor.h"
|
||||
|
||||
#include <QFileInfo>
|
||||
#include <QtDBus>
|
||||
|
@ -21,6 +21,8 @@ public:
|
||||
explicit GPService(QObject *parent = nullptr);
|
||||
~GPService();
|
||||
|
||||
void quit();
|
||||
|
||||
enum VpnStatus {
|
||||
VpnNotConnected,
|
||||
VpnConnecting,
|
||||
@ -38,7 +40,6 @@ public slots:
|
||||
void connect(QString server, QString username, QString passwd, QString extraArgs);
|
||||
void disconnect();
|
||||
int status();
|
||||
void quit();
|
||||
|
||||
private slots:
|
||||
void onProcessStarted();
|
||||
|
21
cmake/CPM.cmake
Normal file
21
cmake/CPM.cmake
Normal file
@ -0,0 +1,21 @@
|
||||
set(CPM_DOWNLOAD_VERSION 0.32.3)
|
||||
|
||||
if(CPM_SOURCE_CACHE)
|
||||
# Expand relative path. This is important if the provided path contains a tilde (~)
|
||||
get_filename_component(CPM_SOURCE_CACHE ${CPM_SOURCE_CACHE} ABSOLUTE)
|
||||
set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
|
||||
elseif(DEFINED ENV{CPM_SOURCE_CACHE})
|
||||
set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
|
||||
else()
|
||||
set(CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
|
||||
endif()
|
||||
|
||||
if(NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
|
||||
message(STATUS "Downloading CPM.cmake to ${CPM_DOWNLOAD_LOCATION}")
|
||||
file(DOWNLOAD
|
||||
https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake
|
||||
${CPM_DOWNLOAD_LOCATION}
|
||||
)
|
||||
endif()
|
||||
|
||||
include(${CPM_DOWNLOAD_LOCATION})
|
Loading…
Reference in New Issue
Block a user