diff options
Diffstat (limited to 'attic/muse_qt4_evolution/CMakeLists.txt')
-rw-r--r-- | attic/muse_qt4_evolution/CMakeLists.txt | 335 |
1 files changed, 335 insertions, 0 deletions
diff --git a/attic/muse_qt4_evolution/CMakeLists.txt b/attic/muse_qt4_evolution/CMakeLists.txt new file mode 100644 index 00000000..2d0f8a98 --- /dev/null +++ b/attic/muse_qt4_evolution/CMakeLists.txt @@ -0,0 +1,335 @@ +#============================================================================= +# MusE +# Linux Music Editor +# $Id:$ +# +# Copyright (C) 2002-2008 by Werner Schweer and others +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +#============================================================================= + +project(muse) +CMAKE_MINIMUM_REQUIRED(VERSION 2.4.1) +if (COMMAND cmake_policy) + cmake_policy(SET CMP0003 NEW) +endif(COMMAND cmake_policy) + +# set libdir if not use -DCMAKE_INSTALL_LIBDIR +if (NOT CMAKE_INSTALL_LIBDIR) + SET(CMAKE_INSTALL_LIBDIR "lib") +endif (NOT CMAKE_INSTALL_LIBDIR) + +#set(CMAKE_BUILD_TYPE debug) +#set(CMAKE_BUILD_TYPE release) + +# for debugging the make system uncomment next line: +# set(CMAKE_VERBOSE_MAKEFILE ON) + +set(CMAKE_INCLUDE_CURRENT_DIR TRUE) +set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) +set(CMAKE_SKIP_RULE_DEPENDENCY TRUE) + +# The MusE version number. +SET(MusE_VERSION_MAJOR 2) +SET(MusE_VERSION_MINOR 0) +SET(MusE_VERSION_PATCH 1) +SET(MusE_VERSION "2.0.1") +SET(MusE_VERSION_FULL "2.0.1") +SET(MusE_INSTALL_NAME "muse-2.0") + +include ( ${PROJECT_SOURCE_DIR}/cmake/UsePkgConfig1.cmake ) +include ( ${PROJECT_SOURCE_DIR}/cmake/TargetDoc.cmake) + +option ( ENABLE_DSSI "enable Disposable Soft Synth Interface" ON) +option ( ENABLE_VST "enable VST/win support" OFF) +option ( ENABLE_FLUID "enable fluidsynth softsynth plugins" ON) +option ( ENABLE_ZYNADDSUBFX "enable zyaddsubfx softsynth plugin" ON) + +## +## Just print a notice if this is OS X +## +if (APPLE) + message("OS X found.") +else (APPLE) + if (UNIX) + message("Unix (probably linux) found") + endif(UNIX) + +endif (APPLE) + +## +## look for Qt4 +## + +set(QT_MIN_VERSION "4.3.0") +set(QT_USE_QTXML TRUE) +set(QT_USE_QTDESIGNER TRUE) +set(QT_USE_QTNSPLUGIN TRUE) +set(QT_USE_QTSVG TRUE) + +find_package(Qt4) + +if (NOT QT4_FOUND) + message(FATAL_ERROR "Fatal error: QT (version >= 4.3.0) required.\n" + "Cmake tries to detect QT4 by searching for 'qmake' in your PATH\n" + "If you have QT4 installed, make sure qmake is found in your PATH." + ) +endif (NOT QT4_FOUND) + +include(${QT_USE_FILE}) + +## +## find doxygen +## TODO + +## +## alsa >= 0.9.0 +## + +if (APPLE) + message("Disabling ALSA support due to OS X build.") +else (APPLE) +PKGCONFIG (alsa 0.9.0 ALSA_INCDIR ALSA_LIBDIR ALSA_LIB ALSA_CPP ) +if (NOT ALSA_INCDIR) + message(FATAL_ERROR "Fatal error: ALSA >= 1.0.0 required") +else (NOT ALSA_INCDIR) + message("Alsa found.") +endif (NOT ALSA_INCDIR) +endif (APPLE) + +## +## find packages for zyaddsubfx +## +## fftw3 +## mxml +## fltk + fluid +## +## problems with FLTK/CMake: +## - fltk is not found on kubuntu/ubuntu +## - cmake version > 2.4 crashes +## - there is an annoying (and wrong) usage message from cmake concerning FLTK +## + +if (ENABLE_ZYNADDSUBFX) + # HACK: + set (FLTK_INCLUDE_DIR "/usr/include") + set(FLTK_FLUID_EXECUTABLE "/usr/bin/fluid") + + include (FindFLTK) + if (NOT FLTK_FOUND) + message("fltk toolkit not found, zynaddsubfx not build") + set(ENABLE_ZYNADDSUBFX OFF) + else (NOT FLTK_FOUND) + message("fltk toolkit found") + endif (NOT FLTK_FOUND) + + PKGCONFIG (mxml 2.0 MXML_INCDIR MXML_LIBDIR MXML_LIB MXML_CPP ) + if (NOT MXML_INCDIR) + message("mxml >= 2.0 not found, zynaddsubfx not build") + set(ENABLE_ZYNADDSUBFX OFF) + else (NOT MXML_INCDIR) + message("mxml found.") + endif (NOT MXML_INCDIR) + # + # check for fftw3 library + # + PKGCONFIG (fftw3 3.1.2 FFTW_INCDIR FFTW_LIBDIR FFTW_LIB FFTW_CPP ) + if (NOT FFTW_INCDIR) + message("fftw3 >= 3.1.2 not found, zynaddsubfx not build") + set(ENABLE_ZYNADDSUBFX OFF) + else (NOT FFTW_INCDIR) + message("fftw3 found.") + endif (NOT FFTW_INCDIR) +endif (ENABLE_ZYNADDSUBFX) + + +## +## find sndfile >= 1.0.0 +## + +PKGCONFIG (sndfile 1.0.0 SNDFILE_INCDIR SNDFILE_LIBDIR SNDFILE_LIB SNDFILE_CPP ) +if (NOT SNDFILE_INCDIR) + message(FATAL_ERROR "Fatal error: libsndfile >= 1.0.0 required") +else (NOT SNDFILE_INCDIR) + message("sndfile found.") +endif (NOT SNDFILE_INCDIR) + +## +## find libsamplerate >= 0.1.0 +## + +PKGCONFIG (samplerate 0.1.0 SAMPLERATE_INCDIR SAMPLERATE_LIBDIR SAMPLERATE_LIB SAMPLERATE_CPP ) +if (NOT SAMPLERATE_INCDIR) + message(FATAL_ERROR "Fatal error: libsamplerate >= 0.1.0 required") +else (NOT SAMPLERATE_INCDIR) + message("samplerate found") +endif (NOT SAMPLERATE_INCDIR) + +## +## find jack >= 0.103.0 +## + +PKGCONFIG (jack 0.107.0 JACK_INCDIR JACK_LIBDIR JACK_LIB JACK_CPP ) +if (NOT JACK_INCDIR) + PKGCONFIG (jack 0.103.0 JACK_INCDIR JACK_LIBDIR JACK_LIB JACK_CPP ) + if (NOT JACK_INCDIR) + message(FATAL_ERROR "Fatal error: JACK >= 0.103 required") + else (NOT JACK_INCDIR) + message("JACK 0.103 found") + set(JACK103 ON) + endif (NOT JACK_INCDIR) +else (NOT JACK_INCDIR) + message("JACK 0.107 found") + set(JACK107 ON) +endif (NOT JACK_INCDIR) + +## +## check for dssi +## dssi >= 0.9.0 +## liblo >= 0.23 +## + +if (ENABLE_DSSI) + PKGCONFIG (dssi 0.9.0 DSSI_INCDIR DSSI_LIBDIR DSSI_LIB DSSI_CPP ) + if (NOT DSSI_INCDIR) + message("Error: dssi >= 0.9.0 not found, disabling feature") + set ( ENABLE_DSSI OFF ) + else (NOT DSSI_INCDIR) + PKGCONFIG (liblo 0.23 LIBLO_INCDIR LIBLO_LIBDIR LIBLO_LIB LIBLO_CPP ) + if (NOT LIBLO_INCDIR) + message("Error: liblo >= 0.23 not found, disabling DSSI") + set ( ENABLE_DSSI OFF ) + else (NOT LIBLO_INCDIR) + message("liblo >= 0.23 found.") + set (DSSI_SUPPORT TRUE) + message("DSSI enabled") + endif (NOT LIBLO_INCDIR) + endif (NOT DSSI_INCDIR) +else (ENABLE_DSSI) + message("DSSI disabled") +endif (ENABLE_DSSI) + +if (ENABLE_VST) + message("VST support enabled") + set (VST_SUPPORT TRUE) +else (ENABLE_VST) + message("VST support disabled") + set (VST_SUPPORT FALSE) +endif (ENABLE_VST) + +## +## TODO +## +## Optimizations +## + +SET (USE_SSE false) + +## +## check for fluidsynth +## + +if ( ENABLE_FLUID ) + PKGCONFIG (fluidsynth 1.0.0 FLUID_INCDIR FLUID_LIBDIR FLUID_LIB FLUID_CPP ) + if (NOT FLUID_INCDIR) + message("Error: fluidsynth >= 0.9.0 not found, disabling feature") + set ( ENABLE_FLUID OFF ) + else (NOT FLUID_INCDIR) + message("Fluidsynth found") + endif (NOT FLUID_INCDIR) +endif ( ENABLE_FLUID ) + +# +# produce config.h file +# +configure_file ( + ${PROJECT_SOURCE_DIR}/config.h.in + ${PROJECT_BINARY_DIR}/config.h + ) + +add_custom_command( + OUTPUT ${PROJECT_BINARY_DIR}/all.h + COMMAND cp ${PROJECT_SOURCE_DIR}/all.h ${PROJECT_BINARY_DIR}/all.h + DEPENDS ${PROJECT_SOURCE_DIR}/all.h + WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + ) + +add_custom_command( + OUTPUT ${PROJECT_BINARY_DIR}/all-pic.h + COMMAND cp ${PROJECT_SOURCE_DIR}/all.h ${PROJECT_BINARY_DIR}/all-pic.h + DEPENDS ${PROJECT_SOURCE_DIR}/all.h + WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + ) + +add_custom_command( + OUTPUT ${PROJECT_BINARY_DIR}/all-pic-debug.h + COMMAND cp ${PROJECT_SOURCE_DIR}/all.h ${PROJECT_BINARY_DIR}/all-pic-debug.h + DEPENDS ${PROJECT_SOURCE_DIR}/all.h + WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + ) + +include_directories( + . + ${PROJECT_SOURCE_DIR} + ${PROJECT_SOURCE_DIR}/muse + ${PROJECT_SOURCE_DIR}/muse/widgets + ${PROJECT_BINARY_DIR} + ${PROJECT_BINARY_DIR}/muse + ${PROJECT_BINARY_DIR}/muse/widgets + ${PROJECT_BINARY_DIR}/muse/instruments + ${PROJECT_BINARY_DIR}/muse/ctrl + + ${ALSA_INCDIR} + ${JACK_INCDIR} + ${SNDFILE_INCDIR} + ${SAMPLERATE_INCDIR} + ${LIBLO_INCDIR} + ${DSSI_INCDIR} + ) + +# include (pch.txt) + +# +# If the cmake version includes cpack, use it +# +IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") + + IF(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake") + SET(CMAKE_INSTALL_MFC_LIBRARIES 1) + INCLUDE(InstallRequiredSystemLibraries) + ENDIF(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake") + + SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MusE is a virtual audio studio environment") + SET(CPACK_PACKAGE_VENDOR "Werner Schweer and others") + SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") + SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") + SET(CPACK_PACKAGE_VERSION_MAJOR "${MusE_VERSION_MAJOR}") + SET(CPACK_PACKAGE_VERSION_MINOR "${MusE_VERSION_MINOR}") + SET(CPACK_PACKAGE_VERSION_PATCH "${MusE_VERSION_PATCH}") + SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") + SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${MusE_INSTALL_NAME}") + + SET(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}) + + SET(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}") + SET(CPACK_STRIP_FILES "bin/muse;bin/grepmidi") + SET(CPACK_PACKAGE_EXECUTABLES "muse" "MusE" "grepmidi" "grepmidi") + INCLUDE(CPack) +ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") + +set(CMAKE_CXX_FLAGS "-Wl,-rpath,${QT_LIBRARY_DIR} -Wall -Wextra -Winvalid-pch -fno-exceptions") +set(CMAKE_CXX_FLAGS_RELEASE "-O2 -fomit-frame-pointer -ffast-math -fstrength-reduce") +set(CMAKE_CXX_FLAGS_DEBUG "-g -DQT_DEBUG") + +subdirs(al awl grepmidi plugins midiplugins muse share synti) + |