mirror of
				https://github.com/yuezk/GlobalProtect-openconnect.git
				synced 2025-05-20 07:26:58 -04:00 
			
		
		
		
	update dependency
This commit is contained in:
		| @@ -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() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user