MSVC fixes (#4352)
* locale: using path instead of individual files to reduce command line size * remotevstplugin: changed order return type & calling convention (compiler error) * lmmsobj: removed single quotes for command line defines * added vcpkg support & std::make_unique for MSVC * carla: include exports header * package_linux: corrected RemoteVstPlugin name * vstbase: toolchain file conditional on MSVC * Added install for remotevstplugin * msvc: installer works with vcpkg Remotevst 64bit install removed due to an ApImage problem
This commit is contained in:
@@ -51,12 +51,13 @@ ADD_GEN_QRC(LMMS_RCC_OUT lmms.qrc
|
||||
# Paths relative to lmms executable
|
||||
FILE(RELATIVE_PATH LIB_DIR_RELATIVE "/${BIN_DIR}" "/${LIB_DIR}")
|
||||
FILE(RELATIVE_PATH PLUGIN_DIR_RELATIVE "/${BIN_DIR}" "/${PLUGIN_DIR}")
|
||||
ADD_DEFINITIONS(-D'LIB_DIR="${LIB_DIR_RELATIVE}/"' -D'PLUGIN_DIR="${PLUGIN_DIR_RELATIVE}/"' ${PULSEAUDIO_DEFINITIONS} ${PORTAUDIO_DEFINITIONS})
|
||||
ADD_DEFINITIONS(-DLIB_DIR="${LIB_DIR_RELATIVE}" -DPLUGIN_DIR="${PLUGIN_DIR_RELATIVE}" ${PULSEAUDIO_DEFINITIONS} ${PORTAUDIO_DEFINITIONS})
|
||||
INCLUDE_DIRECTORIES(
|
||||
${JACK_INCLUDE_DIRS}
|
||||
${SAMPLERATE_INCLUDE_DIRS}
|
||||
${SNDFILE_INCLUDE_DIRS}
|
||||
${SNDIO_INCLUDE_DIRS}
|
||||
${FFTW3F_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
IF(NOT ("${SDL2_INCLUDE_DIR}" STREQUAL ""))
|
||||
@@ -189,97 +190,208 @@ IF(LMMS_BUILD_MSYS AND CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
ENDIF()
|
||||
|
||||
# Install
|
||||
IF(LMMS_BUILD_WIN32)
|
||||
SET_TARGET_PROPERTIES(lmms PROPERTIES
|
||||
LINK_FLAGS "${LINK_FLAGS} -mwindows"
|
||||
ENABLE_EXPORTS ON
|
||||
)
|
||||
|
||||
IF(LMMS_BUILD_MSYS)
|
||||
# ENABLE_EXPORTS property has no effect in some MSYS2 configurations.
|
||||
# Add the linker flag manually to create liblmms.dll.a import library
|
||||
SET_PROPERTY(TARGET lmms
|
||||
APPEND_STRING PROPERTY LINK_FLAGS -Wl,--out-implib,liblmms.dll.a
|
||||
IF(NOT MSVC)
|
||||
IF(LMMS_BUILD_WIN32)
|
||||
SET_TARGET_PROPERTIES(lmms PROPERTIES
|
||||
LINK_FLAGS "${LINK_FLAGS} -mwindows"
|
||||
ENABLE_EXPORTS ON
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
ADD_CUSTOM_COMMAND(TARGET lmms POST_BUILD COMMAND "${STRIP}" "$<TARGET_FILE:lmms>")
|
||||
ENDIF()
|
||||
IF(LMMS_BUILD_MSYS)
|
||||
# ENABLE_EXPORTS property has no effect in some MSYS2 configurations.
|
||||
# Add the linker flag manually to create liblmms.dll.a import library
|
||||
SET_PROPERTY(TARGET lmms
|
||||
APPEND_STRING PROPERTY LINK_FLAGS -Wl,--out-implib,liblmms.dll.a
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}")
|
||||
IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
ADD_CUSTOM_COMMAND(TARGET lmms POST_BUILD COMMAND "${STRIP}" "$<TARGET_FILE:lmms>")
|
||||
ENDIF()
|
||||
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/Qt5Core.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Gui.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Widgets.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Xml.dll"
|
||||
DESTINATION .)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/lib/qt5/plugins/platforms/qwindows.dll"
|
||||
DESTINATION ./platforms)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libsamplerate-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libsndfile-1.dll"
|
||||
"${MINGW_PREFIX}/bin/libvorbis-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libvorbisenc-2.dll"
|
||||
"${MINGW_PREFIX}/bin/libvorbisfile-3.dll"
|
||||
"${MINGW_PREFIX}/bin/libjpeg-9.dll"
|
||||
"${MINGW_PREFIX}/bin/libogg-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libmp3lame-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libfftw3f-3.dll"
|
||||
"${MINGW_PREFIX}/bin/libFLAC-8.dll"
|
||||
"${MINGW_PREFIX}/bin/libpng16-16.dll"
|
||||
"${MINGW_PREFIX}/bin/SDL.dll"
|
||||
"${MINGW_PREFIX}/bin/libglib-2.0-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libgthread-2.0-0.dll"
|
||||
"${MINGW_PREFIX}/bin/zlib1.dll"
|
||||
"${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll"
|
||||
DESTINATION .)
|
||||
IF(LMMS_BUILD_MSYS)
|
||||
INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}")
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libwinpthread-1.dll"
|
||||
"${MINGW_PREFIX}/bin/libgcc_s_seh-1.dll"
|
||||
"${MINGW_PREFIX}/bin/libstdc++-6.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Core.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Gui.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Widgets.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Xml.dll"
|
||||
DESTINATION .)
|
||||
ELSE()
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(FLTK_FOUND)
|
||||
"${MINGW_PREFIX}/lib/qt5/plugins/platforms/qwindows.dll"
|
||||
DESTINATION ./platforms)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libfltk.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(FLUIDSYNTH_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libfluidsynth.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(GIG_FOUND)
|
||||
# Handle libgig-*.dll
|
||||
FILE(GLOB GIG_LIBRARY "${MINGW_PREFIX}/bin/libgig-*.dll")
|
||||
INSTALL(FILES
|
||||
${GIG_LIBRARY}
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(PORTAUDIO_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libportaudio-2.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(SOUNDIO_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/lib/libsoundio.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
ELSE(LMMS_BUILD_WIN32)
|
||||
IF(NOT LMMS_BUILD_APPLE)
|
||||
SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -Wl,-E")
|
||||
ENDIF(NOT LMMS_BUILD_APPLE)
|
||||
"${MINGW_PREFIX}/bin/libsamplerate-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libsndfile-1.dll"
|
||||
"${MINGW_PREFIX}/bin/libvorbis-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libvorbisenc-2.dll"
|
||||
"${MINGW_PREFIX}/bin/libvorbisfile-3.dll"
|
||||
"${MINGW_PREFIX}/bin/libjpeg-9.dll"
|
||||
"${MINGW_PREFIX}/bin/libogg-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libmp3lame-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libfftw3f-3.dll"
|
||||
"${MINGW_PREFIX}/bin/libFLAC-8.dll"
|
||||
"${MINGW_PREFIX}/bin/libpng16-16.dll"
|
||||
"${MINGW_PREFIX}/bin/SDL.dll"
|
||||
"${MINGW_PREFIX}/bin/libglib-2.0-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libgthread-2.0-0.dll"
|
||||
"${MINGW_PREFIX}/bin/zlib1.dll"
|
||||
"${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll"
|
||||
DESTINATION .)
|
||||
IF(LMMS_BUILD_MSYS)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libwinpthread-1.dll"
|
||||
"${MINGW_PREFIX}/bin/libgcc_s_seh-1.dll"
|
||||
"${MINGW_PREFIX}/bin/libstdc++-6.dll"
|
||||
DESTINATION .)
|
||||
ELSE()
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(FLTK_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libfltk.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(FLUIDSYNTH_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libfluidsynth.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(GIG_FOUND)
|
||||
# Handle libgig-*.dll
|
||||
FILE(GLOB GIG_LIBRARY "${MINGW_PREFIX}/bin/libgig-*.dll")
|
||||
INSTALL(FILES
|
||||
${GIG_LIBRARY}
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(PORTAUDIO_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libportaudio-2.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(SOUNDIO_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/lib/libsoundio.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
|
||||
INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}")
|
||||
INSTALL(FILES "${CMAKE_BINARY_DIR}/lmms.1.gz" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1/" PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
|
||||
ELSE(LMMS_BUILD_WIN32)
|
||||
IF(NOT LMMS_BUILD_APPLE)
|
||||
SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -Wl,-E")
|
||||
ENDIF(NOT LMMS_BUILD_APPLE)
|
||||
|
||||
ENDIF(LMMS_BUILD_WIN32)
|
||||
INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}")
|
||||
INSTALL(FILES "${CMAKE_BINARY_DIR}/lmms.1.gz" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1/" PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
|
||||
|
||||
ENDIF(LMMS_BUILD_WIN32)
|
||||
ELSE(NOT MSVC)
|
||||
SET_TARGET_PROPERTIES(lmms PROPERTIES
|
||||
ENABLE_EXPORTS ON
|
||||
)
|
||||
INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}")
|
||||
|
||||
SET_TARGET_PROPERTIES(lmms PROPERTIES
|
||||
LINK_FLAGS "${LINK_FLAGS} -mwindows"
|
||||
ENABLE_EXPORTS ON
|
||||
)
|
||||
|
||||
#CMAKE_FIND_ROOT_PATH
|
||||
SET(VCPKG_ROOT ${CMAKE_FIND_ROOT_PATH})
|
||||
|
||||
INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}")
|
||||
|
||||
INSTALL(FILES
|
||||
"${VCPKG_ROOT}/bin/Qt5Core.dll"
|
||||
"${VCPKG_ROOT}/bin/Qt5Gui.dll"
|
||||
"${VCPKG_ROOT}/bin/Qt5Widgets.dll"
|
||||
"${VCPKG_ROOT}/bin/Qt5Xml.dll"
|
||||
|
||||
"${VCPKG_ROOT}/bin/zlib1.dll"
|
||||
"${VCPKG_ROOT}/bin/jpeg62.dll"
|
||||
"${VCPKG_ROOT}/bin/libpng16.dll"
|
||||
"${VCPKG_ROOT}/bin/gthread-2.dll"
|
||||
"${VCPKG_ROOT}/bin/glib-2.dll"
|
||||
"${VCPKG_ROOT}/bin/harfbuzz.dll"
|
||||
"${VCPKG_ROOT}/bin/pcre2-16.dll"
|
||||
"${VCPKG_ROOT}/bin/double-conversion.dll"
|
||||
"${VCPKG_ROOT}/bin/freetype.dll"
|
||||
"${VCPKG_ROOT}/bin/libbz2.dll"
|
||||
"${VCPKG_ROOT}/bin/pcre.dll"
|
||||
"${VCPKG_ROOT}/bin/libiconv.dll"
|
||||
"${VCPKG_ROOT}/bin/libcharset.dll"
|
||||
"${VCPKG_ROOT}/bin/libintl.dll"
|
||||
DESTINATION .)
|
||||
|
||||
INSTALL(FILES
|
||||
"${VCPKG_ROOT}/plugins/platforms/qwindows.dll"
|
||||
DESTINATION ./platforms)
|
||||
|
||||
INSTALL(FILES
|
||||
"${VCPKG_ROOT}/bin/libsndfile-1.dll"
|
||||
"${VCPKG_ROOT}/bin/ogg.dll"
|
||||
"${VCPKG_ROOT}/bin/vorbis.dll"
|
||||
"${VCPKG_ROOT}/bin/vorbisenc.dll"
|
||||
"${VCPKG_ROOT}/bin/FLAC.dll"
|
||||
"${VCPKG_ROOT}/bin/vorbisfile.dll"
|
||||
|
||||
"${VCPKG_ROOT}/bin/libsamplerate-0.dll"
|
||||
"${VCPKG_ROOT}/bin/SDL2.dll"
|
||||
"${VCPKG_ROOT}/bin/fftw3f.dll"
|
||||
DESTINATION .)
|
||||
|
||||
#not yet in vcpkg
|
||||
#IF(LAME_FOUND)
|
||||
# INSTALL(FILES
|
||||
# "${VCPKG_ROOT}/bin/libmp3lame-0.dll"
|
||||
# DESTINATION .)
|
||||
#ENDIF(LAME_FOUND)
|
||||
|
||||
IF(FLTK_FOUND)
|
||||
INSTALL(FILES
|
||||
"${VCPKG_ROOT}/bin/libfltk_SHARED.dll"
|
||||
|
||||
"${VCPKG_ROOT}/bin/zlib1.dll"
|
||||
"${VCPKG_ROOT}/bin/jpeg62.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
|
||||
IF(FLUIDSYNTH_FOUND)
|
||||
INSTALL(FILES
|
||||
"${VCPKG_ROOT}/bin/libfluidsynth-1.dll"
|
||||
"${VCPKG_ROOT}/bin/glib-2.dll"
|
||||
"${VCPKG_ROOT}/bin/pcre.dll"
|
||||
"${VCPKG_ROOT}/bin/libiconv.dll"
|
||||
"${VCPKG_ROOT}/bin/libcharset.dll"
|
||||
"${VCPKG_ROOT}/bin/libintl.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
|
||||
#not yet included in vcpkg
|
||||
#IF(GIG_FOUND)
|
||||
# # Handle libgig-*.dll
|
||||
# FILE(GLOB GIG_LIBRARY "${VCPKG_ROOT}/bin/libgig-*.dll")
|
||||
# INSTALL(FILES
|
||||
# ${GIG_LIBRARY}
|
||||
# DESTINATION .)
|
||||
#ENDIF()
|
||||
|
||||
IF(PORTAUDIO_FOUND)
|
||||
IF(LMMS_BUILD_WIN64)
|
||||
INSTALL(FILES
|
||||
"${VCPKG_ROOT}/bin/portaudio-x64.dll"
|
||||
DESTINATION .)
|
||||
ELSE(LMMS_BUILD_WIN64)
|
||||
INSTALL(FILES
|
||||
"${VCPKG_ROOT}/bin/portaudio-x86.dll"
|
||||
DESTINATION .)
|
||||
ENDIF(LMMS_BUILD_WIN64)
|
||||
ENDIF()
|
||||
|
||||
#not yet in vcpkg
|
||||
#IF(SOUNDIO_FOUND)
|
||||
# INSTALL(FILES
|
||||
# "${VCPKG_ROOT}/bin/libsoundio.dll"
|
||||
# DESTINATION .)
|
||||
#ENDIF()
|
||||
ENDIF(NOT MSVC)
|
||||
Reference in New Issue
Block a user