mirror of
https://github.com/yuezk/GlobalProtect-openconnect.git
synced 2025-04-02 18:31:50 -04:00
update dependency
This commit is contained in:
parent
0eb9cce8bb
commit
14b2f809b8
@ -9,33 +9,16 @@ set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
set(QAPPLICATION_CLASS QApplication CACHE STRING "Inheritance class for SingleApplication")
|
||||
|
||||
find_package(Qt5 REQUIRED COMPONENTS
|
||||
Core
|
||||
Widgets
|
||||
Network
|
||||
WebSockets
|
||||
WebEngine
|
||||
WebEngineWidgets
|
||||
DBus
|
||||
)
|
||||
|
||||
include(cmake/Add3rdParty.cmake)
|
||||
|
||||
add_3rdparty(
|
||||
NAME SingleApplication
|
||||
GITHUB_REPOSITORY itay-grudev/SingleApplication
|
||||
VERSION 3.3.0
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
add_3rdparty(
|
||||
NAME plog
|
||||
GITHUB_REPOSITORY SergiusTheBest/plog
|
||||
GIT_TAG 1.1.5
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
add_subdirectory(GPService)
|
||||
add_subdirectory(GPClient)
|
||||
|
||||
|
@ -1,6 +1,9 @@
|
||||
include("${CMAKE_SOURCE_DIR}/cmake/Add3rdParty.cmake")
|
||||
|
||||
project(GPClient)
|
||||
|
||||
set(gpclient_GENERATED_SOURCES)
|
||||
# set(QAPPLICATION_CLASS QApplication CACHE STRING "Inheritance class for SingleApplication")
|
||||
|
||||
qt5_add_dbus_interface(gpclient_GENERATED_SOURCES ${CMAKE_BINARY_DIR}/com.yuezk.qt.GPService.xml gpserviceinterface)
|
||||
|
||||
@ -28,18 +31,52 @@ add_executable(gpclient
|
||||
${gpclient_GENERATED_SOURCES}
|
||||
)
|
||||
|
||||
target_include_directories(gpclient PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
add_3rdparty(
|
||||
SingleApplication
|
||||
GIT_REPOSITORY https://github.com/itay-grudev/SingleApplication.git
|
||||
GIT_TAG v3.3.0
|
||||
EXCLUDE_FROM_ALL
|
||||
CMAKE_ARGS -DQAPPLICATION_CLASS=QApplication
|
||||
)
|
||||
|
||||
add_3rdparty(
|
||||
plog
|
||||
GIT_REPOSITORY https://github.com/SergiusTheBest/plog.git
|
||||
GIT_TAG 1.1.5
|
||||
EXCLUDE_FROM_ALL
|
||||
CMAKE_ARGS -DPLOG_BUILD_SAMPLES=OFF
|
||||
)
|
||||
|
||||
ExternalProject_Get_Property(SingleApplication-${PROJECT_NAME} SOURCE_DIR)
|
||||
set(SingleApplication_INCLUDE_DIR ${SOURCE_DIR})
|
||||
|
||||
ExternalProject_Get_Property(SingleApplication-${PROJECT_NAME} BINARY_DIR)
|
||||
set(SingleApplication_LIBRARY ${BINARY_DIR}/libSingleApplication.a)
|
||||
|
||||
ExternalProject_Get_Property(plog-${PROJECT_NAME} SOURCE_DIR)
|
||||
set(plog_INCLUDE_DIR "${SOURCE_DIR}/include")
|
||||
|
||||
add_dependencies(gpservice SingleApplication-${PROJECT_NAME} plog-${PROJECT_NAME})
|
||||
|
||||
target_include_directories(gpclient PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${SingleApplication_INCLUDE_DIR}
|
||||
${plog_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
target_link_libraries(gpclient
|
||||
plog
|
||||
SingleApplication
|
||||
${SingleApplication_LIBRARY}
|
||||
Qt5::Widgets
|
||||
Qt5::Network
|
||||
Qt5::WebSockets
|
||||
Qt5::WebEngine
|
||||
Qt5::WebEngineWidgets
|
||||
Qt5::DBus
|
||||
)
|
||||
|
||||
target_compile_definitions(gpclient PUBLIC QAPPLICATION_CLASS=QApplication)
|
||||
|
||||
install(TARGETS gpclient DESTINATION "/usr/bin")
|
||||
install(FILES com.yuezk.qt.gpclient.desktop DESTINATION "/usr/share/applications")
|
||||
install(FILES com.yuezk.qt.GPClient.svg DESTINATION "/usr/share/pixmaps")
|
@ -1,3 +1,5 @@
|
||||
include("${CMAKE_SOURCE_DIR}/cmake/Add3rdParty.cmake")
|
||||
|
||||
project(GPService)
|
||||
|
||||
set(gpservice_GENERATED_SOURCES)
|
||||
@ -20,14 +22,37 @@ add_executable(gpservice
|
||||
${gpservice_GENERATED_SOURCES}
|
||||
)
|
||||
|
||||
target_include_directories(gpservice PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
add_3rdparty(
|
||||
SingleApplication
|
||||
GIT_REPOSITORY https://github.com/itay-grudev/SingleApplication.git
|
||||
GIT_TAG v3.3.0
|
||||
EXCLUDE_FROM_ALL
|
||||
CMAKE_ARGS -DQAPPLICATION_CLASS=QCoreApplication
|
||||
)
|
||||
|
||||
ExternalProject_Get_Property(SingleApplication-${PROJECT_NAME} SOURCE_DIR)
|
||||
ExternalProject_Get_Property(SingleApplication-${PROJECT_NAME} BINARY_DIR)
|
||||
|
||||
set(SingleApplication_INCLUDE_DIR ${SOURCE_DIR})
|
||||
set(SingleApplication_LIBRARY ${BINARY_DIR}/libSingleApplication.a)
|
||||
|
||||
add_dependencies(gpservice SingleApplication-${PROJECT_NAME})
|
||||
|
||||
target_include_directories(gpservice PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${SingleApplication_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
target_link_libraries(gpservice
|
||||
SingleApplication
|
||||
${SingleApplication_LIBRARY}
|
||||
Qt5::Core
|
||||
Qt5::Network
|
||||
Qt5::DBus
|
||||
)
|
||||
|
||||
target_compile_definitions(gpservice PUBLIC QAPPLICATION_CLASS=QCoreApplication)
|
||||
|
||||
install(TARGETS gpservice DESTINATION "/usr/bin")
|
||||
install(FILES "dbus/com.yuezk.qt.GPService.conf" DESTINATION "/usr/share/dbus-1/system.d" )
|
||||
install(FILES "dbus/com.yuezk.qt.GPService.service" DESTINATION "/usr/share/dbus-1/system-services")
|
||||
|
@ -1,8 +1,8 @@
|
||||
include(cmake/CPM.cmake)
|
||||
include(ExternalProject)
|
||||
|
||||
function(add_3rdparty)
|
||||
cmake_parse_arguments(add_3rdparty_args "EXCLUDE_FROM_ALL" "NAME" "" ${ARGN})
|
||||
set(NAME ${add_3rdparty_args_NAME})
|
||||
function(add_3rdparty NAME)
|
||||
set(oneValueArgs GIT_REPOSITORY GIT_TAG)
|
||||
cmake_parse_arguments(add_3rdparty_args "EXCLUDE_FROM_ALL" "${oneValueArgs}" "" ${ARGN})
|
||||
|
||||
if(EXISTS "${CMAKE_SOURCE_DIR}/3rdparty/${NAME}/CMakeLists.txt")
|
||||
message(STATUS "Found third party locally for ${NAME}")
|
||||
@ -13,12 +13,21 @@ function(add_3rdparty)
|
||||
set(addSubdirectoryExtraArgs "")
|
||||
endif()
|
||||
|
||||
add_subdirectory(
|
||||
"${CMAKE_SOURCE_DIR}/3rdparty/${NAME}"
|
||||
ExternalProject_Add(
|
||||
${NAME}-${PROJECT_NAME}
|
||||
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/${NAME}
|
||||
SOURCE_DIR "${CMAKE_SOURCE_DIR}/3rdparty/${NAME}"
|
||||
INSTALL_COMMAND ""
|
||||
${addSubdirectoryExtraArgs}
|
||||
"${add_3rdparty_args_UNPARSED_ARGUMENTS}"
|
||||
)
|
||||
return()
|
||||
endif()
|
||||
|
||||
message(STATUS "Using CPM to download ${NAME}")
|
||||
CPMAddPackage(${ARGN})
|
||||
ExternalProject_Add(
|
||||
${NAME}-${PROJECT_NAME}
|
||||
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/${NAME}
|
||||
"${ARGN}"
|
||||
)
|
||||
endfunction()
|
||||
|
Loading…
Reference in New Issue
Block a user