@@ -18,6 +18,10 @@ IF(COMMAND CMAKE_POLICY)
1818 CMAKE_POLICY (SET CMP0057 NEW)
1919ENDIF (COMMAND CMAKE_POLICY)
2020
21+
22+ # Import of windows.h breaks min()/max()
23+ ADD_DEFINITIONS (-DNOMINMAX)
24+
2125INCLUDE (PluginList)
2226INCLUDE (CheckSubmodules)
2327INCLUDE (AddFileDependencies)
@@ -27,24 +31,24 @@ INCLUDE(GenerateExportHeader)
2731
2832STRING (TOUPPER "${CMAKE_PROJECT_NAME} " PROJECT_NAME_UCASE)
2933
30- SET (PROJECT_YEAR 2019 )
34+ SET (PROJECT_YEAR 2020 )
3135
3236SET (PROJECT_AUTHOR "LMMS Developers" )
3337SET (PROJECT_URL "https://lmms.io" )
3438SET (PROJECT_EMAIL
"[email protected] " )
3539SET (PROJECT_DESCRIPTION "${PROJECT_NAME_UCASE} - Free music production software" )
3640SET (PROJECT_COPYRIGHT "2008-${PROJECT_YEAR} ${PROJECT_AUTHOR} " )
3741SET (VERSION_MAJOR "1" )
38- SET (VERSION_MINOR "2 " )
39- SET (VERSION_RELEASE "1 " )
40- SET (VERSION_STAGE "" )
41- SET (VERSION_BUILD "0 " )
42+ SET (VERSION_MINOR "3 " )
43+ SET (VERSION_RELEASE "0 " )
44+ SET (VERSION_STAGE "alpha " )
45+ SET (VERSION_BUILD "" )
4246SET (VERSION "${VERSION_MAJOR} .${VERSION_MINOR} .${VERSION_RELEASE} " )
4347IF (VERSION_STAGE)
4448 SET (VERSION "${VERSION} -${VERSION_STAGE} " )
4549ENDIF ()
4650IF (VERSION_BUILD)
47- SET (VERSION "${VERSION} . ${VERSION_BUILD} " )
51+ SET (VERSION "${VERSION} - ${VERSION_BUILD} " )
4852ENDIF ()
4953
5054# Override version information for non-base builds
@@ -58,6 +62,8 @@ OPTION(WANT_CARLA "Include Carla plugin" ON)
5862OPTION (WANT_CMT "Include Computer Music Toolkit LADSPA plugins" ON )
5963OPTION (WANT_JACK "Include JACK (Jack Audio Connection Kit) support" ON )
6064OPTION (WANT_WEAKJACK "Loosely link JACK libraries" ON )
65+ OPTION (WANT_LV2 "Include Lv2 plugins" ON )
66+ OPTION (WANT_SUIL "Include SUIL for LV2 plugin UIs" ON )
6167OPTION (WANT_MP3LAME "Include MP3/Lame support" ON )
6268OPTION (WANT_OGGVORBIS "Include OGG/Vorbis support" ON )
6369OPTION (WANT_PULSEAUDIO "Include PulseAudio support" ON )
@@ -75,6 +81,7 @@ OPTION(WANT_VST_32 "Include 32-bit VST support" ON)
7581OPTION (WANT_VST_64 "Include 64-bit VST support" ON )
7682OPTION (WANT_WINMM "Include WinMM MIDI support" OFF )
7783OPTION (WANT_DEBUG_FPE "Debug floating point exceptions" OFF )
84+ OPTION (BUNDLE_QT_TRANSLATIONS "Install Qt translation files for LMMS" OFF )
7885
7986
8087IF (LMMS_BUILD_APPLE)
@@ -94,14 +101,13 @@ ENDIF(LMMS_BUILD_APPLE)
94101
95102IF (LMMS_BUILD_WIN32)
96103 SET (WANT_ALSA OFF )
97- SET (WANT_JACK OFF )
98104 SET (WANT_PULSEAUDIO OFF )
99105 SET (WANT_SNDIO OFF )
100106 SET (WANT_SOUNDIO OFF )
101107 SET (WANT_WINMM ON )
108+ SET (BUNDLE_QT_TRANSLATIONS ON )
102109 SET (LMMS_HAVE_WINMM TRUE )
103110 SET (STATUS_ALSA "<not supported on this platform>" )
104- SET (STATUS_JACK "<not supported on this platform>" )
105111 SET (STATUS_PULSEAUDIO "<not supported on this platform>" )
106112 SET (STATUS_SOUNDIO "<disabled in this release>" )
107113 SET (STATUS_WINMM "OK" )
@@ -171,6 +177,17 @@ ENDIF()
171177# Resolve Qt5::qmake to full path for use in packaging scripts
172178GET_TARGET_PROPERTY (QT_QMAKE_EXECUTABLE "${Qt5Core_QMAKE_EXECUTABLE} " IMPORTED_LOCATION )
173179
180+ # Find the location of Qt translation files
181+ execute_process (COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_TRANSLATIONS
182+ OUTPUT_VARIABLE QT_TRANSLATIONS_DIR
183+ OUTPUT_STRIP_TRAILING_WHITESPACE
184+ ERROR_QUIET
185+ )
186+ IF (EXISTS "${QT_TRANSLATIONS_DIR} " )
187+ MESSAGE ("-- Found Qt translations in ${QT_TRANSLATIONS_DIR} " )
188+ ADD_DEFINITIONS (-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR} " ')
189+ ENDIF ()
190+
174191# check for libsndfile
175192FIND_PACKAGE (SndFile REQUIRED)
176193IF (NOT SNDFILE_FOUND)
@@ -181,6 +198,44 @@ IF(NOT SNDFILE_VERSION VERSION_LESS 1.0.26)
181198 SET (LMMS_HAVE_SF_COMPLEVEL TRUE )
182199ENDIF ()
183200
201+ IF (WANT_LV2)
202+ IF (PKG_CONFIG_FOUND)
203+ PKG_CHECK_MODULES(LV2 lv2)
204+ PKG_CHECK_MODULES(LILV lilv-0)
205+ ENDIF ()
206+ IF (NOT LV2_FOUND AND NOT LILV_FOUND)
207+ FIND_PACKAGE (LV2 CONFIG)
208+ FIND_PACKAGE (LILV CONFIG)
209+ IF (LILV_FOUND)
210+ SET (LILV_LIBRARIES "lilv::lilv" )
211+ ENDIF ()
212+ ENDIF ()
213+ IF (LV2_FOUND AND LILV_FOUND)
214+ SET (LMMS_HAVE_LV2 TRUE )
215+ SET (STATUS_LV2 "OK" )
216+ ELSE ()
217+ SET (STATUS_LV2 "not found, install it or set PKG_CONFIG_PATH appropriately" )
218+ ENDIF ()
219+ ELSE (WANT_LV2)
220+ SET (STATUS_LV2 "not built as requested" )
221+ ENDIF (WANT_LV2)
222+
223+ IF (WANT_SUIL)
224+ IF (PKG_CONFIG_FOUND)
225+ PKG_CHECK_MODULES(SUIL suil-0)
226+ IF (SUIL_FOUND)
227+ SET (LMMS_HAVE_SUIL TRUE )
228+ SET (STATUS_SUIL "OK" )
229+ ELSE ()
230+ SET (STATUS_SUIL "not found, install it or set PKG_CONFIG_PATH appropriately" )
231+ ENDIF ()
232+ ELSE ()
233+ SET (STATUS_SUIL "not found, requires pkg-config" )
234+ ENDIF ()
235+ ELSE (WANT_SUIL)
236+ SET (STATUS_SUIL "not built as requested" )
237+ ENDIF (WANT_SUIL)
238+
184239IF (WANT_CALF)
185240 SET (LMMS_HAVE_CALF TRUE )
186241 SET (STATUS_CALF "OK" )
@@ -384,23 +439,26 @@ ENDIF(NOT LMMS_HAVE_ALSA)
384439
385440# check for JACK
386441IF (WANT_JACK)
387- PKG_CHECK_MODULES(JACK jack>=0.77)
388- IF (JACK_FOUND)
389- IF (WANT_WEAKJACK)
390- SET (LMMS_HAVE_WEAKJACK TRUE )
391- SET (WEAKJACK_INCLUDE_DIR "${CMAKE_SOURCE_DIR} /src/3rdparty/weakjack/weakjack" )
392- SET (STATUS_JACK "OK (weak linking enabled)" )
393- # use dlsym instead
394- SET (JACK_LIBRARIES ${CMAKE_DL_LIBS} )
395- ELSE ()
442+ IF (WANT_WEAKJACK)
443+ SET (LMMS_HAVE_WEAKJACK TRUE )
444+ SET (WEAKJACK_INCLUDE_DIR ${CMAKE_SOURCE_DIR} /src/3rdparty/weakjack/weakjack)
445+ SET (JACK_INCLUDE_DIRS ${CMAKE_SOURCE_DIR} /src/3rdparty/jack2/common)
446+ SET (STATUS_JACK "OK (weak linking enabled)" )
447+ # use dlsym instead
448+ SET (JACK_LIBRARIES ${CMAKE_DL_LIBS} )
449+ SET (LMMS_HAVE_JACK TRUE )
450+ SET (JACK_FOUND TRUE )
451+ ELSE ()
452+ PKG_CHECK_MODULES(JACK jack>=0.77)
453+ IF (JACK_FOUND)
396454 SET (STATUS_JACK "OK" )
397455 ENDIF ()
398- SET (LMMS_HAVE_JACK TRUE )
399- ELSE (JACK_FOUND)
456+ ENDIF ()
457+
458+ IF (NOT JACK_FOUND)
400459 SET (JACK_INCLUDE_DIRS "" )
401- SET (STATUS_JACK "not found, please install libjack0.100.0-dev (or similar) "
402- "if you require JACK support" )
403- ENDIF (JACK_FOUND)
460+ SET (STATUS_JACK "not found" )
461+ ENDIF ()
404462ENDIF (WANT_JACK)
405463
406464# check for FFTW3F-library
@@ -438,9 +496,9 @@ If(WANT_GIG)
438496ENDIF (WANT_GIG)
439497
440498# check for pthreads
441- IF (LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD)
499+ IF (LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD OR LMMS_BUILD_HAIKU )
442500 FIND_PACKAGE (Threads)
443- ENDIF (LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD)
501+ ENDIF (LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD OR LMMS_BUILD_HAIKU )
444502
445503# check for sndio (roaraudio won't work yet)
446504IF (WANT_SNDIO)
@@ -686,6 +744,8 @@ MESSAGE(
686744MESSAGE (
687745"Optional plugins\n "
688746"----------------\n "
747+ "* Lv2 plugins : ${STATUS_LV2} \n "
748+ "* SUIL for plugin UIs : ${STATUS_SUIL} \n "
689749"* ZynAddSubFX instrument : ${STATUS_ZYN} \n "
690750"* Carla Patchbay & Rack : ${STATUS_CARLA} \n "
691751"* SoundFont2 player : ${STATUS_FLUIDSYNTH} \n "
0 commit comments