* made cmake-files ready for NSIS-packaging

* added win-resource-object to LMMS-binary



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1427 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-08-01 21:09:32 +00:00
parent f3cae379e1
commit 67095e36b2
8 changed files with 87 additions and 30 deletions

View File

@@ -81,9 +81,16 @@ IF(HOST_IS_64BIT)
ELSE(HOST_IS_64BIT)
SET(LIB_DIR lib)
ENDIF(HOST_IS_64BIT)
SET(PLUGIN_DIR ${LIB_DIR}/lmms)
SET(DATA_DIR ${CMAKE_INSTALL_PREFIX}/share)
SET(LMMS_DATA_DIR ${DATA_DIR}/lmms)
IF(LMMS_BUILD_WIN32)
SET(PLUGIN_DIR plugins)
SET(DATA_DIR data)
SET(LMMS_DATA_DIR data)
ELSE(LMMS_BUILD_WIN32)
SET(PLUGIN_DIR ${LIB_DIR}/lmms)
SET(DATA_DIR share)
SET(LMMS_DATA_DIR ${DATA_DIR}/lmms)
ENDIF(LMMS_BUILD_WIN32)
CHECK_INCLUDE_FILES(stdint.h LMMS_HAVE_STDINT_H)
@@ -284,6 +291,8 @@ ENDIF(NOT LMMS_HAVE_SAMPLERATE)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/lmmsconfig.h.in ${CMAKE_BINARY_DIR}/lmmsconfig.h)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/lmms.rc.in ${CMAKE_BINARY_DIR}/lmms.rc)
# people simply updating SVN will still have this and mess up build with it
FILE(REMOVE include/lmmsconfig.h)
@@ -310,9 +319,18 @@ 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} -fno-exceptions ${CXXFLAGS}")
IF(NOT WIN32)
IF(WIN32)
SET(WINRC "${CMAKE_BINARY_DIR}/lmmsrc.obj")
ADD_CUSTOM_COMMAND(OUTPUT ${WINRC}
COMMAND /opt/mingw/bin/i586-mingw32-windres
-I${CMAKE_SOURCE_DIR}
-o${CMAKE_BINARY_DIR}/lmmsrc.obj
-i${CMAKE_BINARY_DIR}/lmms.rc
DEPENDS ${CMAKE_BINARY_DIR}/lmms.rc)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes")
ELSE(WIN32)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
ENDIF(NOT WIN32)
ENDIF(WIN32)
# make sub-directories
ADD_SUBDIRECTORY(plugins)
@@ -327,8 +345,15 @@ INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include ${CMAKE_SOUR
LINK_DIRECTORIES(${CMAKE_INSTALL_PREFIX}/lib ${ASOUND_LIBRARY_DIR} ${JACK_LIBRARY_DIRS} ${SAMPLERATE_LIBRARY_DIRS} ${SNDFILE_LIBRARY_DIRS})
LINK_LIBRARIES(${QT_LIBRARIES} ${ASOUND_LIBRARY} ${SDL_LIBRARY} ${PULSEAUDIO_LIBRARIES} ${JACK_LIBRARIES} ${OGGVORBIS_LIBRARIES} ${SAMPLERATE_LIBRARIES} ${SNDFILE_LIBRARIES})
ADD_EXECUTABLE(lmms ${lmms_SOURCES} ${lmms_INCLUDES} ${LIBSAMPLERATE_SOURCES} ${ER_H} ${lmms_UI_out} lmmsconfig.h)
INSTALL(TARGETS lmms RUNTIME DESTINATION bin)
ADD_EXECUTABLE(lmms ${lmms_SOURCES} ${lmms_INCLUDES} ${LIBSAMPLERATE_SOURCES} ${ER_H} ${lmms_UI_out} lmmsconfig.h ${WINRC})
IF(LMMS_BUILD_WIN32)
SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -mwindows")
ADD_CUSTOM_COMMAND(TARGET lmms POST_BUILD COMMAND /opt/mingw/bin/i586-mingw32-strip ${CMAKE_BINARY_DIR}/lmms.exe)
INSTALL(TARGETS lmms RUNTIME DESTINATION .)
INSTALL(FILES /opt/mingw/bin/QtCore4.dll /opt/mingw/bin/QtGui4.dll /opt/mingw/bin/QtXml4.dll /opt/mingw/bin/libz.dll /opt/mingw/bin/libsndfile-1.dll /opt/mingw/bin/libvorbis-0.dll /opt/mingw/bin/libvorbisenc-2.dll /opt/mingw/bin/libvorbisfile-3.dll /opt/mingw/bin/libogg-0.dll /opt/mingw/bin/libfluidsynth-1.dll /opt/mingw/bin/libfftw3f-3.dll /opt/mingw/bin/SDL.dll /opt/mingw/i586-mingw32/bin/mingwm10.dll DESTINATION .)
ELSE(LMMS_BUILD_WIN32)
INSTALL(TARGETS lmms RUNTIME DESTINATION bin)
ENDIF(LMMS_BUILD_WIN32)
#
# rules for building localizations
@@ -372,7 +397,7 @@ ADD_CUSTOM_TARGET(dist
COMMAND rm -rf ${TMP})
#
# add win32-pkg-target
# add win32-pkg-target (deprecated - use "package" target instead)
#
ADD_CUSTOM_TARGET(win32-pkg
COMMAND mkdir -p tmp/lmms/data
@@ -473,22 +498,24 @@ 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}")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "LMMS-${VERSION}")
IF(WIN32)
SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/data\\\\lmms.ico")
SET(CPACK_NSIS_INSTALLED_ICON_NAME "lmms.exe")
SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/data\\\\nsis_branding.bmp")
SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/data\\\\lmms.ico")
SET(CPACK_NSIS_INSTALLED_ICON_NAME "lmms.exe")
SET(CPACK_NSIS_DISPLAY_NAME "Linux MultiMedia Studio (LMMS)")
SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lmms.sourceforge.net")
SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lmms.sourceforge.net")
SET(CPACK_NSIS_CONTACT "lmms-devel@lists.sourceforge.net")
SET(CPACK_NSIS_MODIFY_PATH ON)
ELSEIF(WIN32)
SET(CPACK_STRIP_FILES "bin/lmms")
SET(CPACK_PACKAGE_EXECUTABLES "lmms.exe;Linux MultiMedia Studio")
SET(CPACK_NSIS_MENU_LINKS "lmms.exe;Linux MultiMedia Studio")
ELSE(WIN32)
SET(CPACK_STRIP_FILES "bin/lmms;${PLUGIN_DIR}/*.so")
SET(CPACK_PACKAGE_EXECUTABLES "lmms" "LMMS binary")
ENDIF(WIN32)
SET(MACOSX_BUNDLE_ICON_FILE "${CMAKE_SOURCE_DIR}/data/themes/default/icon.png")
@@ -499,7 +526,6 @@ 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}")
INCLUDE(CPack)

View File

@@ -1,5 +1,25 @@
2008-08-01 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* src/core/midi/midi_winmm.cpp:
added debug-code
* src/core/song.cpp:
do not reset window title twice when creating new project
* src/core/main.cpp:
when creating a new project, show main-window afterwards - fixes
behaviour when debugging win32-version via WINE
* cmake/modules/BuildPlugin.cmake:
* plugins/ladspa_effect/tap/CMakeLists.txt:
* plugins/ladspa_effect/caps/CMakeLists.txt:
* data/CMakeLists.txt:
* data/nsis_branding.bmp:
* CMakeLists.txt:
* lmms.rc.in:
- made cmake-files ready for NSIS-packaging
- added win-resource-object to LMMS-binary
* plugins/sf2_player/patches_dialog.cpp:
* plugins/sf2_player/sf2_player.cpp:
* plugins/sf2_player/patches_dialog.h:

View File

@@ -73,25 +73,27 @@ MACRO(BUILD_PLUGIN)
ADD_FILE_DEPENDENCIES(${f} ${ER_H} ${plugin_MOC_out} ${plugin_UIC_out})
ENDFOREACH(f)
# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -i-static")
IF(LMMS_BUILD_APPLE)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
LINK_LIBRARIES(${QT_LIBRARIES})
ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_WIN32)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
LINK_LIBRARIES(-llmms ${QT_LIBRARIES})
ENDIF(LMMS_BUILD_WIN32)
ADD_LIBRARY(${PLUGIN_NAME} MODULE ${PLUGIN_SOURCES})
INSTALL(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION "${PLUGIN_DIR}")
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)
IF(LMMS_BUILD_WIN32)
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES PREFIX "")
ADD_CUSTOM_COMMAND(TARGET ${PLUGIN_NAME} POST_BUILD COMMAND /opt/mingw/bin/i586-mingw32-strip ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_NAME}.dll)
ENDIF(LMMS_BUILD_WIN32)
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${ER_H} ${plugin_MOC_out}")
ENDMACRO(BUILD_PLUGIN)

View File

@@ -5,7 +5,9 @@ ADD_SUBDIRECTORY(samples)
ADD_SUBDIRECTORY(themes)
ADD_SUBDIRECTORY(track_icons)
IF(LMMS_BUILD_LINUX)
INSTALL(FILES lmms DESTINATION ${DATA_DIR}/menu)
INSTALL(FILES lmms.desktop DESTINATION ${DATA_DIR}/applications)
INSTALL(FILES lmms.xml DESTINATION ${DATA_DIR}/mime/packages)
ENDIF(LMMS_BUILD_LINUX)

BIN
data/nsis_branding.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -16,11 +16,11 @@ BEGIN
VALUE "Comments", "Linux MultiMedia Studio (http://lmms.sf.net)\0"
VALUE "CompanyName", "LMMS Developers\0"
VALUE "FileDescription", "Linux MultiMedia Studio\0"
VALUE "FileVersion", "@PACKAGE_VERSION@\0"
VALUE "FileVersion", "@VERSION@\0"
VALUE "LegalCopyright", "Copyright (c) 2004-2008 LMMS Developers\0"
VALUE "OriginalFilename", "lmms.exe\0"
VALUE "ProductName", "LMMS\0"
VALUE "ProductVersion", "@PACKAGE_VERSION@\0"
VALUE "ProductVersion", "@VERSION@\0"
END
END
END

View File

@@ -1,6 +1,8 @@
INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include")
FILE(GLOB SOURCES *.cc)
ADD_LIBRARY(caps SHARED ${SOURCES})
ADD_LIBRARY(caps MODULE ${SOURCES})
INSTALL(TARGETS caps LIBRARY DESTINATION ${PLUGIN_DIR}/ladspa)
SET_TARGET_PROPERTIES(caps PROPERTIES PREFIX "")
EXEC_PROGRAM(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
STRING(REGEX MATCH "4\\.1\\.[0-9]" _gcc_is_4_1_x "${_gcc_version_info}")
@@ -12,6 +14,9 @@ ELSE(NO_O3)
SET_TARGET_PROPERTIES(caps PROPERTIES COMPILE_FLAGS "-O3 -Wno-write-strings")
ENDIF(NO_O3)
IF(LMMS_BUILD_WIN32)
ADD_CUSTOM_COMMAND(TARGET caps POST_BUILD COMMAND /opt/mingw/bin/i586-mingw32-strip ${CMAKE_CURRENT_BINARY_DIR}/caps.dll)
ENDIF(LMMS_BUILD_WIN32)
IF(LMMS_BUILD_APPLE)
SET_TARGET_PROPERTIES(caps PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -no-undefined")
@@ -21,6 +26,5 @@ ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_LINUX)
SET_TARGET_PROPERTIES(caps PROPERTIES LINK_FLAGS "${LINK_FLAGS} -nostartfiles")
INSTALL(TARGETS caps LIBRARY DESTINATION ${PLUGIN_DIR}/ladspa)
ENDIF(LMMS_BUILD_LINUX)

View File

@@ -2,9 +2,13 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include")
FILE(GLOB PLUGIN_SOURCES *.c)
FOREACH(_item ${PLUGIN_SOURCES})
GET_FILENAME_COMPONENT(_plugin "${_item}" NAME_WE)
ADD_LIBRARY(${_plugin} SHARED ${_item})
ADD_LIBRARY(${_plugin} MODULE ${_item})
INSTALL(TARGETS ${_plugin} LIBRARY DESTINATION ${PLUGIN_DIR}/ladspa)
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")
IF(LMMS_BUILD_WIN32)
ADD_CUSTOM_COMMAND(TARGET ${_plugin} POST_BUILD COMMAND /opt/mingw/bin/i586-mingw32-strip ${CMAKE_CURRENT_BINARY_DIR}/${_plugin}.dll)
ENDIF(LMMS_BUILD_WIN32)
IF(LMMS_BUILD_APPLE)
SET_TARGET_PROPERTIES(${_plugin} PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -no-undefined -Bsymbolic -lm")
ELSE(LMMS_BUILD_APPLE)
@@ -12,7 +16,6 @@ FOREACH(_item ${PLUGIN_SOURCES})
ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_LINUX)
SET_TARGET_PROPERTIES(${_plugin} PROPERTIES LINK_FLAGS "${LINK_FLAGS} -nostartfiles")
INSTALL(TARGETS ${_plugin} LIBRARY DESTINATION ${PLUGIN_DIR}/ladspa)
ENDIF(LMMS_BUILD_LINUX)
ENDFOREACH(_item ${PLUGIN_SOURCES})