-
Notifications
You must be signed in to change notification settings - Fork 2
/
CMakeLists.txt
80 lines (69 loc) · 2.42 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
#
# VLC-Qt Simple Player
# Copyright (C) 2015 Tadej Novak <[email protected]>
#
# List of sources
#
# Define the UI source files
SET(Project_UIs
EqualizerDialog.ui
SimplePlayer.ui
PlayerContainer.ui
)
# Define the C++ source files
SET(Project_Srcs
main.cpp
PlayerContainer.cpp
EqualizerDialog.cpp
SimplePlayer.cpp
)
#
# Compiler settings
#
# This needs to be added in order for #include to work inside .cpp files
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
)
# Compile resources with windres
IF(MINGW)
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_BINARY_DIR}/windows/Project.obj
COMMAND ${CMAKE_RC_COMPILER}
-i ${CMAKE_BINARY_DIR}/windows/Project.rc
-o ${CMAKE_BINARY_DIR}/windows/Project.obj
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/windows"
)
SET(Project_Srcs ${Project_Srcs} ${CMAKE_BINARY_DIR}/windows/Project.obj)
ENDIF()
IF(MSVC)
SET(Project_Srcs ${Project_Srcs} ${CMAKE_BINARY_DIR}/windows/Project.rc)
ENDIF()
# Build iconset on OS X
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(Project_Iconset ${CMAKE_SOURCE_DIR}/osx/Project.iconset)
FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/${PROJECT_NAME}.app/Contents/Resources)
FIND_PROGRAM(ICONUTIL_EXECUTABLE NAMES iconutil)
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_BINARY_DIR}/src/${PROJECT_NAME}.app/Contents/Resources/${PROJECT_NAME}.icns
COMMAND ${ICONUTIL_EXECUTABLE} --convert icns --output ${CMAKE_BINARY_DIR}/src/${PROJECT_NAME}.app/Contents/Resources/${PROJECT_NAME}.icns
${Project_Iconset}
)
SET(Project_Srcs ${Project_Srcs} ${CMAKE_BINARY_DIR}/src/${PROJECT_NAME}.app/Contents/Resources/${PROJECT_NAME}.icns PlayerContainer.h PlayerContainer.cpp)
ENDIF()
# This line tells cmake to create the Project program.
ADD_EXECUTABLE(${PROJECT_NAME} MACOSX_BUNDLE WIN32 ${Project_UIs} ${Project_Srcs})
# Use custom Info.plist
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES INSTALL_RPATH "${QT_LIB_DIR};@executable_path/../Frameworks")
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_BINARY_DIR}/osx/Info.plist")
ENDIF()
# Here the needed Qt Libraries are added to the link command.
TARGET_LINK_LIBRARIES(${PROJECT_NAME} Qt5::Widgets VLCQt::Widgets curl)
#
# Installation
#
INSTALL(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION ${PROJECT_INSTALL_BIN_DIR}
BUNDLE DESTINATION .
)