VSTGUI: Windows 8 API required for DirectComposition

See https://github.com/steinbergmedia/vstgui/pull/237
This commit is contained in:
redtide 2023-05-16 13:07:06 +02:00
parent f4065e506a
commit 14252a3ca3
No known key found for this signature in database
3 changed files with 30 additions and 21 deletions

View file

@ -32,6 +32,11 @@ option_ex(SFIZZ_VST "Enable VST plug-in build" ON)
set(MIDI_CC_MAX 512 CACHE STRING "Maximum amount of Control Change Messages") set(MIDI_CC_MAX 512 CACHE STRING "Maximum amount of Control Change Messages")
# Set Windows compatibility level to 10 required by VSTGUI
if(WIN32)
add_compile_definitions(_WIN32_WINNT=0x0A00)
endif()
include(SfizzConfig) # Re-used for this project include(SfizzConfig) # Re-used for this project
include(BundleDylibs) include(BundleDylibs)

@ -1 +1 @@
Subproject commit 8ff0d56ecea928be35545dba20e4e17abae13238 Subproject commit 6c6436ced7c735478e97f169298df66babcc78de

View file

@ -47,6 +47,7 @@ add_library(sfizz_vstgui STATIC EXCLUDE_FROM_ALL
"${VSTGUI_BASEDIR}/vstgui/lib/cfileselector.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/cfileselector.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/cfont.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/cfont.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/cframe.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/cframe.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/cgradient.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/cgradientview.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/cgradientview.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/cgraphicspath.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/cgraphicspath.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/clayeredviewcontainer.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/clayeredviewcontainer.cpp"
@ -65,26 +66,24 @@ add_library(sfizz_vstgui STATIC EXCLUDE_FROM_ALL
"${VSTGUI_BASEDIR}/vstgui/lib/cview.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/cview.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/cviewcontainer.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/cviewcontainer.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/cvstguitimer.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/cvstguitimer.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/events.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/genericstringlistdatabrowsersource.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/genericstringlistdatabrowsersource.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/pixelbuffer.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/pixelbuffer.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/vstguidebug.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/vstguidebug.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/vstguiinit.cpp") "${VSTGUI_BASEDIR}/vstgui/lib/vstguiinit.cpp"
)
if(${VSTGUI_VERSION} VERSION_GREATER "4.10")
target_sources(sfizz_vstgui PRIVATE
${VSTGUI_BASEDIR}/vstgui/lib/cgradient.cpp
${VSTGUI_BASEDIR}/vstgui/lib/events.cpp)
endif()
add_library(sfizz::vstgui ALIAS sfizz_vstgui) add_library(sfizz::vstgui ALIAS sfizz_vstgui)
if(WIN32) if(WIN32)
target_sources(sfizz_vstgui PRIVATE target_sources(sfizz_vstgui PRIVATE
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2dbitmap.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2dbitmap.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2dbitmapcache.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2ddrawcontext.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2ddrawcontext.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2dfont.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2dfont.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2dgradient.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2dgraphicspath.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2dgraphicspath.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32datapackage.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32datapackage.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32directcomposition.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32dragging.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32dragging.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32factory.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32factory.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32frame.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32frame.cpp"
@ -93,13 +92,11 @@ if(WIN32)
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32resourcestream.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32resourcestream.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32support.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32support.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32textedit.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32textedit.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/win32viewlayer.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/winfileselector.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/winfileselector.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/winstring.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/winstring.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/wintimer.cpp") "${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/wintimer.cpp"
if(${VSTGUI_VERSION} VERSION_GREATER "4.10") )
target_sources(sfizz_vstgui PRIVATE
${VSTGUI_BASEDIR}/vstgui/lib/platform/win32/direct2d/d2dgradient.cpp)
endif()
elseif(APPLE) elseif(APPLE)
target_sources(sfizz_vstgui PRIVATE target_sources(sfizz_vstgui PRIVATE
"${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/cocoa/autoreleasepool.mm" "${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/cocoa/autoreleasepool.mm"
@ -119,7 +116,8 @@ elseif(APPLE)
"${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/macglobals.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/macglobals.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/macstring.mm" "${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/macstring.mm"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/mactimer.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/mactimer.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/quartzgraphicspath.cpp") "${VSTGUI_BASEDIR}/vstgui/lib/platform/mac/quartzgraphicspath.cpp"
)
else() else()
target_sources(sfizz_vstgui PRIVATE target_sources(sfizz_vstgui PRIVATE
"${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/cairobitmap.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/cairobitmap.cpp"
@ -134,7 +132,8 @@ else()
"${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/x11frame.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/x11frame.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/x11platform.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/x11platform.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/x11timer.cpp" "${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/x11timer.cpp"
"${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/x11utils.cpp") "${VSTGUI_BASEDIR}/vstgui/lib/platform/linux/x11utils.cpp"
)
endif() endif()
target_include_directories(sfizz_vstgui PUBLIC "${VSTGUI_BASEDIR}") target_include_directories(sfizz_vstgui PUBLIC "${VSTGUI_BASEDIR}")
@ -148,7 +147,8 @@ if(WIN32)
"dwrite" "dwrite"
"dwmapi" "dwmapi"
"windowscodecs" "windowscodecs"
"shlwapi") "shlwapi"
)
endif() endif()
elseif(APPLE) elseif(APPLE)
target_link_libraries(sfizz_vstgui PRIVATE target_link_libraries(sfizz_vstgui PRIVATE
@ -161,7 +161,8 @@ elseif(APPLE)
"${APPLE_CARBON_LIBRARY}" "${APPLE_CARBON_LIBRARY}"
"${APPLE_AUDIOTOOLBOX_LIBRARY}" "${APPLE_AUDIOTOOLBOX_LIBRARY}"
"${APPLE_COREAUDIO_LIBRARY}" "${APPLE_COREAUDIO_LIBRARY}"
"${APPLE_COREMIDI_LIBRARY}") "${APPLE_COREMIDI_LIBRARY}"
)
else() else()
find_package(X11 REQUIRED) find_package(X11 REQUIRED)
find_package(Freetype REQUIRED) find_package(Freetype REQUIRED)
@ -190,7 +191,8 @@ else()
${CAIRO_INCLUDE_DIRS} ${CAIRO_INCLUDE_DIRS}
${PANGO_INCLUDE_DIRS} ${PANGO_INCLUDE_DIRS}
${FONTCONFIG_INCLUDE_DIRS} ${FONTCONFIG_INCLUDE_DIRS}
${GLIB_INCLUDE_DIRS}) ${GLIB_INCLUDE_DIRS}
)
target_link_libraries(sfizz_vstgui PRIVATE target_link_libraries(sfizz_vstgui PRIVATE
${X11_LIBRARIES} ${X11_LIBRARIES}
${FREETYPE_LIBRARIES} ${FREETYPE_LIBRARIES}
@ -204,7 +206,8 @@ else()
${CAIRO_LIBRARIES} ${CAIRO_LIBRARIES}
${PANGO_LIBRARIES} ${PANGO_LIBRARIES}
${FONTCONFIG_LIBRARIES} ${FONTCONFIG_LIBRARIES}
${GLIB_LIBRARIES}) ${GLIB_LIBRARIES}
)
find_library(DL_LIBRARY "dl") find_library(DL_LIBRARY "dl")
if(DL_LIBRARY) if(DL_LIBRARY)
target_link_libraries(sfizz_vstgui PRIVATE "${DL_LIBRARY}") target_link_libraries(sfizz_vstgui PRIVATE "${DL_LIBRARY}")
@ -254,5 +257,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
"-Wno-unknown-pragmas" "-Wno-unknown-pragmas"
"-Wno-unused-function" "-Wno-unused-function"
"-Wno-unused-parameter" "-Wno-unused-parameter"
"-Wno-unused-variable") "-Wno-unused-variable"
)
endif() endif()