2 project(fmit) # the name of your project
4 CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
5 if(COMMAND cmake_policy)
6 cmake_policy(SET CMP0003 NEW)
7 endif(COMMAND cmake_policy)
8 if(COMMAND cmake_policy)
9 cmake_policy(SET CMP0005 OLD)
10 endif(COMMAND cmake_policy)
12 SET (PACKAGE_NAME "fmit")
13 SET (VERSION_MAJOR "0")
14 SET (VERSION_MINOR "99")
15 SET (VERSION_PATCH "2")
16 SET (VERSION_SUFFIX "")
17 SET (PACKAGE_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${VERSION_SUFFIX})
18 MESSAGE(STATUS "${PACKAGE_NAME} ${PACKAGE_VERSION} (install in ${CMAKE_INSTALL_PREFIX})")
19 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
21 # CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H)
22 # CHECK_INCLUDE_FILES ("sys/param.h;sys/mount.h" HAVE_SYS_MOUNT_H)
23 # CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
25 # CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
27 # ADD_DEFINITIONS(-DHAVE_UNISTD_H)
28 # ENDIF(HAVE_UNISTD_H)
30 ADD_DEFINITIONS(-DPREFIX=\\\"${PREFIX}\\\" -DPACKAGE_NAME=\\\"${PACKAGE_NAME}\\\" -DPACKAGE_VERSION=\\\"${PACKAGE_VERSION}\\\")
33 FIND_PACKAGE(Qt4 REQUIRED)
35 MESSAGE(STATUS "Qt4 library found")
37 MESSAGE(FATAL_ERROR "No Qt4 library found !")
40 SET (FILES_TO_TRANSLATE )
42 SET(QT_USE_QTOPENGL TRUE)
43 #SET(QT_USE_QT3SUPPORT TRUE)
45 INCLUDE(${QT_USE_FILE})
47 FIND_PACKAGE(GLUT REQUIRED)
49 MESSAGE(STATUS "GLUT library found")
51 MESSAGE(FATAL_ERROR "GLUT library NOT found !")
54 FIND_PACKAGE(OpenGL REQUIRED)
56 MESSAGE(STATUS "OpenGL library found")
58 MESSAGE(FATAL_ERROR "OpenGL library NOT found !")
61 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
62 FIND_PACKAGE(FFTW3 REQUIRED)
64 # Options ----------------------------------------------------------------------
66 OPTION(SOUNDSYSTEM_USE_OSS "Build FMIT with OSS support")
67 IF (SOUNDSYSTEM_USE_OSS)
68 MESSAGE("OSS sound system requested")
71 ADD_DEFINITIONS(-DCAPTURE_OSS)
72 MESSAGE(STATUS "OSS library ok")
74 MESSAGE(FATAL_ERROR "Unable to find OSS library")
78 OPTION(SOUNDSYSTEM_USE_ALSA "Build FMIT with ALSA support" ON)
79 IF (SOUNDSYSTEM_USE_ALSA)
80 MESSAGE("ALSA sound system requested")
83 ADD_DEFINITIONS(-DCAPTURE_ALSA)
84 MESSAGE(STATUS "ALSA library ok")
86 MESSAGE(FATAL_ERROR "Unable to find ALSA library")
90 OPTION(SOUNDSYSTEM_USE_PORTAUDIO "Build FMIT with Portaudio support")
91 IF (SOUNDSYSTEM_USE_PORTAUDIO)
92 MESSAGE("Portaudio sound system requested")
93 FIND_PACKAGE(Portaudio)
95 ADD_DEFINITIONS(-DCAPTURE_PORTAUDIO)
96 MESSAGE(STATUS "Portaudio library ok")
98 MESSAGE(FATAL_ERROR "Unable to find Portaudio library")
102 OPTION(SOUNDSYSTEM_USE_JACK "Build FMIT with JACK support" ON)
103 IF (SOUNDSYSTEM_USE_JACK)
104 MESSAGE("JACK sound system requested")
107 ADD_DEFINITIONS(-DCAPTURE_JACK)
108 MESSAGE(STATUS "JACK library ok")
110 MESSAGE(FATAL_ERROR "Unable to find JACK library")
115 FILE (GLOB TRANSLATIONS_FILES tr/*.ts)
116 OPTION(UPDATE_TRANSLATIONS "Update source translation tr/*.ts files (WARNING: make clean will delete the source .ts files! Danger!)")
118 # Building ---------------------------------------------------------------------
120 # Tell cmake to process CMakeLists.txt in that subdirectory
121 ADD_SUBDIRECTORY(libs/Music)
122 ADD_SUBDIRECTORY(libs/CppAddons)
123 ADD_SUBDIRECTORY(src/modules)
124 ADD_SUBDIRECTORY(src)
126 # Installation -----------------------------------------------------------------
131 DESTINATION share/applications
137 DESTINATION share/icons/hicolor/scalable/apps
140 # Packaging --------------------------------------------------------------------
141 # build a CPack driven installer package
142 # cpack --config CPackConfig.cmake
143 # cpack --config CPackSourceConfig.cmake
144 INCLUDE(InstallRequiredSystemLibraries)
145 SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
146 SET(CPACK_GENERATOR "TGZ;TBZ2")
147 SET(CPACK_PACKAGE_VENDOR "Gilles Degottex")
148 SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
149 SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
150 SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
151 SET(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
152 SET(CPACK_SOURCE_IGNORE_FILES
155 CMakeFiles cmake_install.cmake CMakeCache.txt
157 contrib build dwl remez old test
158 test_build.sh sync_dwl.sh