-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #473 from valbok/cmake
Introduce cmake support
- Loading branch information
Showing
4 changed files
with
353 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
cmake_minimum_required(VERSION 3.8) | ||
project(qml_video LANGUAGES CXX) | ||
|
||
set(CMAKE_CXX_STANDARD 17) | ||
set(CMAKE_AUTOMOC ON) | ||
|
||
find_package(Qt6 COMPONENTS CoreTools) | ||
if(Qt6CoreTools_FOUND) | ||
find_package(Qt6 COMPONENTS QmlTools Quick REQUIRED) | ||
qt6_add_resources(QT_RESOURCES qml_qt6.qrc) | ||
find_package(Qt6 COMPONENTS MultimediaQuickPrivate REQUIRED) | ||
include_directories(${Qt6MultimediaQuick_PRIVATE_INCLUDE_DIRS}) | ||
include_directories(${Qt6Multimedia_PRIVATE_INCLUDE_DIRS}) | ||
find_package(Qt6 REQUIRED COMPONENTS Core BuildInternals OPTIONAL_COMPONENTS Multimedia) | ||
add_definitions(${Qt6Core_DEFINITIONS}) | ||
else() | ||
find_package(Qt5 REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Gui Multimedia) | ||
find_package(Qt5 COMPONENTS Quick) | ||
qt5_add_resources(QT_RESOURCES qml.qrc) | ||
include_directories(${Qt5Multimedia_PRIVATE_INCLUDE_DIRS}) | ||
add_definitions(${Qt5Core_DEFINITIONS}) | ||
endif() | ||
|
||
include_directories(../../src/) | ||
set(QT_AVPLAYER_DIR ../../src/QtAVPlayer/) | ||
include(../../src/QtAVPlayer/QtAVPlayer.cmake) | ||
|
||
set(SOURCES ${QtAVPlayer_SOURCES} main.cpp) | ||
|
||
add_executable(${PROJECT_NAME} WIN32 ${SOURCES} ${QT_RESOURCES}) | ||
if(NOT WIN32) | ||
add_definitions(-std=c++1z) | ||
target_compile_options(${PROJECT_NAME} PRIVATE -fPIC) | ||
endif() | ||
|
||
set(LIBS ${QtAVPlayer_LIBS}) | ||
|
||
if(Qt6_FOUND) | ||
set(LIBS ${LIBS} Qt6::Core Qt6::Gui Qt6::Multimedia Qt6::Quick Qt6::MultimediaQuickPrivate) | ||
else() | ||
set(LIBS ${LIBS} Qt5::Core Qt5::Gui Qt5::Quick Qt5::Multimedia ${MultimediaQuick_LIBRARY}) | ||
if (Qt5Core_VERSION VERSION_LESS 5.15.0) | ||
find_library(MultimediaQuick_LIBRARY REQUIRED NAMES Qt5MultimediaQuick) | ||
set(LIBS ${LIBS} ${MultimediaQuick_LIBRARY}) | ||
else() | ||
find_package(Qt5 COMPONENTS MultimediaQuick REQUIRED) | ||
include_directories(${Qt5MultimediaQuick_PRIVATE_INCLUDE_DIRS}) | ||
set(LIBS ${LIBS} Qt5::MultimediaQuick) | ||
endif() | ||
endif() | ||
|
||
target_link_libraries(${PROJECT_NAME} ${LIBS}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
cmake_minimum_required(VERSION 3.8) | ||
project(widget_video LANGUAGES CXX) | ||
|
||
set(CMAKE_CXX_STANDARD 17) | ||
set(CMAKE_AUTOMOC ON) | ||
|
||
find_package(Qt6 COMPONENTS CoreTools) | ||
if(Qt6CoreTools_FOUND) | ||
find_package(Qt6 COMPONENTS MultimediaWidgets REQUIRED) | ||
find_package(Qt6 REQUIRED COMPONENTS Core BuildInternals OPTIONAL_COMPONENTS Multimedia) | ||
include_directories(${Qt6Multimedia_PRIVATE_INCLUDE_DIRS}) | ||
include_directories(${Qt6MultimediaWidgets_INCLUDE_DIRS}) | ||
add_definitions(${Qt6Core_DEFINITIONS}) | ||
else() | ||
find_package(Qt5 COMPONENTS MultimediaWidgets REQUIRED) | ||
find_package(Qt5 REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Gui Multimedia) | ||
include_directories(${Qt5Multimedia_PRIVATE_INCLUDE_DIRS}) | ||
include_directories(${Qt5MultimediaWidgets_INCLUDE_DIRS}) | ||
add_definitions(${Qt5Core_DEFINITIONS}) | ||
endif() | ||
|
||
include_directories(../../src/) | ||
set(QT_AVPLAYER_DIR ../../src/QtAVPlayer/) | ||
include(../../src/QtAVPlayer/QtAVPlayer.cmake) | ||
|
||
set(SOURCES ${QtAVPlayer_SOURCES} main.cpp) | ||
|
||
add_executable(${PROJECT_NAME} WIN32 ${SOURCES} ${QT_RESOURCES}) | ||
if(NOT WIN32) | ||
add_definitions(-std=c++1z) | ||
target_compile_options(${PROJECT_NAME} PRIVATE -fPIC) | ||
endif() | ||
|
||
set(LIBS ${QtAVPlayer_LIBS}) | ||
|
||
if(Qt6_FOUND) | ||
set(LIBS ${LIBS} Qt6::Core Qt6::Gui Qt6::Multimedia Qt6::MultimediaWidgets) | ||
else() | ||
set(LIBS ${LIBS} Qt5::Core Qt5::Gui Qt5::Multimedia Qt5::MultimediaWidgets) | ||
endif() | ||
|
||
target_link_libraries(${PROJECT_NAME} ${LIBS}) |
Oops, something went wrong.