CMAKE_MINIMUM_REQUIRED(VERSION 2.4.5)

PROJECT(lmms)

SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
SET(CMAKE_BUILD_TYPE relwithdebinfo)

IF(COMMAND CMAKE_POLICY)
	CMAKE_POLICY(SET CMP0005 NEW)
	CMAKE_POLICY(SET CMP0003 NEW)
ENDIF(COMMAND CMAKE_POLICY)

INCLUDE(AddFileDependencies)
INCLUDE(CheckIncludeFiles)
INCLUDE(FindPkgConfig)

SET(VERSION_MAJOR "0")
SET(VERSION_MINOR "4")
SET(VERSION_PATCH "0")
SET(VERSION_SUFFIX "beta")
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
IF(VERSION_SUFFIX)
	SET (VERSION "${VERSION}-${VERSION_SUFFIX}")
ENDIF(VERSION_SUFFIX)
ADD_DEFINITIONS(-D'LMMS_VERSION="${VERSION}"')
IF(WIN32)
	SET(LMMS_BUILD_WIN32 1)
ELSE(LINUX)
	SET(LMMS_BUILD_LINUX 1)
ENDIF(WIN32)


OPTION(WANT_ALSA	"Include ALSA (Advanced Linux Sound Architecture) support" ON)
OPTION(WANT_CAPS	"Include C* Audio Plugin Suite (LADSPA plugins)" ON)
OPTION(WANT_FFTW3F	"Include SpectrumAnalyzer plugin" ON)
OPTION(WANT_JACK	"Include JACK (Jack Audio Connection Kit) support" ON)
OPTION(WANT_OGGVORBIS	"Include OGG/Vorbis support" ON)
OPTION(WANT_PULSEAUDIO	"Include PulseAudio support" ON)
OPTION(WANT_SDL		"Include SDL (Simple DirectMedia Layer) support" ON)
OPTION(WANT_SF2		"Include SoundFont2 player plugin" ON)
OPTION(WANT_STK		"Include Stk (Synthesis Toolkit) support" ON)
OPTION(WANT_SYSTEM_SR	"Use system's libsamplerate" ON)
OPTION(WANT_TAP		"Include Tom's Audio Processing (LADSPA plugins)" ON)
OPTION(WANT_VST		"Include VST support" ON)
OPTION(WANT_WINMM	"Include WinMM MIDI support" OFF)
OPTION(WANT_PCH		"Use precompiled headers" OFF)

IF(LMMS_BUILD_WIN32)
	SET(WANT_ALSA OFF)
	SET(WANT_JACK OFF)
	SET(WANT_PULSEAUDIO OFF)
	SET(WANT_STK OFF)
	SET(WANT_SYSTEM_SR OFF)
	SET(WANT_WINMM ON)
	SET(LMMS_HAVE_WINMM TRUE)
ENDIF(LMMS_BUILD_WIN32)

MESSAGE("PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")
EXEC_PROGRAM( uname ARGS "-m"OUTPUT_VARIABLE Machine )
MESSAGE("Machine: ${Machine}")
IF(${Machine} MATCHES "i686" OR ${Machine} MATCHES "i386" )
	MESSAGE("-- This is an 32 bit machine")
	SET(HOST_IS_64BIT FALSE)
ELSE(${Machine} MATCHES "i686" OR ${Machine} MATCHES "i386" )
	IF(${Machine} MATCHES "x86_64")
		MESSAGE("-- This is an 64 bit machine")
		SET(HOST_IS_64BIT TRUE)
	ELSE(${Machine} MATCHES "x86_64")
		MESSAGE("Can't identify this machine. Assuming 32 bit platform ")
		SET(HOST_IS_64BIT FALSE)
	ENDIF(${Machine} MATCHES "x86_64")
ENDIF(${Machine} MATCHES "i686" OR ${Machine} MATCHES "i386" )


IF(HOST_IS_64BIT)
	SET(LIB_DIR lib64)
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)


CHECK_INCLUDE_FILES(stdint.h LMMS_HAVE_STDINT_H)
CHECK_INCLUDE_FILES(stdlib.h LMMS_HAVE_STDLIB_H)
CHECK_INCLUDE_FILES(pthread.h LMMS_HAVE_PTHREAD_H)
CHECK_INCLUDE_FILES(unistd.h LMMS_HAVE_UNISTD_H)
CHECK_INCLUDE_FILES(sys/types.h LMMS_HAVE_SYS_TYPES_H)
CHECK_INCLUDE_FILES(sys/ipc.h LMMS_HAVE_SYS_IPC_H)
CHECK_INCLUDE_FILES(sys/shm.h LMMS_HAVE_SYS_SHM_H)
CHECK_INCLUDE_FILES(sys/time.h LMMS_HAVE_SYS_TIME_H)
CHECK_INCLUDE_FILES(sys/wait.h LMMS_HAVE_SYS_WAIT_H)
CHECK_INCLUDE_FILES(sys/select.h LMMS_HAVE_SYS_SELECT_H)
CHECK_INCLUDE_FILES(stdarg.h LMMS_HAVE_STDARG_H)
CHECK_INCLUDE_FILES(signal.h LMMS_HAVE_SIGNAL_H)
CHECK_INCLUDE_FILES(sched.h LMMS_HAVE_SCHED_H)
CHECK_INCLUDE_FILES(sys/soundcard.h LMMS_HAVE_SYS_SOUNDCARD_H)
CHECK_INCLUDE_FILES(soundcard.h LMMS_HAVE_SOUNDCARD_H)
CHECK_INCLUDE_FILES(fcntl.h LMMS_HAVE_FCNTL_H)
CHECK_INCLUDE_FILES(sys/ioctl.h LMMS_HAVE_SYS_IOCTL_H)
CHECK_INCLUDE_FILES(ctype.h LMMS_HAVE_CTYPE_H)
CHECK_INCLUDE_FILES(string.h LMMS_HAVE_STRING_H)
CHECK_INCLUDE_FILES(process.h LMMS_HAVE_PROCESS_H)


# check for Qt4
FIND_PACKAGE(Qt4 REQUIRED)
SET(QT_USE_QTXML 1)
STRING(REGEX REPLACE "[^/]+$" "translations/" QT_TRANSLATIONS_DIR "${QT_MKSPECS_DIR}")
IF(EXISTS "${QT_TRANSLATIONS_DIR}")
	ADD_DEFINITIONS(-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR}"')
ENDIF(EXISTS "${QT_TRANSLATIONS_DIR}")
IF(NOT WIN32)
	STRING(REPLACE "-DQT_DLL" "" QT_DEFINITIONS "${QT_DEFINITIONS}")
ENDIF(NOT WIN32)
INCLUDE(${QT_USE_FILE})

# check for libsndfile
PKG_CHECK_MODULES(SNDFILE REQUIRED sndfile>=1.0.11)
IF(NOT SNDFILE_FOUND)
	MESSAGE(FATAL_ERROR "LMMS requires libsndfile >= 1.0.11 - please install and try again!")
ENDIF(NOT SNDFILE_FOUND)

IF(WANT_CAPS)
SET(LMMS_HAVE_CAPS TRUE)
ENDIF(WANT_CAPS)

IF(WANT_TAP)
SET(LMMS_HAVE_TAP TRUE)
ENDIF(WANT_TAP)


# check for SDL
IF(WANT_SDL)
	SET(SDL_BUILDING_LIBRARY TRUE)
	FIND_PACKAGE(SDL)
	IF(SDL_FOUND)
		SET(LMMS_HAVE_SDL TRUE)
	ENDIF(SDL_FOUND)
ENDIF(WANT_SDL)
IF(NOT LMMS_HAVE_SDL)
	SET(SDL_INCLUDE_DIR "")
ELSE(NOT LMMS_HAVE_SDL)
	IF(NOT SDL_INCLUDE_DIR)
		SET(SDL_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/include)
	ENDIF(NOT SDL_INCLUDE_DIR)
ENDIF(NOT LMMS_HAVE_SDL)


# check for Stk
IF(WANT_STK)
	FIND_PACKAGE(STK)
	IF(STK_FOUND)
		SET(LMMS_HAVE_STK TRUE)
	ELSE(STK_FOUND)
		SET(STK_INCLUDE_DIR "")
	ENDIF(STK_FOUND)
ENDIF(WANT_STK)


# check for PulseAudio
IF(WANT_PULSEAUDIO)
	FIND_PACKAGE(PulseAudio)
	IF(PULSEAUDIO_FOUND)
		SET(LMMS_HAVE_PULSEAUDIO TRUE)
	ENDIF(PULSEAUDIO_FOUND)
ENDIF(WANT_PULSEAUDIO)
IF(NOT LMMS_HAVE_PULSEAUDIO)
	SET(PULSEAUDIO_INCLUDE_DIR "")
	SET(PULSEAUDIO_LIBRARIES "")
ENDIF(NOT LMMS_HAVE_PULSEAUDIO)


# check for OGG/Vorbis-libraries
IF(WANT_OGGVORBIS)
	FIND_PACKAGE(OggVorbis)
	IF(OGGVORBIS_FOUND)
		SET(LMMS_HAVE_OGGVORBIS TRUE)
	ENDIF(OGGVORBIS_FOUND)
ENDIF(WANT_OGGVORBIS)


# check whether to enable OSS-support
IF(LMMS_HAVE_SOUNDCARD_H OR LMMS_HAVE_SYS_SOUNDCARD_H)
	SET(LMMS_HAVE_OSS TRUE)
ENDIF(LMMS_HAVE_SOUNDCARD_H OR LMMS_HAVE_SYS_SOUNDCARD_H)


# check for ALSA
IF(WANT_ALSA)
	INCLUDE(FindAlsa)
	ALSA_CONFIGURE_FILE(${CMAKE_BINARY_DIR}/alsaconfig.h)
	IF(ALSA_FOUND)
		SET(LMMS_HAVE_ALSA TRUE)
	ENDIF(ALSA_FOUND)
ENDIF(WANT_ALSA)
IF(NOT LMMS_HAVE_ALSA)
	SET(ASOUND_LIBRARY "")
ENDIF(NOT LMMS_HAVE_ALSA)


# check for JACK
IF(WANT_JACK)
	PKG_CHECK_MODULES(JACK jack>=0.77)
	IF(JACK_FOUND)
		SET(LMMS_HAVE_JACK TRUE)
	ENDIF(JACK_FOUND)
ENDIF(WANT_JACK)


# check for FFTW3F-library
IF(WANT_FFTW3F)
	PKG_CHECK_MODULES(FFTW3F fftw3f>=3.0.0)
	IF(FFTW3F_FOUND)
		SET(LMMS_HAVE_FFTW3F TRUE)
	ENDIF(FFTW3F_FOUND)
ENDIF(WANT_FFTW3F)


# check for Fluidsynth
IF(WANT_SF2)
	PKG_CHECK_MODULES(FLUIDSYNTH fluidsynth>=1.0.7)
	IF(FLUIDSYNTH_FOUND)
		SET(LMMS_HAVE_FLUIDSYNTH TRUE)
	ENDIF(FLUIDSYNTH_FOUND)
ENDIF(WANT_SF2)


# check for WINE
if(WANT_VST)
	INCLUDE(CheckLibraryExists)
	INCLUDE(CheckIncludeFileCXX)
	SET(CMAKE_REQUIRED_FLAGS_ORIG ${CMAKE_REQUIRED_FLAGS})
	SET(CMAKE_REQUIRED_INCLUDES_ORIG ${CMAKE_REQUIRED_INCLUDES})
	SET(CMAKE_CXX_COMPILER_ORIG ${CMAKE_CXX_COMPILER})
	IF(HOST_IS_64BIT)
		SET(CMAKE_REQUIRED_FLAGS -m32 ${CMAKE_REQUIRED_FLAGS})
	ENDIF(HOST_IS_64BIT)
	CHECK_LIBRARY_EXISTS(wine wine_init "" HAVE_LIBWINE)
	SET(CMAKE_CXX_COMPILER /usr/bin/wineg++)
	SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${CMAKE_INSTALL_PREFIX}/include/wine/windows /usr/include/wine/windows)
	CHECK_INCLUDE_FILE_CXX(windows.h HAVE_WINDOWS_H)
	SET(CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER_ORIG})
	SET(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_ORIG})
	SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_ORIG})
	IF(HAVE_LIBWINE AND HAVE_WINDOWS_H)
		SET(LMMS_HAVE_VST TRUE)
	ENDIF(HAVE_LIBWINE AND HAVE_WINDOWS_H)
ENDIF(WANT_VST)


# check for libsamplerate
IF(WANT_SYSTEM_SR)
	PKG_CHECK_MODULES(SAMPLERATE samplerate>=0.1.3)
	IF(SAMPLERATE_FOUND)
		SET(LMMS_HAVE_SAMPLERATE TRUE)
	ENDIF(SAMPLERATE_FOUND)
ENDIF(WANT_SYSTEM_SR)
IF(NOT LMMS_HAVE_SAMPLERATE)
	INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate)
	SET(CMAKE_CROSSCOMPILING_ORIG "${CMAKE_CROSSCOMPILING}")
	SET(CMAKE_CROSSCOMPILING "")
	INCLUDE(ChecksForLibSamplerate)
	SET(LIBSAMPLERATE_SOURCES 
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/samplerate.c
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/samplerate.h
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/src_sinc.c
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/high_qual_coeffs.h
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/mid_qual_coeffs.h
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/fastest_coeffs.h
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/common.h
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/config.h
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/float_cast.h
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/src_zoh.c
		${CMAKE_SOURCE_DIR}/src/3rdparty/samplerate/src_linear.c)
	SET(CMAKE_CROSSCOMPILING "${CMAKE_CROSSCOMPILING_ORIG}")
ENDIF(NOT LMMS_HAVE_SAMPLERATE)



CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/lmmsconfig.h.in ${CMAKE_BINARY_DIR}/lmmsconfig.h)
# people simply updating SVN will still have this and mess up build with it
FILE(REMOVE include/lmmsconfig.h)

FILE(GLOB lmms_INCLUDES include/*.h)
FILE(GLOB lmms_UI src/gui/dialogs/*.ui)
FILE(GLOB_RECURSE lmms_SOURCES src/*.cpp)

SET(lmms_MOC ${lmms_INCLUDES})

SET(lmms_EMBEDDED_RESOURCES ${CMAKE_SOURCE_DIR}/AUTHORS ${CMAKE_SOURCE_DIR}/COPYING)

QT4_WRAP_CPP(lmms_MOC_out ${lmms_MOC})
QT4_WRAP_UI(lmms_UI_out ${lmms_UI})


# embedded resources stuff
ADD_EXECUTABLE(bin2res buildtools/bin2res.cpp)
GET_TARGET_PROPERTY(BIN2RES bin2res LOCATION)
SET(ER_H embedded_resources.h)

# we somehow have to make LMMS-binary depend on MOC-files
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}")
IF(NOT WIN32)
	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
ENDIF(NOT WIN32)

# make sub-directories
ADD_SUBDIRECTORY(plugins)
ADD_SUBDIRECTORY(data)

#
# build LMMS-binary
#
ADD_DEFINITIONS(-D'LIB_DIR="${CMAKE_INSTALL_PREFIX}/${LIB_DIR}/"' -D'PLUGIN_DIR="${CMAKE_INSTALL_PREFIX}/${LIB_DIR}/lmms/"' ${PULSEAUDIO_DEFINITIONS})

INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include ${SDL_INCLUDE_DIR} ${PULSEAUDIO_INCLUDE_DIR} ${JACK_INCLUDE_DIRS} ${OGGVORBIS_INCLUDE_DIR} ${SAMPLERATE_INCLUDE_DIRS} ${SNDFILE_INCLUDE_DIRS})
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)

#
# rules for building localizations
#
FILE(GLOB lmms_LOCALES data/locale/*.ts)
SET(locale_targets "")
FOREACH(_ts_file ${lmms_LOCALES})
	STRING(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/data/locale/" "" _ts_target "${_ts_file}")
	STRING(REPLACE ".ts" ".qm" _qm_file "${_ts_file}")
	STRING(REPLACE ".ts" ".qm" _qm_target "${_ts_target}")
	ADD_CUSTOM_TARGET(${_ts_target} COMMAND ${QT_LUPDATE_EXECUTABLE} ${lmms_SOURCES} `find plugins/ -type f -name '*.cpp'` -ts ${_ts_file})
	ADD_CUSTOM_TARGET(${_qm_target} COMMAND ${QT_LRELEASE_EXECUTABLE} ${_ts_file} -qm ${_qm_file})
	LIST(APPEND locale_targets "${_ts_target}")
ENDFOREACH(_ts_file ${lmms_LOCALES})
ADD_CUSTOM_TARGET(update-locales)# DEPENDS ${locale_targets}) # does not work
FOREACH(_item ${locale_targets})
	ADD_DEPENDENCIES(update-locales ${_item})
ENDFOREACH(_item ${locale_targets})



#
# add distclean-target
#
ADD_CUSTOM_TARGET(distclean
			COMMAND make clean
			COMMAND rm -rf `find -name cmake_install.cmake` `find -name Makefile` `find -type d -name CMakeFiles` CMakeCache.txt lmmsconfig.h alsaconfig.h)

#
# add tarball-target
#
SET(TMP "lmms-${VERSION}")
ADD_CUSTOM_TARGET(dist
			COMMAND make clean
			COMMAND rm -rf ${TMP}
			COMMAND mkdir -p ${TMP}
			COMMAND cp AUTHORS build_mingw32 ChangeLog CMakeLists.txt configure COPYING INSTALL lmms.1 lmms.rc.in lmms.spec.in README TODO ${TMP}
			COMMAND cp -r buildtools cmake data include plugins src ${TMP}
			COMMAND rm -rf `find ${TMP} -type d -name ".svn"`  `find ${TMP} -name cmake_install.cmake` `find ${TMP} -name Makefile` `find ${TMP} -type d -name CMakeFiles` ${TMP}/CMakeCache.txt
			COMMAND tar cjf lmms-${VERSION}.tar.bz2 ${TMP}
			COMMAND rm -rf ${TMP})


IF(WANT_PCH)
    FIND_PACKAGE(PCHSupport)
    IF(PCHSupport_FOUND)
	SET(USE_PCH TRUE)
        ADD_DEFINITIONS(-DUSE_PCH)
        MESSAGE(STATUS "Enabling precompiled headers for GCC ${gcc_compiler_version}")
	ADD_PRECOMPILED_HEADER(lmms pch include/pch.h)
    ENDIF(PCHSupport_FOUND)
ENDIF(WANT_PCH)

SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${ER_H} ${lmms_MOC_out} ${lmms_UI_out} lmmsconfig.h alsaconfig.h pch.h.gch/")


#
# display configuration information
#

MESSAGE("\n"
"Installation Summary\n"
"--------------------\n"
"* Install Directory           : ${CMAKE_INSTALL_PREFIX}\n"
"* Build type                  : ${CMAKE_BUILD_TYPE}\n"
"* Use precompiled headers     : ${USE_PCH}\n"
"* Use system's libsamplerate  : ${LMMS_HAVE_SAMPLERATE}\n"
)

MESSAGE(
"Supported audio interfaces\n"
"--------------------------\n"
"* ALSA                        : ${LMMS_HAVE_ALSA}\n"
"* JACK                        : ${LMMS_HAVE_JACK}\n"
"* OSS                         : ${LMMS_HAVE_OSS}\n"
"* PulseAudio                  : ${LMMS_HAVE_PULSEAUDIO}\n"
"* SDL                         : ${LMMS_HAVE_SDL}\n"
)

MESSAGE(
"Supported MIDI interfaces\n"
"-------------------------\n"
"* ALSA                        : ${LMMS_HAVE_ALSA}\n"
"* OSS                         : ${LMMS_HAVE_OSS}\n"
"* WinMM                       : ${LMMS_HAVE_WINMM}\n"
)

MESSAGE(
"Supported sample-file formats\n"
"-----------------------------\n"
"* WAVE                        : TRUE\n"
"* OGG/VORBIS                  : ${LMMS_HAVE_OGGVORBIS}\n"
)

MESSAGE(
"Optional plugins\n"
"----------------\n"
"* SoundFont2 player           : ${LMMS_HAVE_FLUIDSYNTH}\n"
"* Stk Mallets                 : ${LMMS_HAVE_STK}\n"
"* VST-instrument hoster       : ${LMMS_HAVE_VST}\n"
"* VST-effect hoster           : ${LMMS_HAVE_VST}\n"
"* SpectrumAnalyzer            : ${LMMS_HAVE_FFTW3F}\n"
"* CAPS LADSPA plugins         : ${LMMS_HAVE_CAPS}\n"
"* TAP LADSPA plugins          : ${LMMS_HAVE_TAP}\n"
)


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_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_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")
ENDIF(WIN32)
SET(CPACK_PACKAGE_EXECUTABLES "lmms" "LMMS binary")
SET(CPACK_SOURCE_GENERATOR "TBZ2")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "lmms-${VERSION}")
INCLUDE(CPack)

