summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/CMakeLists.txt
diff options
context:
space:
mode:
authorRobert Jonsson <spamatica@gmail.com>2011-03-07 19:01:11 +0000
committerRobert Jonsson <spamatica@gmail.com>2011-03-07 19:01:11 +0000
commite40fc849149dd97c248866a4a1d026dda5e57b62 (patch)
treeb12b358f3b3a0608001d30403358f8443118ec5f /attic/muse2-oom/muse2/CMakeLists.txt
parent1bd4f2e8d9745cabb667b043171cad22c8577768 (diff)
clean3
Diffstat (limited to 'attic/muse2-oom/muse2/CMakeLists.txt')
-rw-r--r--attic/muse2-oom/muse2/CMakeLists.txt406
1 files changed, 406 insertions, 0 deletions
diff --git a/attic/muse2-oom/muse2/CMakeLists.txt b/attic/muse2-oom/muse2/CMakeLists.txt
new file mode 100644
index 00000000..0e948cd4
--- /dev/null
+++ b/attic/muse2-oom/muse2/CMakeLists.txt
@@ -0,0 +1,406 @@
+#=============================================================================
+# 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.
+#=============================================================================
+
+include(FindPkgConfig)
+include(cmake/Summary.cmake)
+include(cmake/TargetDoc.cmake)
+
+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 "${CMAKE_INSTALL_PREFIX}/lib")
+endif (NOT CMAKE_INSTALL_LIBDIR)
+
+IF(NOT DEFINED SHARE_INSTALL_PREFIX)
+ SET(SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/share")
+ENDIF(NOT DEFINED SHARE_INSTALL_PREFIX)
+
+#set(CMAKE_BUILD_TYPE debug)
+#set(CMAKE_BUILD_TYPE release)
+
+# If no CMAKE_BUILD_TYPE is given on the command line,
+# cmake either uses the cached value, or 'empty' (plain un-opt build).
+# And yet the only way a user can reset a cached CMAKE_BUILD_TYPE
+# is with "-DCMAKE_BUILD_TYPE=". So we cannot interfere with this.
+# We should probably not attempt to do this at all.
+# Installation instructions now updated to be more specific, give options.
+#endif (NOT DEFINED CMAKE_BUILD_TYPE)
+#if (NOT CMAKE_BUILD_TYPE)
+# message("No CMAKE_BUILD_TYPE specified. Setting to Release.")
+# set(CMAKE_BUILD_TYPE release)
+#endif (NOT CMAKE_BUILD_TYPE)
+
+
+# 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 0)
+SET(MusE_VERSION "2.0alpha")
+SET(MusE_VERSION_FULL "2.0alpha")
+SET(MusE_INSTALL_NAME "muse-2.0alpha")
+SET(MusE_EXEC_NAME "muse2")
+
+## The library where we will install the shared components:
+SET(MusE_MODULES_DIR ${CMAKE_INSTALL_LIBDIR}/${MusE_INSTALL_NAME}/modules)
+SET(CMAKE_INSTALL_RPATH ${MusE_MODULES_DIR})
+
+## Synthesizers directory
+SET(MusE_SYNTHI_DIR ${CMAKE_INSTALL_LIBDIR}/${MusE_INSTALL_NAME}/synthi)
+
+## Plugins directory
+SET(MusE_PLUGINS_DIR ${CMAKE_INSTALL_LIBDIR}/${MusE_INSTALL_NAME}/plugins)
+
+## Top documentation dir
+IF(NOT DEFINED MusE_DOC_DIR)
+ SET(MusE_DOC_DIR ${SHARE_INSTALL_PREFIX}/doc/${MusE_INSTALL_NAME}/)
+ENDIF(NOT DEFINED MusE_DOC_DIR)
+
+## Data directory
+SET(MusE_SHARE_DIR ${SHARE_INSTALL_PREFIX}/${MusE_INSTALL_NAME})
+
+## Lib directory
+SET(MusE_LIB_DIR ${CMAKE_INSTALL_LIBDIR}/${MusE_INSTALL_NAME})
+
+FIND_PROGRAM(SVNVER svnversion)
+if (${SVNVER} STREQUAL "SVNVER-NOTFOUND")
+ SET (MusE_SVNVER 0)
+else (${SVNVER} STREQUAL "SVNVER-NOTFOUND")
+ EXEC_PROGRAM( svnversion
+ ARGS ${PROJECT_SOURCE_DIR}
+ OUTPUT_VARIABLE MusE_SVNVER )
+endif (${SVNVER} STREQUAL "SVNVER-NOTFOUND")
+
+# Do we need this? - Orcan:
+# include ( ${PROJECT_SOURCE_DIR}/cmake/WrapMacros.cmake)
+
+option ( ENABLE_LASH "enable LASH Audio Session Handler" ON)
+option ( ENABLE_OSC "enable Open Sound Control (DSSI also recommended)" ON)
+option ( ENABLE_DSSI "enable Disposable Soft Synth Interface (OSC also recommended)" ON)
+option ( ENABLE_VST "enable VST/win support" OFF)
+option ( ENABLE_FLUID "enable fluidsynth softsynth plugins" ON)
+option ( ENABLE_EXPERIMENTAL "enable building experimental features" OFF)
+option ( UPDATE_TRANSLATIONS "Update source translation share/locale/*.ts files
+ (WARNING: This will modify the .ts files in the source tree!!)" OFF)
+
+##
+## 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)
+
+# Needed for plugins factory:
+SET(QT_USE_QTUITOOLS TRUE)
+
+include(${QT_USE_FILE})
+
+
+##
+## find doxygen
+## TODO
+
+##
+## alsa >= 0.9.0
+##
+
+if (APPLE)
+ message("Disabling ALSA support due to OS X build.")
+else (APPLE)
+PKG_CHECK_MODULES(ALSA REQUIRED alsa>=0.9.0)
+include_directories(${ALSA_INCLUDE_DIRS})
+endif (APPLE)
+
+##
+## find sndfile >= 1.0.0
+##
+
+PKG_CHECK_MODULES(SNDFILE REQUIRED sndfile>=1.0.0)
+include_directories(${SNDFILE_INCLUDE_DIRS})
+
+##
+## find libsamplerate >= 0.1.0
+##
+
+PKG_CHECK_MODULES(SAMPLERATE REQUIRED samplerate>=0.1.0)
+include_directories(${SAMPLERATE_INCLUDE_DIRS})
+
+##
+## find libuuid
+##
+
+PKG_CHECK_MODULES(UUID REQUIRED uuid>=0.0.1)
+include_directories(${UUID_INCLUDE_DIRS})
+
+##
+## find jack >= 0.103.0
+##
+
+PKG_CHECK_MODULES(JACK REQUIRED jack>=0.103)
+include_directories(${JACK_INCLUDE_DIRS})
+
+##
+## find LASH
+##
+
+if (ENABLE_LASH)
+ PKG_CHECK_MODULES(LASH lash-1.0>=0.2)
+ if (LASH_FOUND)
+ include_directories(${LASH_INCLUDE_DIRS})
+ set(HAVE_LASH ON)
+ endif (LASH_FOUND)
+else (ENABLE_LASH)
+ message("LASH disabled")
+endif (ENABLE_LASH)
+
+##
+## check for liblo >= 0.23
+##
+
+if (ENABLE_OSC)
+ PKG_CHECK_MODULES(LIBLO liblo>=0.23)
+ if (LIBLO_FOUND)
+ include_directories(${LIBLO_INCLUDE_DIRS})
+ set(OSC_SUPPORT ON)
+ endif (LIBLO_FOUND)
+else (ENABLE_OSC)
+ message("OSC disabled")
+endif (ENABLE_OSC)
+
+##
+## check for dssi >= 0.9.0
+##
+
+if (ENABLE_DSSI)
+ PKG_CHECK_MODULES(DSSI dssi>=0.9.0)
+ if (DSSI_FOUND)
+ include_directories(${DSSI_INCLUDE_DIRS})
+ set(DSSI_SUPPORT ON)
+ endif (DSSI_FOUND)
+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 )
+ # Be careful with naming here since we have two shared synth libraries
+ # to be built later, named 'fluidsynth' and 'fluid' !
+ PKG_CHECK_MODULES(FLUIDSYN fluidsynth>=0.9.0)
+ if (FLUIDSYN_FOUND)
+ include_directories(${FLUIDSYN_INCLUDE_DIRS})
+ set(HAVE_FLUIDSYNTH ON)
+ # message("FLUIDSYN_LIBRARIES " ${FLUIDSYN_LIBRARIES} ) # "fluidsynth"
+ # message("FLUIDSYN_LDFLAGS " ${FLUIDSYN_LDFLAGS} ) # "-lfluidsynth"
+ # message("FLUIDSYN_LDFLAGS_OTHER " ${FLUIDSYN_LDFLAGS_OTHER} ) # empty
+ # message("FLUIDSYN_INCLUDE_DIRS " ${FLUIDSYN_INCLUDE_DIRS} ) # empty
+ # message("FLUIDSYN_CFLAGS " ${FLUIDSYN_CFLAGS} ) # empty
+ # message("FLUIDSYN_CFLAGS_OTHER " ${FLUIDSYN_CFLAGS_OTHER} ) # empty
+ endif (FLUIDSYN_FOUND)
+else ( ENABLE_FLUID )
+ message("Fluidsynth disabled")
+endif ( ENABLE_FLUID )
+
+if ( ENABLE_EXPERIMENTAL )
+ set(CMAKE_CXX_FLAGS -DBUILD_EXPERIMENTAL ${CMAKE_CXX_FLAGS})
+endif ( ENABLE_EXPERIMENTAL )
+
+#
+# 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
+ )
+
+# 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}")
+
+ # Don't pack the binary tree and the subversion directories
+ SET(CPACK_SOURCE_IGNORE_FILES "/\\\\.svn/;${CMAKE_BINARY_DIR}/*")
+
+ 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 "-Wall -Wextra -Winvalid-pch -fno-exceptions ${CMAKE_CXX_FLAGS}")
+set(CMAKE_CXX_FLAGS_RELEASE "-O2 -fomit-frame-pointer -ffast-math -fstrength-reduce ${CMAKE_CXX_FLAGS_RELEASE}")
+set(CMAKE_CXX_FLAGS_DEBUG "-g -DQT_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}")
+
+# subdirs(al awl grepmidi plugins midiplugins muse share synti)
+# subdirs(al lib grepmidi plugins xpm muse share demos doc synti utils)
+#subdirs(al lib grepmidi plugins muse share demos synti )
+# NOTE: share/ directory needs to be at the end so that the translations
+# are scanned before coming to share/locale
+subdirs(al awl grepmidi man plugins muse synti packaging utils demos share)
+
+## Install doc files
+file (GLOB doc_files
+ AUTHORS
+ ChangeLog
+ COPYING
+ NEWS
+ README
+ README.de
+ README.effects-rack
+ README.instruments
+ README.ladspaguis
+ README.shortcuts
+ README.softsynth
+ README.translate
+ SECURITY
+ )
+INSTALL( FILES ${doc_files} DESTINATION ${MusE_DOC_DIR})
+
+## Uninstall support
+configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY)
+
+add_custom_target(uninstall
+ "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake")
+
+## Show a summary of what we got
+summary_add("Lash support" HAVE_LASH)
+summary_add("OSC (Liblo) support" OSC_SUPPORT)
+summary_add("DSSI support" DSSI_SUPPORT)
+summary_add("VST support" VST_SUPPORT)
+summary_add("Fluidsynth support" HAVE_FLUIDSYNTH)
+summary_add("Experimental features" ENABLE_EXPERIMENTAL)
+summary_show()
+
+## Make the user aware of what type they're building.
+if (NOT CMAKE_BUILD_TYPE)
+ message(" Build type: CMAKE_BUILD_TYPE is empty. Plain un-optimized build.")
+else (NOT CMAKE_BUILD_TYPE)
+ message(" Build type: " ${CMAKE_BUILD_TYPE} )
+endif (NOT CMAKE_BUILD_TYPE)
+message("")
+