-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
143 lines (120 loc) · 4.96 KB
/
CMakeLists.txt
File metadata and controls
143 lines (120 loc) · 4.96 KB
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
cmake_minimum_required(VERSION 3.10)
project(grumpyplayer)
set(CMAKE_CXX_STANDARD 17)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
message("Debug Build")
add_definitions(-D_DEBUG)
endif (CMAKE_BUILD_TYPE STREQUAL "Debug")
# Linux defs
if (UNIX)
add_definitions(-DHAVE_ALSA)
add_definitions(-DUNIX)
add_compile_options(-msse -msse2 -msse3 -msse4 -msse5 -mavx -mavx2 -g)
add_compile_options(-Wall)
add_compile_options(-I./3rdparty)
add_compile_options(-I/usr/include/freetype2)
find_library(AVFORMAT_LIBRARY avformat REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(AVCODEC_LIBRARY avcodec REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(AVUTIL_LIBRARY avutil REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(SOUND_LIBRARY asound REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(GLFW_LIBRARY glfw REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(SWSCALE_LIBRARY swscale REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(SWRESAMPLE_LIBRARY swresample REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(CURL_LIBRARY curl REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(BOOST_FILESYSTEM_LIBRARY boost_filesystem REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(BOOST_SYSTEM_LIBRARY boost_system REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(BOOST_REGEX_LIBRARY boost_regex REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(BOOST_LOCALE_LIBRARY boost_locale REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
find_library(FREETYPE_LIBRARY freetype REQUIRED HINTS /usr/lib/x86_64-linux-gnu)
set(THREAD_LIBRARY pthread)
set(GL_LIBRARY GL GLU)
SET(NET_LIBRARY )
SET(RC )
endif (UNIX)
# Windows defs
if (WIN32)
set(3RDPARTY ${CMAKE_SOURCE_DIR}/3rdparty)
set(LIBARCH win64)
find_library(AVFORMAT_LIBRARY avformat REQUIRED HINTS ${3RDPARTY}/ffmpeg/lib/${LIBARCH})
find_library(AVCODEC_LIBRARY avcodec REQUIRED HINTS ${3RDPARTY}/ffmpeg/lib/${LIBARCH})
find_library(AVUTIL_LIBRARY avutil REQUIRED HINTS ${3RDPARTY}/ffmpeg/lib/${LIBARCH})
find_library(ASOUND_LIBRARY asound REQUIRED HINTS ${3RDPARTY}/ffmpeg/lib/${LIBARCH})
find_library(SWSCALE_LIBRARY swscale REQUIRED HINTS ${3RDPARTY}/ffmpeg/lib/${LIBARCH})
find_library(SWRESAMPLE_LIBRARY swresample REQUIRED HINTS ${3RDPARTY}/ffmpeg/lib/${LIBARCH})
find_library(GLFW_LIBRARY glfw3 REQUIRED HINTS ${3RDPARTY}/glfw/lib/${LIBARCH})
find_library(CURL_LIBRARY curl REQUIRED HINTS ${3RDPARTY}/curl/lib/${LIBARCH})
find_library(FREETYPE_LIBRARY freetype REQUIRED HINTS ${3RDPARTY}/freetype/lib/${LIBARCH})
# boost deps are automatically added
link_directories( ${3RDPARTY}/boost/lib/${LIBARCH} )
set(BOOST_PROGRAM_OPTIONS_LIBRARY )
set(BOOST_FILESYSTEM_LIBRARY )
set(BOOST_SYSTEM_LIBRARY )
set(BOOST_REGEX_LIBRARY )
set(BOOST_LOCALE_LIBRARY )
set(SOUND_LIBRARY )
set(THREAD_LIBRARY )
set(GL_LIBRARY opengl32 Glu32)
SET(NET_LIBRARY Ws2_32 Secur32 Bcrypt)
SET(RC grumpyplayer.rc)
add_compile_options(-I${3RDPARTY})
add_compile_options(-I${3RDPARTY}/ffmpeg/include)
add_compile_options(-I${3RDPARTY}/boost/include)
add_compile_options(-I${3RDPARTY}/glfw/include)
add_compile_options(-I${3RDPARTY}/curl/include)
add_compile_options(-I${3RDPARTY}/glm/include)
add_compile_options(-I${3RDPARTY}/freetype/include/)
add_compile_options(-I${3RDPARTY}/freetype/include/freetype2/)
add_compile_options(-D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING)
add_definitions(-DCURL_STATICLIB)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS /ignore:4099")
endif (WIN32)
add_definitions( -D__AVX2__ )
add_executable(grumpyplayer
main
videodevice
audiodevice
gui
mediadecoder
player
profiler
logger
icon
curl
subtitle
3rdparty/lodepng/picopng
${RC})
target_link_libraries(
grumpyplayer
${AVFORMAT_LIBRARY}
${AVCODEC_LIBRARY}
${AVUTIL_LIBRARY}
${SOUND_LIBRARY}
${GLFW_LIBRARY}
${SWSCALE_LIBRARY}
${SWRESAMPLE_LIBRARY}
${CURL_LIBRARY}
${BOOST_PROGRAM_OPTIONS_LIBRARY}
${BOOST_SYSTEM_LIBRARY}
${BOOST_FILESYSTEM_LIBRARY}
${BOOST_REGEX_LIBRARY}
${BOOST_LOCALE_LIBRARY}
${NET_LIBRARY}
${THREAD_LIBRARY}
${GL_LIBRARY}
${FREETYPE_LIBRARY})
install(TARGETS grumpyplayer
RUNTIME DESTINATION "/usr/bin"
LIBRARY DESTINATION "/usr/bin"
DESTINATION "/usr/bin/"
)
SET(CPACK_GENERATOR "DEB")
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "desjare@gmail.com")
SET(CPACK_PACKAGE_VERSION_MAJOR 0)
SET(CPACK_PACKAGE_VERSION_MINOR 0)
SET(CPACK_PACKAGE_VERSION_PATCH 1)
SET(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/desjare/grumpyplayer")
SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE)
SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
SET(CPACK_DEBIAN_PACKAGE_SECTION video)
INCLUDE(CPack)