mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-11-07 03:22:33 +01:00
d5276b8169
Because the WebEngine got renamed we have to make it this ugly. This will only work with Qt5 for now because Qt6 still breaks things.
65 lines
1.6 KiB
CMake
65 lines
1.6 KiB
CMake
project(ScreenPlaySysInfo LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_AUTORCC ON)
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
find_package(infoware CONFIG REQUIRED)
|
|
find_package(
|
|
QT NAMES Qt6 Qt5
|
|
COMPONENTS Quick Core
|
|
REQUIRED)
|
|
|
|
find_package(
|
|
Qt${QT_VERSION_MAJOR}
|
|
COMPONENTS Quick Core
|
|
REQUIRED)
|
|
|
|
set(src
|
|
screenplaysysinfo_plugin.cpp
|
|
sysinfo.cpp
|
|
cpu.cpp
|
|
ram.cpp
|
|
storage.cpp
|
|
uptime.cpp
|
|
gpu.cpp)
|
|
|
|
set(headers
|
|
screenplaysysinfo_plugin.h
|
|
sysinfo.h
|
|
cpu.h
|
|
ram.h
|
|
mathhelper.h
|
|
storage.h
|
|
uptime.h
|
|
gpu.h)
|
|
|
|
add_library(${PROJECT_NAME} SHARED ${src} ${headers})
|
|
|
|
# QML module deployment
|
|
set(URI "ScreenPlay/Sysinfo")
|
|
string(REPLACE "." "/" TARGETPATH ${URI})
|
|
if(NOT DEFINED QT_QMAKE_EXECUTABLE)
|
|
get_target_property(QT_QMAKE_EXECUTABLE Qt${QT_VERSION_MAJOR}::qmake IMPORTED_LOCATION)
|
|
if(NOT QT_QMAKE_EXECUTABLE)
|
|
message(FATAL_ERROR "Cannot find qmake")
|
|
endif()
|
|
endif()
|
|
|
|
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_QML OUTPUT_VARIABLE QT_INSTALL_QML_RAW)
|
|
string(STRIP ${QT_INSTALL_QML_RAW} QT_INSTALL_QML)
|
|
set(DESTDIR "${QT_INSTALL_QML}/${TARGETPATH}")
|
|
message("DESTDIR ${DESTDIR}")
|
|
|
|
file(MAKE_DIRECTORY ${DESTDIR})
|
|
|
|
configure_file(qmldir ${DESTDIR} COPYONLY)
|
|
|
|
# Copies ScreenPlaySysInfo.* into qt qml plugins folder
|
|
add_custom_command(
|
|
TARGET ${PROJECT_NAME}
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ScreenPlaySysInfo> ${DESTDIR}/$<TARGET_FILE_NAME:ScreenPlaySysInfo>)
|
|
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick infoware)
|