Release version 0.99.2-1
[fmit.git] / CMakeLists.txt
1
2 project(fmit) # the name of your project
3
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)
11
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})
20
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)
24
25 # CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
26 # IF(HAVE_UNISTD_H)
27 #   ADD_DEFINITIONS(-DHAVE_UNISTD_H)
28 # ENDIF(HAVE_UNISTD_H)
29
30 ADD_DEFINITIONS(-DPREFIX=\\\"${PREFIX}\\\" -DPACKAGE_NAME=\\\"${PACKAGE_NAME}\\\" -DPACKAGE_VERSION=\\\"${PACKAGE_VERSION}\\\")
31
32 #FIND DEPENDENCIES
33 FIND_PACKAGE(Qt4 REQUIRED)
34 IF (QT4_FOUND)
35     MESSAGE(STATUS "Qt4 library found")
36 ELSE ()
37     MESSAGE(FATAL_ERROR "No Qt4 library found !")
38 ENDIF ()
39
40 SET (FILES_TO_TRANSLATE )
41
42 SET(QT_USE_QTOPENGL TRUE)
43 #SET(QT_USE_QT3SUPPORT TRUE)
44
45 INCLUDE(${QT_USE_FILE})
46
47 FIND_PACKAGE(GLUT REQUIRED)
48 IF (GLUT_FOUND)
49     MESSAGE(STATUS "GLUT library found")
50 ELSE ()
51     MESSAGE(FATAL_ERROR "GLUT library NOT found !")
52 ENDIF ()
53
54 FIND_PACKAGE(OpenGL REQUIRED)
55 IF (OPENGL_FOUND)
56     MESSAGE(STATUS "OpenGL library found")
57 ELSE ()
58     MESSAGE(FATAL_ERROR "OpenGL library NOT found !")
59 ENDIF ()
60
61 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
62 FIND_PACKAGE(FFTW3 REQUIRED)
63
64 # Options ----------------------------------------------------------------------
65
66 OPTION(SOUNDSYSTEM_USE_OSS "Build FMIT with OSS support")
67 IF (SOUNDSYSTEM_USE_OSS)
68     MESSAGE("OSS sound system requested")
69     FIND_PACKAGE(OSS)
70     IF (OSS_FOUND)
71         ADD_DEFINITIONS(-DCAPTURE_OSS)
72         MESSAGE(STATUS "OSS library ok")
73     ELSE ()
74         MESSAGE(FATAL_ERROR "Unable to find OSS library")
75     ENDIF ()
76 ENDIF ()
77
78 OPTION(SOUNDSYSTEM_USE_ALSA "Build FMIT with ALSA support" ON)
79 IF (SOUNDSYSTEM_USE_ALSA)
80     MESSAGE("ALSA sound system requested")
81     FIND_PACKAGE(ALSA)
82     IF (HAVE_ALSA)
83         ADD_DEFINITIONS(-DCAPTURE_ALSA)
84         MESSAGE(STATUS "ALSA library ok")
85     ELSE ()
86         MESSAGE(FATAL_ERROR "Unable to find ALSA library")
87     ENDIF ()
88 ENDIF ()
89
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)
94     IF (PORTAUDIO_FOUND)
95         ADD_DEFINITIONS(-DCAPTURE_PORTAUDIO)
96         MESSAGE(STATUS "Portaudio library ok")
97     ELSE ()
98         MESSAGE(FATAL_ERROR "Unable to find Portaudio library")
99     ENDIF ()
100 ENDIF ()
101
102 OPTION(SOUNDSYSTEM_USE_JACK "Build FMIT with JACK support" ON)
103 IF (SOUNDSYSTEM_USE_JACK)
104     MESSAGE("JACK sound system requested")
105     FIND_PACKAGE(Jack)
106     IF (JACK_FOUND)
107         ADD_DEFINITIONS(-DCAPTURE_JACK)
108         MESSAGE(STATUS "JACK library ok")
109     ELSE ()
110         MESSAGE(FATAL_ERROR "Unable to find JACK library")
111     ENDIF ()
112 ENDIF ()
113
114 # Qt4 Translations
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!)")
117
118 # Building ---------------------------------------------------------------------
119
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)
125
126 # Installation -----------------------------------------------------------------
127
128 # Desktop files
129 INSTALL(FILES
130   fmit.desktop
131   DESTINATION share/applications
132 )
133
134 # Icon files
135 INSTALL(FILES
136     ui/images/fmit.svg
137     DESTINATION share/icons/hicolor/scalable/apps
138 )
139
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
153     CVS
154     .deps ".*\\\\.ui~"
155     CMakeFiles cmake_install.cmake CMakeCache.txt
156     Makefile
157     contrib build dwl remez old test
158     test_build.sh sync_dwl.sh
159 )
160 INCLUDE(CPack)