2024-05-13 21:41:20 +00:00
|
|
|
cmake_minimum_required(VERSION 3.22)
|
|
|
|
project(graph)
|
|
|
|
|
|
|
|
include(CMakePrintHelpers)
|
|
|
|
|
|
|
|
set(CMAKE_C_COMPILER clang)
|
|
|
|
set(CMAKE_CXX_COMPILER clang++)
|
2024-05-14 08:54:07 +00:00
|
|
|
|
2024-05-13 21:41:20 +00:00
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
2024-05-14 08:54:07 +00:00
|
|
|
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS true)
|
|
|
|
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror -Wno-unused-parameter -Wno-unused-variable -Wno-unused-private-field")
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wno-unused-parameter -Wno-unused-variable -Wno-unused-private-field")
|
2024-05-13 21:41:20 +00:00
|
|
|
|
|
|
|
if(DEBUG)
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -DDEBUG")
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -DDEBUG")
|
|
|
|
endif()
|
|
|
|
|
2024-05-14 08:54:07 +00:00
|
|
|
# build plugins
|
2024-05-13 21:41:20 +00:00
|
|
|
include_directories("${CMAKE_SOURCE_DIR}/inc")
|
|
|
|
add_subdirectory("${CMAKE_SOURCE_DIR}/src/graph/plugins")
|
|
|
|
|
2024-05-14 08:54:07 +00:00
|
|
|
# build gui server
|
2024-05-13 21:41:20 +00:00
|
|
|
find_package(Qt6 REQUIRED COMPONENTS Widgets)
|
2024-05-14 08:54:07 +00:00
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
set(CMAKE_AUTOUIC ON)
|
|
|
|
# qt_standard_project_setup()
|
2024-05-13 21:41:20 +00:00
|
|
|
|
2024-05-14 08:54:07 +00:00
|
|
|
file(GLOB_RECURSE SERVER_SOURCES "${CMAKE_SOURCE_DIR}/src/graph/server/*.cpp")
|
|
|
|
file(GLOB_RECURSE SERVER_UI "${CMAKE_SOURCE_DIR}/src/graph/server/*.ui")
|
|
|
|
file(GLOB_RECURSE SERVER_RES "${CMAKE_SOURCE_DIR}/src/graph/server/*.qrc")
|
|
|
|
file(GLOB_RECURSE SERVER_HEADERS "${CMAKE_SOURCE_DIR}/inc/graph/server/*.h")
|
|
|
|
add_executable(server ${SERVER_SOURCES} ${SERVER_RES} ${SERVER_UI} ${SERVER_HEADERS})
|
|
|
|
target_link_libraries(server PRIVATE dl Qt6::Widgets)
|