mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-09-18 08:22:33 +02:00
Add some Qt6 cmake support
WebEngine is missing because the current 6.2 installed has a broken WebEngine
This commit is contained in:
parent
7410052139
commit
a577decdc9
@ -18,8 +18,7 @@ elseif(APPLE)
|
|||||||
set(VCPKG_ARCH "x64-osx")
|
set(VCPKG_ARCH "x64-osx")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Assume built-in pthreads on MacOS
|
# Assume built-in pthreads on MacOS https://stackoverflow.com/questions/54587052/cmake-on-mac-could-not-find-threads-missing-threads-found
|
||||||
# https://stackoverflow.com/questions/54587052/cmake-on-mac-could-not-find-threads-missing-threads-found
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
|
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
|
||||||
set(CMAKE_HAVE_THREADS_LIBRARY 1)
|
set(CMAKE_HAVE_THREADS_LIBRARY 1)
|
||||||
|
@ -5,16 +5,17 @@ set(CMAKE_AUTORCC ON)
|
|||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
find_package(
|
find_package(
|
||||||
Qt5
|
QT NAMES Qt6 Qt5
|
||||||
COMPONENTS Quick
|
COMPONENTS Quick Widgets Gui LinguistTools WebSockets
|
||||||
QuickCompiler
|
|
||||||
Widgets
|
|
||||||
Gui
|
|
||||||
WebEngine
|
|
||||||
LinguistTools
|
|
||||||
WebSockets
|
|
||||||
REQUIRED)
|
REQUIRED)
|
||||||
|
|
||||||
|
find_package(
|
||||||
|
Qt${QT_VERSION_MAJOR}
|
||||||
|
COMPONENTS Quick Widgets Gui LinguistTools WebSockets
|
||||||
|
REQUIRED)
|
||||||
|
|
||||||
|
message(STATUS "[PROJECT] QT_VERSION_MAJOR = ${QT_VERSION_MAJOR}")
|
||||||
|
|
||||||
find_package(OpenSSL REQUIRED)
|
find_package(OpenSSL REQUIRED)
|
||||||
find_package(benchmark CONFIG REQUIRED)
|
find_package(benchmark CONFIG REQUIRED)
|
||||||
find_package(doctest CONFIG REQUIRED)
|
find_package(doctest CONFIG REQUIRED)
|
||||||
@ -73,10 +74,10 @@ set(l10n
|
|||||||
translations/ScreenPlay_vi.ts)
|
translations/ScreenPlay_vi.ts)
|
||||||
|
|
||||||
set_source_files_properties(${l10n} PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/translations")
|
set_source_files_properties(${l10n} PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/translations")
|
||||||
qt5_add_translation(qmFiles ${l10n})
|
qt_add_translation(qmFiles ${l10n})
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||||
qt5_add_resources(qml qml.qrc Resources.qrc)
|
qt_add_resources(qml qml.qrc Resources.qrc)
|
||||||
else()
|
else()
|
||||||
qtquick_compiler_add_resources(qml qml.qrc Resources.qrc)
|
qtquick_compiler_add_resources(qml qml.qrc Resources.qrc)
|
||||||
endif()
|
endif()
|
||||||
@ -100,12 +101,11 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE "GIT_VERSION=${GIT_VERSION}")
|
|||||||
|
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
${PROJECT_NAME}
|
${PROJECT_NAME}
|
||||||
PRIVATE Qt5::Quick
|
PRIVATE Qt${QT_VERSION_MAJOR}::Quick
|
||||||
Qt5::Gui
|
Qt${QT_VERSION_MAJOR}::Gui
|
||||||
Qt5::Widgets
|
Qt${QT_VERSION_MAJOR}::Widgets
|
||||||
Qt5::Core
|
Qt${QT_VERSION_MAJOR}::Core
|
||||||
Qt5::WebEngine
|
Qt${QT_VERSION_MAJOR}::WebSockets
|
||||||
Qt5::WebSockets
|
|
||||||
ScreenPlaySDK
|
ScreenPlaySDK
|
||||||
ScreenPlayUtil
|
ScreenPlayUtil
|
||||||
benchmark::benchmark
|
benchmark::benchmark
|
||||||
@ -127,10 +127,4 @@ if(WIN32)
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
configure_file(${VCPKG_INSTALLED_PATH}/tools/sentry-native/crashpad_handler.exe ${CMAKE_BINARY_DIR}/bin/ COPYONLY)
|
configure_file(${VCPKG_INSTALLED_PATH}/tools/sentry-native/crashpad_handler.exe ${CMAKE_BINARY_DIR}/bin/ COPYONLY)
|
||||||
elseif(APPLE)
|
|
||||||
# cmake-format: off
|
|
||||||
# Auto ffmpeg download missing for osx
|
|
||||||
#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../Common/ffmpeg/ffmpeg ${CMAKE_BINARY_DIR}/bin/ COPYONLY)
|
|
||||||
#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../Common/ffmpeg/ffprobe ${CMAKE_BINARY_DIR}/bin/ COPYONLY)
|
|
||||||
# cmake-format: on
|
|
||||||
endif()
|
endif()
|
||||||
|
@ -3,9 +3,12 @@ project(ScreenPlaySDK LANGUAGES CXX)
|
|||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
find_package(
|
find_package(
|
||||||
Qt5
|
QT NAMES Qt6 Qt5
|
||||||
|
COMPONENTS Quick Network Core
|
||||||
|
REQUIRED)
|
||||||
|
find_package(
|
||||||
|
Qt${QT_VERSION_MAJOR}
|
||||||
COMPONENTS Quick Network Core
|
COMPONENTS Quick Network Core
|
||||||
REQUIRED)
|
REQUIRED)
|
||||||
|
|
||||||
@ -15,6 +18,7 @@ set(headers inc/screenplay-sdk_plugin.h inc/screenplaysdk.h)
|
|||||||
|
|
||||||
add_library(${PROJECT_NAME} ${src} ${headers})
|
add_library(${PROJECT_NAME} ${src} ${headers})
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Quick Qt5::Gui Qt5::Network)
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::Gui
|
||||||
|
Qt${QT_VERSION_MAJOR}::Network)
|
||||||
|
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC inc)
|
target_include_directories(${PROJECT_NAME} PUBLIC inc)
|
||||||
|
@ -3,9 +3,12 @@ project(ScreenPlayShader LANGUAGES CXX)
|
|||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
find_package(
|
find_package(
|
||||||
Qt5
|
QT NAMES Qt6 Qt5
|
||||||
|
COMPONENTS Quick Core
|
||||||
|
REQUIRED)
|
||||||
|
find_package(
|
||||||
|
Qt${QT_VERSION_MAJOR}
|
||||||
COMPONENTS Quick Core
|
COMPONENTS Quick Core
|
||||||
REQUIRED)
|
REQUIRED)
|
||||||
|
|
||||||
@ -17,7 +20,7 @@ set(shader shader.qrc)
|
|||||||
|
|
||||||
add_library(${PROJECT_NAME} SHARED ${src} ${headers} ${shader})
|
add_library(${PROJECT_NAME} SHARED ${src} ${headers} ${shader})
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Quick Qt5::Gui)
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::Gui)
|
||||||
|
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC inc)
|
target_include_directories(${PROJECT_NAME} PUBLIC inc)
|
||||||
|
|
||||||
@ -25,7 +28,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC inc)
|
|||||||
set(URI "ScreenPlay/Shader")
|
set(URI "ScreenPlay/Shader")
|
||||||
string(REPLACE "." "/" TARGETPATH ${URI})
|
string(REPLACE "." "/" TARGETPATH ${URI})
|
||||||
if(NOT DEFINED QT_QMAKE_EXECUTABLE)
|
if(NOT DEFINED QT_QMAKE_EXECUTABLE)
|
||||||
get_target_property(QT_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION)
|
get_target_property(QT_QMAKE_EXECUTABLE Qt${QT_VERSION_MAJOR}::qmake IMPORTED_LOCATION)
|
||||||
if(NOT QT_QMAKE_EXECUTABLE)
|
if(NOT QT_QMAKE_EXECUTABLE)
|
||||||
message(FATAL_ERROR "Cannot find qmake")
|
message(FATAL_ERROR "Cannot find qmake")
|
||||||
endif()
|
endif()
|
||||||
|
@ -6,7 +6,12 @@ set(CMAKE_AUTOMOC ON)
|
|||||||
|
|
||||||
find_package(infoware CONFIG REQUIRED)
|
find_package(infoware CONFIG REQUIRED)
|
||||||
find_package(
|
find_package(
|
||||||
Qt5
|
QT NAMES Qt6 Qt5
|
||||||
|
COMPONENTS Quick Core
|
||||||
|
REQUIRED)
|
||||||
|
|
||||||
|
find_package(
|
||||||
|
Qt${QT_VERSION_MAJOR}
|
||||||
COMPONENTS Quick Core
|
COMPONENTS Quick Core
|
||||||
REQUIRED)
|
REQUIRED)
|
||||||
|
|
||||||
@ -31,13 +36,13 @@ set(headers
|
|||||||
|
|
||||||
add_library(${PROJECT_NAME} SHARED ${src} ${headers})
|
add_library(${PROJECT_NAME} SHARED ${src} ${headers})
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Quick infoware)
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick infoware)
|
||||||
|
|
||||||
# QML module deployment
|
# QML module deployment
|
||||||
set(URI "ScreenPlay/Sysinfo")
|
set(URI "ScreenPlay/Sysinfo")
|
||||||
string(REPLACE "." "/" TARGETPATH ${URI})
|
string(REPLACE "." "/" TARGETPATH ${URI})
|
||||||
if(NOT DEFINED QT_QMAKE_EXECUTABLE)
|
if(NOT DEFINED QT_QMAKE_EXECUTABLE)
|
||||||
get_target_property(QT_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION)
|
get_target_property(QT_QMAKE_EXECUTABLE Qt${QT_VERSION_MAJOR}::qmake IMPORTED_LOCATION)
|
||||||
if(NOT QT_QMAKE_EXECUTABLE)
|
if(NOT QT_QMAKE_EXECUTABLE)
|
||||||
message(FATAL_ERROR "Cannot find qmake")
|
message(FATAL_ERROR "Cannot find qmake")
|
||||||
endif()
|
endif()
|
||||||
|
@ -3,25 +3,24 @@ project(ScreenPlayUtil LANGUAGES CXX)
|
|||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
find_package(
|
find_package(
|
||||||
Qt5
|
QT NAMES Qt6 Qt5
|
||||||
COMPONENTS Core
|
COMPONENTS Core
|
||||||
|
REQUIRED)
|
||||||
|
find_package(
|
||||||
|
Qt${QT_VERSION_MAJOR}
|
||||||
|
COMPONENTS Core
|
||||||
REQUIRED)
|
REQUIRED)
|
||||||
|
|
||||||
set(SOURCES
|
set(SOURCES src/util.cpp src/contenttypes.cpp)
|
||||||
src/util.cpp
|
|
||||||
src/contenttypes.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set(HEADER
|
set(HEADER inc/public/ScreenPlayUtil/util.h inc/public/ScreenPlayUtil/contenttypes.h inc/public/ScreenPlayUtil/projectfile.h)
|
||||||
inc/public/ScreenPlayUtil/util.h
|
|
||||||
inc/public/ScreenPlayUtil/contenttypes.h
|
|
||||||
inc/public/ScreenPlayUtil/projectfile.h
|
|
||||||
)
|
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADER})
|
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADER})
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core )
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Core)
|
||||||
|
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC inc/public/ PRIVATE src/)
|
target_include_directories(
|
||||||
|
${PROJECT_NAME}
|
||||||
|
PUBLIC inc/public/
|
||||||
|
PRIVATE src/)
|
||||||
|
@ -3,10 +3,13 @@ project(ScreenPlayWallpaper LANGUAGES CXX)
|
|||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
find_package(
|
find_package(
|
||||||
Qt5
|
QT NAMES Qt6 Qt5
|
||||||
COMPONENTS Quick Widgets Gui WebEngine QuickCompiler
|
COMPONENTS Quick Widgets Gui
|
||||||
|
REQUIRED)
|
||||||
|
find_package(
|
||||||
|
Qt${QT_VERSION_MAJOR}
|
||||||
|
COMPONENTS Quick Widgets Gui WebEngine
|
||||||
REQUIRED)
|
REQUIRED)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@ -35,14 +38,21 @@ if(WIN32)
|
|||||||
# Disable console window on Windows
|
# Disable console window on Windows
|
||||||
# https://stackoverflow.com/questions/8249028/how-do-i-keep-my-qt-c-program-from-opening-a-console-in-windows
|
# https://stackoverflow.com/questions/8249028/how-do-i-keep-my-qt-c-program-from-opening-a-console-in-windows
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY WIN32_EXECUTABLE true)
|
set_property(TARGET ${PROJECT_NAME} PROPERTY WIN32_EXECUTABLE true)
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE shcore.lib )
|
target_link_libraries(${PROJECT_NAME} PRIVATE shcore.lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
|
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE "-framework Cocoa")
|
target_link_libraries(${PROJECT_NAME} PRIVATE "-framework Cocoa")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Quick Qt5::Gui Qt5::Widgets Qt5::Core Qt5::WebEngine shcore.lib ScreenPlaySDK ScreenPlayUtil)
|
target_link_libraries(
|
||||||
|
${PROJECT_NAME}
|
||||||
|
PRIVATE Qt${QT_VERSION_MAJOR}::Quick
|
||||||
|
Qt${QT_VERSION_MAJOR}::Gui
|
||||||
|
Qt${QT_VERSION_MAJOR}::Widgets
|
||||||
|
Qt${QT_VERSION_MAJOR}::Core
|
||||||
|
Qt${QT_VERSION_MAJOR}::WebEngine
|
||||||
|
shcore.lib
|
||||||
|
ScreenPlaySDK
|
||||||
|
ScreenPlayUtil)
|
||||||
|
@ -3,10 +3,13 @@ project(ScreenPlayWidget LANGUAGES CXX)
|
|||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
find_package(
|
find_package(
|
||||||
Qt5
|
QT NAMES Qt6 Qt5
|
||||||
COMPONENTS Quick Widgets Gui QuickCompiler WebEngine
|
COMPONENTS Quick Widgets Gui
|
||||||
|
REQUIRED)
|
||||||
|
find_package(
|
||||||
|
Qt${QT_VERSION_MAJOR}
|
||||||
|
COMPONENTS Quick Widgets Gui WebEngine
|
||||||
REQUIRED)
|
REQUIRED)
|
||||||
|
|
||||||
set(src main.cpp src/widgetwindow.cpp)
|
set(src main.cpp src/widgetwindow.cpp)
|
||||||
@ -31,4 +34,5 @@ if(APPLE)
|
|||||||
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
|
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Quick Qt5::Gui Qt5::Widgets Qt5::Core ScreenPlaySDK ScreenPlayUtil)
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Widgets
|
||||||
|
Qt${QT_VERSION_MAJOR}::Core ScreenPlaySDK ScreenPlayUtil)
|
||||||
|
Loading…
Reference in New Issue
Block a user