diff --git a/CMakeLists.txt b/CMakeLists.txt index 00919c415..84f791bad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,8 +25,12 @@ ENDIF(VERSION_SUFFIX) ADD_DEFINITIONS(-D'LMMS_VERSION="${VERSION}"') IF(WIN32) SET(LMMS_BUILD_WIN32 1) -ELSE(LINUX) - SET(LMMS_BUILD_LINUX 1) +ELSE(WIN32) + IF(APPLE) + SET(LMMS_BUILD_APPLE 1) + ELSE(APPLE) + SET(LMMS_BUILD_LINUX 1) + ENDIF(APPLE) ENDIF(WIN32) @@ -305,7 +309,7 @@ ADD_FILE_DEPENDENCIES(lmmsconfig.h ${lmms_MOC_out}) ADD_CUSTOM_COMMAND(OUTPUT ${ER_H} COMMAND ${BIN2RES} ARGS ${lmms_EMBEDDED_RESOURCES} > ${ER_H} DEPENDS ${BIN2RES}) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes -fno-exceptions ${CXXFLAGS}") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions ${CXXFLAGS}") IF(NOT WIN32) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") ENDIF(NOT WIN32) @@ -436,7 +440,7 @@ INCLUDE(InstallRequiredSystemLibraries) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Linux MultiMedia Studio - easy music production for everyone!") SET(CPACK_PACKAGE_VENDOR "LMMS Developers") SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README") -SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") +#SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}") SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}") SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}-${VERSION_SUFFIX}") @@ -453,6 +457,15 @@ SET(CPACK_NSIS_MODIFY_PATH ON) ELSEIF(WIN32) SET(CPACK_STRIP_FILES "bin/lmms") ENDIF(WIN32) + +SET(MACOSX_BUNDLE_ICON_FILE "${CMAKE_SOURCE_DIR}/data/themes/default/icon.png") +SET(MACOSX_BUNDLE_GUI_IDENTIFIER "LMMS") +SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${VERSION}") +SET(MACOSX_BUNDLE_BUNDLE_NAME "Linux MultiMedia Studio") +SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION}") +SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION}") +SET(MACOSX_BUNDLE_COPYRIGHT "Tobias Doerffel, 2008") + SET(CPACK_PACKAGE_EXECUTABLES "lmms" "LMMS binary") SET(CPACK_SOURCE_GENERATOR "TBZ2") SET(CPACK_SOURCE_PACKAGE_FILE_NAME "lmms-${VERSION}") diff --git a/ChangeLog b/ChangeLog index 514b4886e..cc6e8b2d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,72 @@ 2008-07-28 Tobias Doerffel + * plugins/ladspa_effect/ladspa_controls.cpp: + * plugins/lb302/lb302.cpp: + * plugins/lb303/lb303.cpp: + * plugins/stereo_matrix/stereomatrix_controls.cpp: + * plugins/bass_booster/bassbooster_controls.cpp: + * plugins/vst_effect/vst_effect_controls.cpp: + * plugins/vibed/vibed.cpp: + * plugins/triple_oscillator/triple_oscillator.cpp: + * plugins/peak_controller_effect/peak_controller_effect_controls.cpp: + * plugins/audio_file_processor/audio_file_processor.cpp: + * plugins/stereo_enhancer/stereoenhancer_controls.cpp: + * plugins/sf2_player/sf2_player.cpp: + * plugins/vst_base/lvsl_client.cpp: + * plugins/vst_base/lvsl_client.h: + * plugins/kicker/kicker.cpp: + * plugins/flp_import/flp_import.cpp: + * plugins/midi_import/midi_import.cpp: + * include/mmp.h: + * include/effect.h: + * include/meter_model.h: + * include/automatable_slider.h: + * include/song.h: + * include/pch.h: + * src/gui/main_window.cpp: + * src/gui/song_editor.cpp: + * src/gui/widgets/tempo_sync_knob.cpp: + * src/gui/widgets/meter_dialog.cpp: + * src/tracks/sample_track.cpp: + * src/tracks/bb_track.cpp: + * src/tracks/instrument_track.cpp: + * src/tracks/pattern.cpp: + * src/core/effect_chain.cpp: + * src/core/midi/midi_controller.cpp: + * src/core/midi/midi_port.cpp: + * src/core/track_container.cpp: + * src/core/serializing_object.cpp: + * src/core/journalling_object.cpp: + * src/core/config_mgr.cpp: + * src/core/automatable_model.cpp: + * src/core/instrument_sound_shaping.cpp: + * src/core/mmp.cpp: + * src/core/effect.cpp: + * src/core/instrument_functions.cpp: + * src/core/controller_connection.cpp: + * src/core/note.cpp: + * src/core/timeline.cpp: + * src/core/surround_area.cpp: + * src/core/automation_pattern.cpp: + * src/core/inline_automation.cpp: + * src/core/fx_mixer.cpp: + * src/core/controller.cpp: + * src/core/lfo_controller.cpp: + * src/core/peak_controller.cpp: + reduced header-dependencies + + * src/core/plugin.cpp: + - don't show messagebox if no GUI is running + - if plugin failed to load also tell about the reason + + * plugins/ladspa_effect/tap/CMakeLists.txt: + * plugins/ladspa_effect/caps/CMakeLists.txt: + * src/core/main.cpp: + * cmake/modules/BuildPlugin.cmake: + * lmmsconfig.h.in: + * CMakeLists.txt: + added support for building LMMS on OS X and generating a DMG-package + * src/core/main.cpp: win32-compatibility diff --git a/cmake/modules/BuildPlugin.cmake b/cmake/modules/BuildPlugin.cmake index 1c7ca9be8..24f912cad 100644 --- a/cmake/modules/BuildPlugin.cmake +++ b/cmake/modules/BuildPlugin.cmake @@ -77,7 +77,15 @@ MACRO(BUILD_PLUGIN) LINK_DIRECTORIES(${CMAKE_BINARY_DIR}) LINK_LIBRARIES(-llmms ${QT_LIBRARIES}) ENDIF(LMMS_BUILD_WIN32) - ADD_LIBRARY(${PLUGIN_NAME} SHARED ${PLUGIN_SOURCES}) + IF(LMMS_BUILD_APPLE) + LINK_DIRECTORIES(${CMAKE_BINARY_DIR}) + LINK_LIBRARIES(${QT_LIBRARIES}) + ADD_LIBRARY(${PLUGIN_NAME} MODULE ${PLUGIN_SOURCES}) + SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES LINK_FLAGS "-bundle_loader ${CMAKE_BINARY_DIR}/lmms") + INSTALL(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION "${PLUGIN_DIR}") + ELSE(LMMS_BUILD_APPLE) + ADD_LIBRARY(${PLUGIN_NAME} SHARED ${PLUGIN_SOURCES}) + ENDIF(LMMS_BUILD_APPLE) IF(LMMS_BUILD_LINUX) INSTALL(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION "${PLUGIN_DIR}") ENDIF(LMMS_BUILD_LINUX) diff --git a/lmmsconfig.h.in b/lmmsconfig.h.in index 4cd1243ee..181b100e0 100644 --- a/lmmsconfig.h.in +++ b/lmmsconfig.h.in @@ -1,5 +1,6 @@ #cmakedefine LMMS_BUILD_LINUX #cmakedefine LMMS_BUILD_WIN32 +#cmakedefine LMMS_BUILD_APPLE #cmakedefine LMMS_HAVE_ALSA #cmakedefine LMMS_HAVE_JACK diff --git a/plugins/ladspa_effect/caps/CMakeLists.txt b/plugins/ladspa_effect/caps/CMakeLists.txt index d989314b3..d517bc030 100644 --- a/plugins/ladspa_effect/caps/CMakeLists.txt +++ b/plugins/ladspa_effect/caps/CMakeLists.txt @@ -13,7 +13,7 @@ ELSE(NO_O3) ENDIF(NO_O3) -SET_TARGET_PROPERTIES(caps PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined") +SET_TARGET_PROPERTIES(caps PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -no-undefined") IF(LMMS_BUILD_LINUX) SET_TARGET_PROPERTIES(caps PROPERTIES LINK_FLAGS "${LINK_FLAGS} -nostartfiles") INSTALL(TARGETS caps LIBRARY DESTINATION ${PLUGIN_DIR}/ladspa) diff --git a/plugins/ladspa_effect/tap/CMakeLists.txt b/plugins/ladspa_effect/tap/CMakeLists.txt index 85c5f1a1c..7710a845c 100644 --- a/plugins/ladspa_effect/tap/CMakeLists.txt +++ b/plugins/ladspa_effect/tap/CMakeLists.txt @@ -6,7 +6,7 @@ FOREACH(_item ${PLUGIN_SOURCES}) ADD_LIBRARY(${_plugin} SHARED ${_item}) SET_TARGET_PROPERTIES(${_plugin} PROPERTIES PREFIX "") SET_TARGET_PROPERTIES(${_plugin} PROPERTIES COMPILE_FLAGS "-O3 -Wno-write-strings -Wall -fomit-frame-pointer -fno-strict-aliasing -fstrength-reduce -funroll-loops -ffast-math -c -fPIC -DPIC") - SET_TARGET_PROPERTIES(${_plugin} PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined -Wl,-Bsymbolic -lm") + SET_TARGET_PROPERTIES(${_plugin} PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -no-undefined -Bsymbolic -lm") IF(LMMS_BUILD_LINUX) SET_TARGET_PROPERTIES(${_plugin} PROPERTIES LINK_FLAGS "${LINK_FLAGS} -nostartfiles") INSTALL(TARGETS ${_plugin} LIBRARY DESTINATION ${PLUGIN_DIR}/ladspa) diff --git a/src/core/main.cpp b/src/core/main.cpp index 5200d3f78..48920bc2f 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -80,6 +80,7 @@ inline void loadTranslation( const QString & _tname, int main( int argc, char * * argv ) { +#ifdef LMMS_BUILD_LINUX #ifdef LMMS_HAVE_SCHED_H struct sched_param sparam; sparam.sched_priority = ( sched_get_priority_max( SCHED_FIFO ) + @@ -88,6 +89,7 @@ int main( int argc, char * * argv ) { printf( "could not set realtime priority.\n" ); } +#endif #endif bool core_only = FALSE;