Files
QtAV/examples/CMakeLists.txt
2017-07-25 12:16:59 +02:00

179 lines
5.7 KiB
CMake

find_package(Qt5Sql REQUIRED)
if(WIN32)
set(EXE_TYPE WIN32)
elseif(APPLE)
#set(EXE_TYPE MACOSX_BUNDLE)
endif()
set(COMMON_SRC
common/common.cpp
common/Config.cpp
common/qoptions.cpp
)
set(COMMON_HEADERS
common/common.h
common/Config.h
common/qoptions.h
common/ScreenSaver.h
common/common_export.h
)
if(NOT IOS)
list(APPEND COMMON_SRC common/ScreenSaver.cpp)
if(APPLE)
list(APPEND COMMON_LIBS "-framework CoreServices")
endif()
endif()
SET(COMMON_QRC common/theme/theme.qrc)
SOURCE_GROUP("Resources" FILES ${COMMON_QRC})
qt5_add_resources(COMMON_RES ${COMMON_QRC})
set_source_files_properties(${COMMON_RES} PROPERTIES GENERATED ON)
# add HEADERS for moc
add_library(common STATIC ${COMMON_SRC} ${COMMON_RES} ${COMMON_HEADERS})
target_link_libraries(common
LINK_PUBLIC Qt5::Core Qt5::Gui ${COMMON_LIBS}
LINK_PRIVATE Qt5::Sql
)
target_compile_definitions(common PUBLIC -DBUILD_COMMON_STATIC)
target_include_directories(common PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
set(PLAYER_SRC
player/main.cpp
player/MainWindow.cpp
player/ClickableMenu.cpp
player/StatisticsView.cpp
player/Slider.cpp
player/TVView.cpp
player/EventFilter.cpp
player/config/ConfigDialog.cpp
player/config/ConfigPageBase.cpp
player/config/CaptureConfigPage.cpp
player/config/VideoEQConfigPage.cpp
player/config/DecoderConfigPage.cpp
player/config/MiscPage.cpp
player/filters/OSD.cpp
player/filters/OSDFilter.cpp
player/playlist/PlayListModel.cpp
player/playlist/PlayListItem.cpp
player/playlist/PlayListDelegate.cpp
player/playlist/PlayList.cpp
player/config/PropertyEditor.cpp
player/config/AVFormatConfigPage.cpp
player/config/AVFilterConfigPage.cpp
player/config/ShaderPage.cpp
player/filters/AVFilterSubtitle.cpp
)
set(PLAYER_HEADERS
player/MainWindow.h
player/ClickableMenu.h
player/StatisticsView.h
player/Slider.h
player/TVView.h
player/EventFilter.h
player/config/ConfigDialog.h
player/config/ConfigPageBase.h
player/config/CaptureConfigPage.h
player/config/VideoEQConfigPage.h
player/config/DecoderConfigPage.h
player/config/MiscPage.h
player/filters/OSD.h
player/filters/OSDFilter.h
player/playlist/PlayListModel.h
player/playlist/PlayListItem.h
player/playlist/PlayListDelegate.h
player/playlist/PlayList.h
player/config/PropertyEditor.h
player/config/AVFormatConfigPage.h
player/config/AVFilterConfigPage.h
player/config/ShaderPage.h
player/filters/AVFilterSubtitle.h
)
SET(PLAYER_QRC player/res/player.qrc)
SOURCE_GROUP("Resources" FILES ${PLAYER_QRC})
qt5_add_resources(PLAYER_RES ${PLAYER_QRC})
set_source_files_properties(${PLAYER_RES} PROPERTIES GENERATED ON)
if(Qt5Quick_FOUND)
set(QMLPLAYER_QRC QMLPlayer/qmlplayer.qrc)
qt5_add_resources(QMLPLAYER_RES ${QMLPLAYER_QRC})
set_source_files_properties(${QMLPLAYER_RES} PROPERTIES GENERATED ON)
set(MODULE QMLPlayer)
if(WIN32)
set(RC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${MODULE}.rc)
configure_file(${QTAV_SOURCE_DIR}/cmake/QtAV.rc.in ${RC_FILE})
endif()
add_executable(QMLPlayer ${EXE_TYPE}
QMLPlayer/main.cpp
QMLPlayer/qtquick2applicationviewer/qtquick2applicationviewer.cpp
QMLPlayer/qtquick2applicationviewer/qtquick2applicationviewer.h
${QMLPLAYER_RES}
${RC_FILE}
)
target_include_directories(QMLPlayer PRIVATE QMLPlayer/qtquick2applicationviewer)
target_link_libraries(QMLPlayer Qt5::Quick common)
install(TARGETS QMLPlayer
RUNTIME DESTINATION ${QTAV_INSTALL_BINS}
)
endif()
if(Qt5Widgets_FOUND)
set(MODULE Player)
if(WIN32)
set(RC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${MODULE}.rc)
configure_file(${QTAV_SOURCE_DIR}/cmake/QtAV.rc.in ${RC_FILE})
endif()
add_executable(Player ${EXE_TYPE} ${PLAYER_SRC} ${PLAYER_HEADERS} ${PLAYER_RES} ${RC_FILE})
target_link_libraries(Player QtAVWidgets common)
install(TARGETS Player
RUNTIME DESTINATION ${QTAV_INSTALL_BINS}
)
if(BUILD_EXAMPLES)
SET(FILTERS_QRC filters/res.qrc)
SOURCE_GROUP("Resources" FILES ${FILTERS_QRC})
qt5_add_resources(FILTERS_RES ${FILTERS_QRC})
set_source_files_properties(${FILTERS_RES} PROPERTIES GENERATED ON)
add_executable(filters filters/main.cpp filters/SimpleFilter.cpp ${FILTERS_RES})
target_link_libraries(filters QtAVWidgets)
add_executable(glslfilter glslfilter/main.cpp)
target_link_libraries(glslfilter QtAVWidgets)
add_executable(shader shader/main.cpp)
target_link_libraries(shader QtAVWidgets)
add_executable(sharedoutput sharedoutput/main.cpp sharedoutput/widget.cpp)
target_link_libraries(sharedoutput QtAVWidgets)
add_executable(simpleplayer simpleplayer/main.cpp simpleplayer/playerwindow.cpp)
target_link_libraries(simpleplayer QtAVWidgets)
add_executable(videocapture videocapture/main.cpp videocapture/playerwindow.cpp)
target_link_libraries(videocapture QtAVWidgets)
add_executable(videographicsitem videographicsitem/main.cpp videographicsitem/videoplayer.cpp)
target_link_libraries(videographicsitem QtAVWidgets)
add_executable(videogroup videogroup/main.cpp videogroup/videogroup.cpp)
target_link_libraries(videogroup QtAVWidgets)
add_executable(videowall videowall/main.cpp videowall/VideoWall.cpp)
target_link_libraries(videowall QtAVWidgets)
add_executable(simpletranscode simpletranscode/main.cpp)
target_link_libraries(simpletranscode QtAV)
endif()
endif()
if(BUILD_EXAMPLES)
add_executable(audiopipeline audiopipeline/main.cpp)
target_link_libraries(audiopipeline QtAV)
add_executable(framereader framereader/main.cpp)
target_link_libraries(framereader QtAV)
add_executable(window window/main.cpp)
target_link_libraries(window QtAV)
endif()