mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-18 18:44:01 +00:00
67 lines
2.3 KiB
CMake
67 lines
2.3 KiB
CMake
|
set(QT_NO_CREATE_VERSIONLESS_FUNCTIONS true)
|
||
|
|
||
|
set(CMAKE_AUTORCC On)
|
||
|
|
||
|
find_package(Qt6 ${STATUS_QT_VERSION} COMPONENTS Quick REQUIRED)
|
||
|
qt6_standard_project_setup()
|
||
|
|
||
|
qt6_add_executable(${PROJECT_NAME} "")
|
||
|
|
||
|
# TODO: Fix temporarly workaround until we make qt6_target_qml_sources work
|
||
|
# Adds qml files as /Status/Application/qml/.../<file name>
|
||
|
qt6_add_qml_module(${PROJECT_NAME}
|
||
|
URI Status.Application
|
||
|
VERSION 1.0
|
||
|
QML_FILES
|
||
|
qml/main.qml
|
||
|
qml/Status/Application/StatusWindow.qml
|
||
|
qml/Status/Application/StatusContentView.qml
|
||
|
qml/Status/Application/MainShortcuts.qml
|
||
|
|
||
|
qml/Status/Application/MainView/MainView.qml
|
||
|
|
||
|
qml/Status/Application/System/StatusTrayIcon.qml
|
||
|
|
||
|
qml/Status/Application/Decorators/SplashScreen.qml
|
||
|
OUTPUT_DIRECTORY
|
||
|
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Status/Application
|
||
|
)
|
||
|
|
||
|
# Compile time definitions required by the project
|
||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE BUILD_PROJECT_NAME=${PROJECT_NAME})
|
||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE BUILD_PROJECT_ORGANIZATION_DOMAIN=${PROJECT_ORGANIZATION_DOMAIN})
|
||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE BUILD_PROJECT_ORGANIZATION_NAME=${PROJECT_ORGANIZATION_NAME})
|
||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE BUILD_PROJECT_APPLICATION_NAME=${PROJECT_APPLICATION_NAME})
|
||
|
|
||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE BUILD_BINARY_DIR=${CMAKE_BINARY_DIR})
|
||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE BUILD_SOURCE_DIR=${CMAKE_SOURCE_DIR})
|
||
|
|
||
|
add_subdirectory(qml)
|
||
|
add_subdirectory(src)
|
||
|
add_subdirectory(res)
|
||
|
|
||
|
include(${CMAKE_SOURCE_DIR}/cmake/platform_specific.cmake)
|
||
|
string(TOLOWER ${PROJECT_ORGANIZATION_NAME} URL_ORGANIZATION_NAME)
|
||
|
configure_app_os_specific(${PROJECT_NAME} ${URL_ORGANIZATION_NAME} ${PROJECT_ORGANIZATION_DOMAIN} ${PROJECT_VERSION_MAJOR} ${PROJECT_VERSION_MINOR} ${PROJECT_VERSION_PATCH})
|
||
|
|
||
|
target_compile_definitions(${PROJECT_NAME}
|
||
|
PRIVATE
|
||
|
$<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>
|
||
|
)
|
||
|
|
||
|
target_link_libraries(${PROJECT_NAME}
|
||
|
PRIVATE
|
||
|
Qt6::Quick
|
||
|
|
||
|
# TODO: Use Status:: namespace
|
||
|
#Core
|
||
|
Helpers
|
||
|
Onboarding
|
||
|
Assets
|
||
|
)
|
||
|
|
||
|
# QtCreator needs this
|
||
|
set(QML_IMPORT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/qml;${QML_IMPORT_PATH} CACHE STRING "For QtCreator" FORCE)
|
||
|
list(REMOVE_DUPLICATES QML_IMPORT_PATH)
|
||
|
|