CMake tweaks to make the project more linux packager friendly (#384)
* CMake tweaks to make the project more linux packager friendly - Add install target for tsMuxerGUI - Add install for contributed desktop file - Install icon for desktop file - Don't check for C when all sources are C++.master
parent
e40278e163
commit
e6b1ed8ebe
|
@ -1,5 +1,5 @@
|
||||||
cmake_minimum_required (VERSION 3.1)
|
cmake_minimum_required (VERSION 3.1)
|
||||||
project (tsmuxer_main)
|
project (tsmuxer_main CXX)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
||||||
|
@ -23,6 +23,16 @@ else()
|
||||||
endif()
|
endif()
|
||||||
add_definitions("-DTSMUXER_VERSION=\"${TSMUXER_VERSION}\"")
|
add_definitions("-DTSMUXER_VERSION=\"${TSMUXER_VERSION}\"")
|
||||||
|
|
||||||
|
if(NOT MSVC)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
mark_as_advanced(CLEAR
|
||||||
|
CMAKE_INSTALL_BINDIR
|
||||||
|
CMAKE_INSTALL_DATADIR
|
||||||
|
)
|
||||||
|
else(NOT MSVC)
|
||||||
|
set(CMAKE_INSTALL_BINDIR bin)
|
||||||
|
endif(NOT MSVC)
|
||||||
|
|
||||||
add_subdirectory (libmediation)
|
add_subdirectory (libmediation)
|
||||||
add_subdirectory (tsMuxer)
|
add_subdirectory (tsMuxer)
|
||||||
if(TSMUXER_GUI)
|
if(TSMUXER_GUI)
|
||||||
|
|
|
@ -113,4 +113,4 @@ else()
|
||||||
target_include_directories(tsmuxer PRIVATE ${FREETYPE2_INCLUDE_DIRS})
|
target_include_directories(tsmuxer PRIVATE ${FREETYPE2_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install (TARGETS tsmuxer DESTINATION bin)
|
install (TARGETS tsmuxer DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
cmake_minimum_required (VERSION 3.1)
|
cmake_minimum_required (VERSION 3.1)
|
||||||
project(tsMuxerGUI)
|
project(tsMuxerGUI CXX)
|
||||||
|
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
|
@ -31,6 +31,14 @@ set(tsmuxer_gui_sources
|
||||||
add_executable(tsMuxerGUI ${tsmuxer_gui_sources})
|
add_executable(tsMuxerGUI ${tsmuxer_gui_sources})
|
||||||
target_link_libraries(tsMuxerGUI Qt5::Widgets Qt5::Multimedia)
|
target_link_libraries(tsMuxerGUI Qt5::Widgets Qt5::Multimedia)
|
||||||
|
|
||||||
|
if(NOT MSVC)
|
||||||
|
install(TARGETS tsMuxerGUI DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
install(FILES tsMuxerGUI.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
||||||
|
install(FILES images/icon.png
|
||||||
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps/
|
||||||
|
RENAME tsMuxerGUI.png)
|
||||||
|
endif(NOT MSVC)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
target_sources(tsMuxerGUI PRIVATE icon.rc)
|
target_sources(tsMuxerGUI PRIVATE icon.rc)
|
||||||
elseif (APPLE)
|
elseif (APPLE)
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
Name=TS Muxer GUI
|
||||||
|
Comment=Transport stream muxer for remuxing/muxing elementary streams
|
||||||
|
Exec=tsMuxerGUI
|
||||||
|
Icon=tsMuxerGUI
|
||||||
|
Categories=AudioVideo;
|
Loading…
Reference in New Issue