feature/added cmake support for linux
This commit is contained in:
parent
ac78a44d74
commit
3eb7e1392d
4 changed files with 45 additions and 26 deletions
|
|
@ -8,7 +8,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS
|
find_package(Qt6 REQUIRED COMPONENTS
|
||||||
Widgets Core Gui Network Xml
|
Widgets Core Gui Network Xml
|
||||||
RemoteObjects Quick Svg Quickcontrols2
|
RemoteObjects Quick Svg QuickControls2
|
||||||
Core5Compat
|
Core5Compat
|
||||||
)
|
)
|
||||||
qt_standard_project_setup()
|
qt_standard_project_setup()
|
||||||
|
|
@ -180,9 +180,11 @@ endif()
|
||||||
if(LINUX AND NOT ANDROID)
|
if(LINUX AND NOT ANDROID)
|
||||||
add_compile_definitions(MVPN_LINUX)
|
add_compile_definitions(MVPN_LINUX)
|
||||||
|
|
||||||
|
set(OPENSSL_USE_STATIC_LIBS TRUE)
|
||||||
|
find_package(OpenSSL REQUIRED)
|
||||||
set(LIBS ${LIBS}
|
set(LIBS ${LIBS}
|
||||||
/usr/lib/x86_64-linux-gnu/libcrypto.a
|
OpenSSL::Crypto
|
||||||
/usr/lib/x86_64-linux-gnu/libssl.a
|
OpenSSL::SSL
|
||||||
)
|
)
|
||||||
link_directories(${CMAKE_CURRENT_LIST_DIR}/platforms/linux)
|
link_directories(${CMAKE_CURRENT_LIST_DIR}/platforms/linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
@ -367,22 +369,6 @@ if(ANDROID)
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# deploy artifacts required to run the application to the debug build folder
|
|
||||||
if(WIN32)
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
|
||||||
set(DIR_NAME "x64")
|
|
||||||
else()
|
|
||||||
set(DIR_NAME "x32")
|
|
||||||
endif()
|
|
||||||
add_custom_command(
|
|
||||||
TARGET ${PROJECT} POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E $<IF:$<CONFIG:Debug>,copy_directory,true>
|
|
||||||
${CMAKE_SOURCE_DIR}/deploy/data/windows/${DIR_NAME}
|
|
||||||
$<TARGET_FILE_DIR:${PROJECT}>
|
|
||||||
COMMAND_EXPAND_LISTS
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_link_libraries(${PROJECT} PRIVATE
|
target_link_libraries(${PROJECT} PRIVATE
|
||||||
Qt6::Widgets Qt6::Core Qt6::Gui
|
Qt6::Widgets Qt6::Core Qt6::Gui
|
||||||
Qt6::Network Qt6::Xml Qt6::RemoteObjects
|
Qt6::Network Qt6::Xml Qt6::RemoteObjects
|
||||||
|
|
@ -394,3 +380,24 @@ if(WIN32 OR APPLE OR (LINUX AND NOT ANDROID))
|
||||||
qt_add_repc_replicas(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../ipc/ipc_interface.rep)
|
qt_add_repc_replicas(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../ipc/ipc_interface.rep)
|
||||||
qt_add_repc_replicas(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../ipc/ipc_process_interface.rep)
|
qt_add_repc_replicas(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../ipc/ipc_process_interface.rep)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# deploy artifacts required to run the application to the debug build folder
|
||||||
|
if(WIN32)
|
||||||
|
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||||
|
set(DEPLOY_ARTIFACT_PATH "windows/x64")
|
||||||
|
else()
|
||||||
|
set(DEPLOY_ARTIFACT_PATH "windows/x32")
|
||||||
|
endif()
|
||||||
|
elseif(LINUX)
|
||||||
|
set(DEPLOY_ARTIFACT_PATH "linux/client")
|
||||||
|
elseif(APPLE)
|
||||||
|
set(DEPLOY_ARTIFACT_PATH "macos")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
TARGET ${PROJECT} POST_BUILD
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E $<IF:$<CONFIG:Debug>,copy_directory,true>
|
||||||
|
${CMAKE_SOURCE_DIR}/deploy/data/${DEPLOY_ARTIFACT_PATH}
|
||||||
|
$<TARGET_FILE_DIR:${PROJECT}>
|
||||||
|
COMMAND_EXPAND_LISTS
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -47,16 +47,15 @@ echo "Using Qt in $QT_BIN_DIR"
|
||||||
|
|
||||||
|
|
||||||
# Checking env
|
# Checking env
|
||||||
$QT_BIN_DIR/qmake -v
|
$QT_BIN_DIR/qt-cmake --version
|
||||||
make -v
|
|
||||||
gcc -v
|
gcc -v
|
||||||
|
|
||||||
# Build App
|
# Build App
|
||||||
echo "Building App..."
|
echo "Building App..."
|
||||||
cd $BUILD_DIR
|
cd $BUILD_DIR
|
||||||
|
|
||||||
$QT_BIN_DIR/qmake $PROJECT_DIR/AmneziaVPN.pro 'CONFIG+=release CONFIG+=x86_64'
|
$QT_BIN_DIR/qt-cmake -S $PROJECT_DIR
|
||||||
make
|
cmake --build . --config release
|
||||||
|
|
||||||
# Build and run tests here
|
# Build and run tests here
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,4 +14,6 @@ if(NOT IOS AND NOT ANDROID)
|
||||||
add_subdirectory(server)
|
add_subdirectory(server)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(wireguard-service)
|
if(WIN32)
|
||||||
|
add_subdirectory(wireguard-service)
|
||||||
|
endif()
|
||||||
|
|
@ -81,8 +81,6 @@ endif()
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/../src/qtservice.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/../src/qtservice.cmake)
|
||||||
|
|
||||||
message(${CMAKE_CURRENT_BINARY_DIR})
|
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_CURRENT_LIST_DIR}/../../client
|
${CMAKE_CURRENT_LIST_DIR}/../../client
|
||||||
${CMAKE_CURRENT_LIST_DIR}/../../ipc
|
${CMAKE_CURRENT_LIST_DIR}/../../ipc
|
||||||
|
|
@ -97,3 +95,16 @@ qt_add_repc_sources(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../../ipc/ipc_interface
|
||||||
if(NOT IOS)
|
if(NOT IOS)
|
||||||
qt_add_repc_sources(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../../ipc/ipc_process_interface.rep)
|
qt_add_repc_sources(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../../ipc/ipc_process_interface.rep)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# deploy artifacts required to run the application to the debug build folder
|
||||||
|
if(LINUX)
|
||||||
|
set(DEPLOY_ARTIFACT_PATH "linux/service")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
TARGET ${PROJECT} POST_BUILD
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E $<IF:$<CONFIG:Debug>,copy_directory,true>
|
||||||
|
${CMAKE_SOURCE_DIR}/deploy/data/${DEPLOY_ARTIFACT_PATH}
|
||||||
|
$<TARGET_FILE_DIR:${PROJECT}>
|
||||||
|
COMMAND_EXPAND_LISTS
|
||||||
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue