summaryrefslogtreecommitdiff
path: root/muse_qt4_evolution/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'muse_qt4_evolution/CMakeLists.txt')
-rw-r--r--muse_qt4_evolution/CMakeLists.txt335
1 files changed, 335 insertions, 0 deletions
diff --git a/muse_qt4_evolution/CMakeLists.txt b/muse_qt4_evolution/CMakeLists.txt
new file mode 100644
index 00000000..2d0f8a98
--- /dev/null
+++ b/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)
+