-
Notifications
You must be signed in to change notification settings - Fork 2
/
CMakeLists.txt
64 lines (53 loc) · 1.69 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
#设置cmake版本号
cmake_minimum_required(VERSION 3.4.0)
#设置工程名称
project(DesktopDynamicWallpaperForQT)
#设置工程包含当前目录,非必须
set(CMAKE_INCLUDE_CURRENT_DIR ON)
#打开全局moc,设置自动生成moc文件,一定要设置
set(CMAKE_AUTOMOC ON)
#打开全局uic,非必须
set(CMAKE_AUTOUIC ON)
#打开全局rcc,非必须,如需打开,注意修改33行的qrc文件名
#set(CMAKE_AUTORCC ON)
add_definitions ( -D_MBCS )
#查找需要的Qt库文件,最好每一个库都要写,Qt也会根据依赖关系自动添加
find_package(Qt5Widgets)
find_package(Qt5Core)
find_package(Qt5Gui)
find_package(Qt5Multimedia)
#查找当前文件夹中的所有源代码文件,也可以通过Set命令将所有文件设置为一个变量
FILE(GLOB SRC_FILES "./src/*.cpp")
#查找设置当前文件夹中所有的头文件
FILE(GLOB HEAD_FILES "./include/*.h")
#查找设置当前文件夹中所有的ui文件
FILE(GLOB UI_FILES "./include/*.ui")
#通过Ui文件生成对应的头文件,一定要添加
qt5_wrap_ui(WRAP_FILES ${UI_FILES})
#添加资源文件,非必须,一旦采用,注意修改相应的qrc文件名
#set(RCC_FILES rcc.qrc)
#将ui文件和生成文件整理在一个文件夹中,非必须
source_group("Ui" FILES ${UI_FILES} ${WRAP_FILES} )
#include
include_directories(
"./ffmpeg/include"
)
#lib
link_directories(
"./ffmpeg/lib"
)
#创建工程文件
add_executable(${PROJECT_NAME} WIN32 ${SRC_FILES} ${HEAD_FILES} ${WRAP_FILES})
#添加Qt5依赖项
target_link_libraries(${PROJECT_NAME}
Qt5::Widgets
Qt5::Core
Qt5::Gui
Qt5::Multimedia
avutil avcodec avfilter avdevice avformat postproc swresample swscale
)
#copy dll
FILE(GLOB LIB_FILES "./ffmpeg/bin/*.*")
# copy dll
file(COPY ${LIB_FILES} DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/out/build/x64-Release)
file(COPY ${LIB_FILES} DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/out/build/x64-Debug)