-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
94 lines (83 loc) · 3.18 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
cmake_minimum_required(VERSION 3.5)
project(VCut VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if (WIN32)
INCLUDE_DIRECTORIES("win/ffmpeg/include")
LINK_DIRECTORIES("win/ffmpeg/lib")
INCLUDE_DIRECTORIES("win/include")
LINK_DIRECTORIES("win/lib")
endif (WIN32)
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
INCLUDE_DIRECTORIES("macos/ffmpeg/include")
LINK_DIRECTORIES("macos/ffmpeg/lib")
INCLUDE_DIRECTORIES("macos/include")
LINK_DIRECTORIES("macos/lib")
endif()
find_package(QT NAMES Qt6 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core OpenGLWidgets OpenGL Gui MultimediaWidgets Multimedia)
set(PROJECT_SOURCES
main.cpp
mainwindow.cpp mainwindow.h
processhandler.h processhandler.cpp
filelist.h filelist.cpp
getfile.h getfile.cpp
FileLine.h FileLine.cpp
videoplayer.h videoplayer.cpp
choosefile.h choosefile.cpp
selectwidget.h selectwidget.cpp
matchwidget.h matchwidget.cpp
filestruct.h filestruct.cpp
ffmpegwidget.h ffmpegwidget.cpp
videoinfo.h videoinfo.cpp
AbstructOption.h
ffoptions.h
FFOptionsCombo.cpp FFOptionsCheck.cpp
inputdialog.h inputdialog.cpp
)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(VCut
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)
# Define target properties for Android with Qt 6 as:
# set_property(TARGET VCut APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
# ${CMAKE_CURRENT_SOURCE_DIR}/android)
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
else()
if(ANDROID)
add_library(VCut SHARED
${PROJECT_SOURCES}
)
# Define properties for Android with Qt 5 after find_package() calls as:
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
else()
add_executable(VCut
${PROJECT_SOURCES}
)
endif()
endif()
#target_link_libraries(VCut PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt6::Core swscale avutil avformat avcodec avdevice avfilter postproc swresample swscale)
target_link_libraries(VCut PRIVATE Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::OpenGLWidgets
Qt${QT_VERSION_MAJOR}::OpenGL
Qt${QT_VERSION_MAJOR}::Gui
Qt${QT_VERSION_MAJOR}::MultimediaWidgets
Qt${QT_VERSION_MAJOR}::Multimedia
QtAVPlayer
)
set_target_properties(VCut PROPERTIES
MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(VCut)
endif()