diff --git a/cmake/VSTConfig.cmake b/cmake/VSTConfig.cmake index 0d1de3e1..e595db5c 100644 --- a/cmake/VSTConfig.cmake +++ b/cmake/VSTConfig.cmake @@ -2,3 +2,22 @@ set (VSTPLUGIN_NAME "sfizz") set (VSTPLUGIN_VENDOR "Paul Ferrand") set (VSTPLUGIN_URL "http://sfztools.github.io/sfizz") set (VSTPLUGIN_EMAIL "paul@ferrand.cc") + +# --- VST3 Bundle architecture --- +if(NOT VST3_PACKAGE_ARCHITECTURE) + if(APPLE) + # VST3 packages are universal on Apple, architecture string not needed + else() + if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64|AMD64)$") + set(VST3_PACKAGE_ARCHITECTURE "x86_64") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86)$") + if(WIN32) + set(VST3_PACKAGE_ARCHITECTURE "x86") + else() + set(VST3_PACKAGE_ARCHITECTURE "i386") + endif() + else() + message(FATAL_ERROR "We don't know this architecture for VST3: ${CMAKE_SYSTEM_PROCESSOR}.") + endif() + endif() +endif() diff --git a/scripts/innosetup.iss.in b/scripts/innosetup.iss.in index 92de0abf..00d5642c 100644 --- a/scripts/innosetup.iss.in +++ b/scripts/innosetup.iss.in @@ -1,4 +1,5 @@ -#define MyAppName "sfizz-lv2" +; -*- mode: iss; -*- +#define MyAppName "sfizz" #define MyAppVersion "@PROJECT_VERSION@" #define MyAppPublisher "sfizz Team" #define MyAppURL "https://sfztools.github.io/sfizz/" @@ -28,25 +29,35 @@ ArchitecturesInstallIn64BitMode={#Arch} Compression=lzma SolidCompression=yes -DefaultDirName={commoncf}\LV2 +DefaultDirName={commonpf}\{#MyAppName} DefaultGroupName={#MyAppPublisher} -DisableDirPage=yes +;DisableDirPage=yes LicenseFile="sfizz.lv2\LICENSE.md" OutputBaseFileName={#MyAppName}-{#MyAppVersion}-{#Arch}-msvc-setup OutputDir=. -UninstallFilesDir={commonpf}\{#MyAppName} +UninstallFilesDir={app} WizardImageFile="C:\Program Files (x86)\Inno Setup 6\WizModernImage-IS.bmp" WizardSmallImageFile="C:\Program Files (x86)\Inno Setup 6\WizModernSmallImage-IS.bmp" [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" +[Components] +Name: "main"; Description: "Shared files"; Types: full custom; Flags: fixed +Name: "lv2"; Description: "LV2 plugin"; Types: full custom; +Name: "vst3"; Description: "VST3 plugin"; Types: full custom; + [Files] -Source: "sfizz.lv2\sfizz.dll"; DestDir: {commoncf}\LV2\sfizz.lv2; Flags: ignoreversion -Source: "sfizz.lv2\manifest.ttl"; DestDir: {commoncf}\LV2\sfizz.lv2 -Source: "sfizz.lv2\sfizz.ttl"; DestDir: {commoncf}\LV2\sfizz.lv2 -Source: "sfizz.lv2\lgpl-3.0.txt"; DestDir: {commonpf}\{#MyAppName} -Source: "sfizz.lv2\LICENSE.md"; DestDir: {commonpf}\{#MyAppName} +Source: "sfizz.lv2\sfizz.dll"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2"; Flags: ignoreversion +Source: "sfizz.lv2\manifest.ttl"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2" +Source: "sfizz.lv2\sfizz.ttl"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2" +Source: "sfizz.lv2\lgpl-3.0.txt"; Components: main; DestDir: "{app}" +Source: "sfizz.lv2\LICENSE.md"; Components: main; DestDir: "{app}" +Source: "sfizz.vst3\desktop.ini"; Components: vst3; DestDir: "{commoncf}\VST3\sfizz.vst3" +Source: "sfizz.vst3\Contents\@VST3_PACKAGE_ARCHITECTURE@-win\sfizz.dll"; Components: vst3; DestDir: "{commoncf}\VST3\sfizz.vst3\Contents\@VST3_PACKAGE_ARCHITECTURE@-win"; Flags: ignoreversion +Source: "sfizz.vst3\Contents\Resources\logo.png"; Components: vst3; DestDir: "{commoncf}\VST3\sfizz.vst3\Contents\Resources" +Source: "sfizz.vst3\Plugin.ico"; Components: vst3; DestDir: "{commoncf}\VST3\sfizz.vst3" +Source: "sfizz.vst3\gpl-3.0.txt"; Components: main; DestDir: "{app}" ;Source: "setup\vc_redist.x64.exe"; DestDir: {tmp}; Flags: deleteafterinstall ; NOTE: Don't use "Flags: ignoreversion" on any shared system files diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3580130c..fcaeca79 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -47,7 +47,9 @@ if (NOT MSVC) PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) configure_file (${PROJECT_SOURCE_DIR}/scripts/sfizz.pc.in sfizz.pc @ONLY) -else() +endif() +if(WIN32) + include(VSTConfig) configure_file (${PROJECT_SOURCE_DIR}/scripts/innosetup.iss.in ${PROJECT_BINARY_DIR}/innosetup.iss @ONLY) endif() diff --git a/vst/cmake/Vst3.cmake b/vst/cmake/Vst3.cmake index 5272d57a..fb89987c 100644 --- a/vst/cmake/Vst3.cmake +++ b/vst/cmake/Vst3.cmake @@ -255,22 +255,3 @@ function(plugin_add_vstgui NAME) target_include_directories("${NAME}" PRIVATE external/steinberg/src) endfunction() - -# --- VST3 Bundle architecture --- -if(NOT VST3_PACKAGE_ARCHITECTURE) - if(APPLE) - # VST3 packages are universal on Apple, architecture string not needed - else() - if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64|AMD64)$") - set(VST3_PACKAGE_ARCHITECTURE "x86_64") - elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86)$") - if(WIN32) - set(VST3_PACKAGE_ARCHITECTURE "x86") - else() - set(VST3_PACKAGE_ARCHITECTURE "i386") - endif() - else() - message(FATAL_ERROR "We don't know this architecture for VST3: ${CMAKE_SYSTEM_PROCESSOR}.") - endif() - endif() -endif()