summaryrefslogtreecommitdiff
path: root/meshmc/updater/CMakeLists.txt
blob: b65709fa905dc5d4aa9419c57db214c2a8121531 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# SPDX-FileCopyrightText: 2026 Project Tick
# SPDX-FileContributor: Project Tick
# SPDX-License-Identifier: GPL-3.0-or-later

cmake_minimum_required(VERSION 3.28)

project(meshmc-updater)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

find_package(Qt6 REQUIRED COMPONENTS Core Network)
find_package(LibArchive REQUIRED)

# On Windows: use Win32 subsystem so no console window appears.
if(WIN32)
    set(UPDATER_WIN32_FLAG WIN32)
else()
    set(UPDATER_WIN32_FLAG "")
endif()

add_executable(meshmc-updater ${UPDATER_WIN32_FLAG}
    main.cpp
    Installer.h
    Installer.cpp
)

target_link_libraries(meshmc-updater
    PRIVATE
        Qt6::Core
        Qt6::Network
        LibArchive::LibArchive
)

# Install alongside the main binary so UpdateController can find it.
install(TARGETS meshmc-updater
    RUNTIME DESTINATION "${BINARY_DEST_DIR}"
)