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
Richard 2020-12-27 13:53:53 -06:00 committed by GitHub
parent e40278e163
commit e6b1ed8ebe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 29 additions and 3 deletions

View File

@ -1,5 +1,5 @@
cmake_minimum_required (VERSION 3.1)
project (tsmuxer_main)
project (tsmuxer_main CXX)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
@ -23,6 +23,16 @@ else()
endif()
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 (tsMuxer)
if(TSMUXER_GUI)

View File

@ -113,4 +113,4 @@ else()
target_include_directories(tsmuxer PRIVATE ${FREETYPE2_INCLUDE_DIRS})
endif()
install (TARGETS tsmuxer DESTINATION bin)
install (TARGETS tsmuxer DESTINATION ${CMAKE_INSTALL_BINDIR})

View File

@ -1,5 +1,5 @@
cmake_minimum_required (VERSION 3.1)
project(tsMuxerGUI)
project(tsMuxerGUI CXX)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
@ -31,6 +31,14 @@ set(tsmuxer_gui_sources
add_executable(tsMuxerGUI ${tsmuxer_gui_sources})
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)
target_sources(tsMuxerGUI PRIVATE icon.rc)
elseif (APPLE)

View File

@ -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;