graph/CMakeLists.txt

50 lines
1.6 KiB
CMake
Raw Normal View History

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-14 09:14:22 +00:00
include_directories("${CMAKE_SOURCE_DIR}/inc" "${CMAKE_SOURCE_DIR}/build")
2024-05-13 21:41:20 +00:00
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)
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")
2024-05-14 09:14:22 +00:00
cmake_print_variables(SERVER_SOURCES)
cmake_print_variables(SERVER_UI)
cmake_print_variables(SERVER_RES)
cmake_print_variables(SERVER_HEADERS)
qt_wrap_cpp(SERVER_GEN_SRC ${SERVER_SRC})
qt_wrap_ui(SERVER_GEN_UI ${SERVER_UI})
add_executable(server
${SERVER_SOURCES} ${SERVER_RES} ${SERVER_UI} ${SERVER_HEADERS}
${SERVER_GEN_SRC} ${SERVER_GEN_UI}
2024-05-14 09:30:26 +00:00
)
2024-05-14 09:14:22 +00:00
2024-05-14 08:54:07 +00:00
target_link_libraries(server PRIVATE dl Qt6::Widgets)