From 737e53d58ce8cafd6f3835dc93721851476bad1c Mon Sep 17 00:00:00 2001 From: Alexander Golubev Date: Wed, 24 Feb 2016 05:42:03 +0300 Subject: Initial cmake conversion --- CMakeLists.txt | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..7f65708 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,169 @@ +################################################# +# +# (C) 2016 Golubev Alexander +# fatzer2 (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +cmake_minimum_required( VERSION 2.8 ) + + +##### general package setup ##################### + +project( k3b ) + + +##### include essential cmake modules ########### + +include( FindPkgConfig ) +include( CheckIncludeFile ) +include( CheckLibraryExists ) +include( CheckSymbolExists ) +# EXAMPLE: +# include( CheckTypeSize ) +# include( CheckCSourceCompiles ) +# include( CheckCXXSourceCompiles ) + + +##### include our cmake modules ################# + +set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) +include( TDEMacros ) + + +##### setup install paths ####################### + +include( TDESetupPaths ) +tde_setup_paths( ) + + +##### optional stuff ############################ + +option( WITH_ALL_OPTIONS "Enable all sane supported options" OFF ) +option( WITH_LIBDVDREAD "Enable support for libdvdread" ${WITH_ALL_OPTIONS} ) +option( WITH_MUSICBRAINZ "Enable Musicbrainz support" ${WITH_ALL_OPTIONS} ) +option( WITH_SYSTEM_LIBSAMPLERATE + "Use system libsamplerate instead of bundled one" ON ) +option( WITH_HAL "Enable hal support" OFF ) +option( WITH_DEBUG "Enable extra debug" OFF ) + +# sound output plugins +option( WITH_ALSA "Enable alsa support" ${WITH_ALL_OPTIONS} ) +option( WITH_ARTS "Enable arts sound daemon support" ${WITH_ALL_OPTIONS} ) + +# decoder plugins +option( WITH_FFMPEG "Enable support for decoding with ffmpeg" ${WITH_ALL_OPTIONS} ) +option( WITH_FFMPEG_ALL_CODECS "Enable support for all codecs provided by ffmpeg" OFF ) +option( WITH_FLAC "Enable support for decoding flac files" ${WITH_ALL_OPTIONS} ) +option( WITH_SNDFILE "Enable support for decoding via libsndfile" ${WITH_ALL_OPTIONS} ) +option( WITH_TAGLIB "Enable support for taglib" ${WITH_ALL_OPTIONS} ) +option( WITH_MAD "Enable support for decoding mp3 via libmad" ${WITH_ALL_OPTIONS} ) +option( WITH_MUSEPACK "Enable support for decoding via musepack (mpcdec)" OFF ) +option( WITH_VORBIS "Enable support for en/decoding ogg via vorbis" ${WITH_ALL_OPTIONS} ) +# Note: WITH_VORBIS enables both decoding and encoding +# Note: wave plugin build unconditionally due to it doesn't have any external deps +# Note: k3b requires some acient version of musepack + +# encoder plugins +option( WITH_LAME "Enable support for mp3 encoding via lame" ${WITH_ALL_OPTIONS} ) +# see WITH_VORBIS +# Note: external and sox plugins are enabled by default due to they don't have +# any additional build-time deps + +# Note: permanently disabled options: +# resmgr - it seams to be completly outdated +# cdrecord-suid-root - commented out in source code anyway +# cam library - freebsd stuff should be added by somebody with bsd +# experience + +##### options comments ########################## + +# WITH_LIBDVDREAD if disabled removes dvd reaping functionality +# requires libdvdread: http://dvdnav.mplayerhq.hu/ +# WITH_MUSICBRAINZ if enabled adds support for musicbrainz service for +# query metadata about audio cds +# requires media-libs/musicbrainz library: http://musicbrainz.org/doc/libmusicbrainz +# WITH_SYSTEM_LIBSAMPLERATE if disabled the bundled version of libsamplerate +# is used and staticaly linked into the k3b +# requires media-libs/libsamplerate: http://www.mega-nerd.com/SRC/ +# WITH_HAL if enabled use of hal daemon instead of libtdehw for +# device management +# depricated +# WITH_DEBUG if enabled extra debug output is provided + +# WITH_ALSA if enabled build the alsa output driver; it's a good +# idea to enable it on a linux othervice sound playback +# may fallback to arts +# WITH_ARTS if disabled disables fuctionality to play audio (files +# or CDs, not sure exactly) +# requires arts (an optional part of TDE) +# WITH_FFMPEG if enabled build an ffmpeg decoding plugin +# requires ffmpeg +# WITH_FFMPEG_ALL_CODECS +# affects ffmpeg plugin +# if enabled makes ffmpeg to decode all formats is +# supports; this is untested and may result in some +# bugs: e.g. display of wrong length +# WITH_FLAC if enabled build flac decoding plugin +# requires media-sound/flac: http://flac.sourceforge.net +# WITH_LAME if enabled build mp3 encoding file via lame +# requires media-sound/lame: http://lame.sourceforge.net/ +# WITH_TAGLIB if enabled provides support for tags in mp3 and flac +# requires media-libs/taglib: https://taglib.github.io/ +# note: make sence if either WITH_FLAC or WITH_LIBMAD is set +# WITH_SNDFILE if enabled build libsndfile encoding plugin +# requires media-libs/libsndfile: http://www.mega-nerd.com/libsndfile +# WITH_MAD if enabled build mp3 decoding plugin +# requires media-libs/libmad: http://mad.sourceforge.net +# WITH_MUSEPACK if enabled build musepack decoding plugin +# requires musepack (libmpcdec): http://www.musepack.net +# WARNING k3b requires some acient version of musepack +# WITH_VORBIS if enabled build ogg encoding/decoding plugin +# requires media-libs/libvorbis: http://xiph.org/vorbis + + +##### user requested modules #################### + +option( BUILD_K3BSETUP "Build K3bSetup2 TDEControl module" OFF ) +option( BUILD_DOC "Build documentation" ON ) +# option( BUILD_TRANSLATIONS "Build translations" ON ) + +# Note: probably modern linux systems don't need BUILD_K3BSETUP; so it's +# disabled by default + + +##### configure checks ########################## + +include( ConfigureChecks.cmake ) + + +###### global compiler settings ################# + +add_definitions( + -DHAVE_CONFIG_H +) + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" ) +set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" ) +set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" ) + + +##### k3b directories ########################### + +add_subdirectory( libk3b ) +add_subdirectory( libk3bdevice ) +add_subdirectory( plugins ) +add_subdirectory( src ) +add_subdirectory( tdefile-plugins ) +add_subdirectory( tdeioslaves ) +tde_conditional_add_subdirectory( BUILD_K3BSETUP k3bsetup ) +tde_conditional_add_subdirectory( BUILD_DOC doc ) + + +##### write configure files ##################### + +configure_file( config.h.cmake config.h @ONLY ) -- cgit v1.2.3