1
0
Fork 0
VideoPlayer/CMakeLists.txt

94 lines
2.6 KiB
CMake
Raw Normal View History

2018-10-28 13:59:29 +00:00
cmake_minimum_required(VERSION 3.5.1)
2018-10-27 16:11:29 +01:00
project(KittehPlayer)
2018-10-28 13:59:29 +00:00
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
2018-10-27 16:11:29 +01:00
set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -fstrict-aliasing -Wno-deprecated-declarations -Wno-unused-variable")
option(DEVELOP "Enable runtime QML reloading for developing." OFF)
option(DISCORD "Enable Discord SDK." OFF)
2018-10-27 16:11:29 +01:00
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
2018-11-07 07:42:47 +00:00
find_package(Qt5 CONFIG REQUIRED COMPONENTS Qml Quick Gui Widgets Core X11Extras)
2018-10-27 16:11:29 +01:00
find_package(Qt5QuickCompiler)
qtquick_compiler_add_resources(qml_QRC src/qml/qml.qrc)
2018-10-28 13:59:29 +00:00
find_package(PkgConfig)
pkg_check_modules(MPV REQUIRED mpv)
2018-11-07 07:42:47 +00:00
pkg_check_modules(X11 REQUIRED x11)
pkg_check_modules(Xext REQUIRED xext)
2018-10-28 13:59:29 +00:00
2018-11-06 11:25:32 +00:00
2018-10-27 16:11:29 +01:00
set(SOURCES
2018-11-06 11:25:32 +00:00
src/main.cpp
src/MpvPlayerBackend.cpp
src/utils.cpp
src/enums.hpp
2018-10-27 16:11:29 +01:00
)
2018-11-06 11:25:32 +00:00
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
endif(CCACHE_FOUND)
set(CMAKE_BUILD_TYPE RELEASE)
2018-11-06 11:25:32 +00:00
2018-11-16 09:10:26 +00:00
if(TESTING OR DEFINED ENV{TRAVIS})
execute_process(
COMMAND git rev-parse HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
)
find_package(Qt5Network REQUIRED)
add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}")
endif(TESTING OR DEFINED ENV{TRAVIS})
2018-11-06 11:25:32 +00:00
2018-11-04 21:20:11 +00:00
if(TESTING)
SET(CMAKE_C_COMPILER "/usr/bin/clang")
SET(CMAKE_CXX_COMPILER "/usr/bin/clang++")
SET(CMAKE_AR "/usr/bin/llvm-ar")
SET(CMAKE_LINKER "/usr/bin/llvm-link")
SET(CMAKE_NM "/usr/bin/llvm-nm")
SET(CMAKE_OBJDUMP "/usr/bin/llvm-objdump")
SET(CMAKE_RANLIB "/usr/bin/llvm-ranlib")
endif(TESTING)
2018-10-27 16:11:29 +01:00
if(DEVELOP)
set(SOURCES ${SOURCES} runtimeqml/runtimeqml.cpp)
add_definitions(-DQRC_SOURCE_PATH="${PROJECT_SOURCE_DIR}/src/qml")
add_definitions(-DQT_QML_DEBUG)
2018-10-27 16:11:29 +01:00
endif(DEVELOP)
if(DISCORD)
add_definitions(-DDISCORD)
execute_process(
COMMAND git clone --depth 1 https://github.com/discordapp/discord-rpc
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_subdirectory(discord-rpc)
INCLUDE_DIRECTORIES(discord-rpc/include)
target_link_libraries(KittehPlayer discord-rpc)
endif(DISCORD)
2018-10-27 16:11:29 +01:00
add_executable(KittehPlayer ${SOURCES} ${qml_QRC})
# Use the Qml/Quick modules from Qt 5.
target_link_libraries(KittehPlayer ${MPV_LIBRARIES} ${X11_LIBRARIES} ${Xext_LIBRARIES} Qt5::X11Extras)
2018-10-27 16:11:29 +01:00
2018-11-07 07:42:47 +00:00
qt5_use_modules(KittehPlayer Qml Quick Core Gui Widgets X11Extras)
2018-10-27 16:11:29 +01:00
2018-10-28 13:59:29 +00:00
install (TARGETS ${PROJECT_NAME} DESTINATION bin)
install (FILES "${PROJECT_NAME}.desktop" DESTINATION share/applications)
install (FILES "${PROJECT_NAME}.png" DESTINATION share/icons/hicolor/256x256/apps)
2018-10-27 16:11:29 +01:00