summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: 55ce69d47796e5a1ab29d4a8a75f5f320389c5bf (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
41
42
43
44
45
46
47
48
49
cmake_minimum_required(VERSION 3.16)

project(qtlauncher VERSION 1.0 LANGUAGES CXX)

find_package(Qt6 REQUIRED COMPONENTS Core Gui Qml Quick QuickControls2 WaylandCompositor)
qt_standard_project_setup(REQUIRES 6.5)

if(NOT DEFINED USE_SHARED_BUILD)
    message("Doing STATIC build")
    set(USE_STATIC_BUILD_FLAG TRUE)
    set(BUILD_TYPE_FLAG "STATIC")
else()
    message("Doing SHARED build")
    set(USE_STATIC_BUILD_FLAG FALSE)
    set(BUILD_TYPE_FLAG "SHARED")
endif()

qt_add_executable(${PROJECT_NAME}
    main.cpp
)


# Collect metadata
file(GLOB_RECURSE metadata_glob
    RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
    metadata/*)
list(APPEND metadata ${metadata_glob})

qt_add_resources(${PROJECT_NAME} "metadata"
    FILES ${metadata}
)

if(NOT DEFINED USE_SHARED_BUILD)
    target_compile_definitions(${PROJECT_NAME} PRIVATE USE_STATIC_BUILD_FLAG)
endif()

target_link_libraries(${PROJECT_NAME} PRIVATE
    Qt6::Gui
    Qt6::Qml
    $<$<BOOL:${USE_STATIC_BUILD_FLAG}>:QtLauncherplugin>
    $<$<BOOL:${USE_STATIC_BUILD_FLAG}>:QtImageProvidersPlugin>
)

add_subdirectory(QtLauncher)

install(TARGETS ${PROJECT_NAME}
    BUNDLE DESTINATION .
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)