1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-11-25 12:13:00 +01:00
ScreenPlay/ScreenPlayUtil/CMakeLists.txt

105 lines
2.6 KiB
CMake

# SPDX-License-Identifier: LicenseRef-EliasSteurerTachiom OR AGPL-3.0-only
project(ScreenPlayUtil LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOMOC ON)
find_package(
Qt6
COMPONENTS Core Quick
REQUIRED)
set(QML
# cmake-format: sort
qml/CloseIcon.qml
qml/ColorImage.qml
qml/Dialog.qml
qml/Dialogs/CriticalError.qml
qml/Dialogs/MonitorConfiguration.qml
qml/Dialogs/SteamNotAvailable.qml
qml/FileDropAnimation.qml
qml/FileSelector.qml
qml/Grow.qml
qml/GrowIconLink.qml
qml/Headline.qml
qml/HeadlineSection.qml
qml/ImageSelector.qml
qml/JSUtil.js
qml/LicenseSelector.qml
qml/ModalBackgroundBlur.qml
qml/MouseHoverBlocker.qml
qml/Popup.qml
qml/RippleEffect.qml
qml/Shake.qml
qml/Slider.qml
qml/Tag.qml
qml/TagSelector.qml
qml/TextField.qml)
set(SOURCES
# cmake-format: sort
inc/public/ScreenPlayUtil/httpfileserver.cpp
src/contenttypes.cpp
src/projectfile.cpp
src/util.cpp)
set(HEADER
# cmake-format: sort
inc/public/ScreenPlayUtil/AutoPropertyHelpers.h
inc/public/ScreenPlayUtil/ConstRefPropertyHelpers.h
inc/public/ScreenPlayUtil/contenttypes.h
inc/public/ScreenPlayUtil/exitcodes.h
inc/public/ScreenPlayUtil/HelpersCommon.h
inc/public/ScreenPlayUtil/httpfileserver.h
inc/public/ScreenPlayUtil/ListPropertyHelper.h
inc/public/ScreenPlayUtil/projectfile.h
inc/public/ScreenPlayUtil/PropertyHelpers.h
inc/public/ScreenPlayUtil/PtrPropertyHelpers.h
inc/public/ScreenPlayUtil/SingletonHelper.h
inc/public/ScreenPlayUtil/util.h)
if(APPLE)
list(APPEND SOURCES src/macutils.mm)
list(APPEND HEADER inc/public/ScreenPlayUtil/macutils.h)
endif()
set(RESOURCES # cmake-format: sort
assets/icons/attach_file.svg assets/icons/description.svg assets/icons/folder.svg)
qt_add_library(
${PROJECT_NAME}
STATIC
${SOURCES}
${HEADER})
qt_add_qml_module(
${PROJECT_NAME}
OUTPUT_DIRECTORY
${SCREENPLAY_QML_MODULES_PATH}/${PROJECT_NAME}
RESOURCE_PREFIX
/qml
URI
${PROJECT_NAME}
VERSION
1.0
QML_FILES
${QML}
RESOURCES
${RESOURCES})
find_path(CPP_HTTPLIB_INCLUDE_DIRS "httplib.h")
target_include_directories(${PROJECT_NAME} PUBLIC ${CPP_HTTPLIB_INCLUDE_DIRS})
target_include_directories(
${PROJECT_NAME}
PUBLIC inc/public/
PRIVATE src/)
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Quick)
if(WIN32)
# Used for query windows monitor data
target_link_libraries(${PROJECT_NAME} PUBLIC shcore.lib)
endif()