Packaging fixes (#192)
* Start cleanup for improved packaging Signed-off-by: falkTX <falktx@falktx.com> * Use the same folder for VST2 plugins Signed-off-by: falkTX <falktx@falktx.com> * Fix static build Signed-off-by: falkTX <falktx@falktx.com> * Do not set source-dir in CI builds Signed-off-by: falkTX <falktx@falktx.com> * Set a custom fallback systemdir per OS Signed-off-by: falkTX <falktx@falktx.com> * CI tweaks Signed-off-by: falkTX <falktx@falktx.com> * Build the whole pyqt on windows Signed-off-by: falkTX <falktx@falktx.com> * Mention AU in readme and differences docs Signed-off-by: falkTX <falktx@falktx.com> * Add specialized utils for macOS packaging Signed-off-by: falkTX <falktx@falktx.com> * Fix plugin-validation build Signed-off-by: falkTX <falktx@falktx.com> * Fix build Signed-off-by: falkTX <falktx@falktx.com> * Do not create window for lv2lint tests * Start enabling AU builds * Copy over mod.lv2 specs for validation * Skip main cardinal lv2lint, the custom CVPorts are not supported * au build needs carla * More CI tweaks * Build headless version for plugin validation * Fix typo * Only show missing resources error message once Signed-off-by: falkTX <falktx@falktx.com> * Fallback to system path even if using a plugin bundle Signed-off-by: falkTX <falktx@falktx.com> * CI fixes, build full carla on Windows Signed-off-by: falkTX <falktx@falktx.com> * Rename script Signed-off-by: falkTX <falktx@falktx.com> * Silly typo Signed-off-by: falkTX <falktx@falktx.com> * More CI tweaks, add windows installer Signed-off-by: falkTX <falktx@falktx.com> * Setup Carla paths for Windows Signed-off-by: falkTX <falktx@falktx.com> * Yet more tweaks Signed-off-by: falkTX <falktx@falktx.com> * Package carla on windows, use xvfb-run Signed-off-by: falkTX <falktx@falktx.com> * Test win32 build too Signed-off-by: falkTX <falktx@falktx.com> * Finalize rework Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
dbefe13bfb
commit
a1017be6ea
22 changed files with 430 additions and 90 deletions
|
|
@ -138,7 +138,7 @@ struct Initializer
|
|||
}
|
||||
}
|
||||
|
||||
if (asset::systemDir.empty())
|
||||
if (asset::systemDir.empty() || ! system::exists(asset::systemDir))
|
||||
{
|
||||
#ifdef CARDINAL_PLUGIN_SOURCE_DIR
|
||||
// Make system dir point to source code location as fallback
|
||||
|
|
@ -151,11 +151,21 @@ struct Initializer
|
|||
// If source code dir does not exist use install target prefix as system dir
|
||||
else
|
||||
#endif
|
||||
if (system::exists(CARDINAL_PLUGIN_PREFIX "/share/cardinal"))
|
||||
{
|
||||
asset::bundlePath = CARDINAL_PLUGIN_PREFIX "/share/cardinal/PluginManifests";
|
||||
#if defined(ARCH_MAC)
|
||||
asset::systemDir = "/Library/Application Support/Cardinal";
|
||||
#elif defined(ARCH_WIN)
|
||||
if (const char* const commonprogfiles = std::getenv("COMMONPROGRAMFILES"))
|
||||
asset::systemDir = system::join(commonprogfiles, "Cardinal");
|
||||
#else
|
||||
asset::systemDir = CARDINAL_PLUGIN_PREFIX "/share/cardinal";
|
||||
templatePath = system::join(asset::systemDir, "template.vcv");
|
||||
#endif
|
||||
|
||||
if (! asset::systemDir.empty())
|
||||
{
|
||||
asset::bundlePath = system::join(asset::systemDir, "PluginManifests");
|
||||
templatePath = system::join(asset::systemDir, "template.vcv");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -325,7 +325,15 @@ public:
|
|||
}
|
||||
|
||||
if (! errorMessage.empty())
|
||||
asyncDialog::create(errorMessage.c_str());
|
||||
{
|
||||
static bool shown = false;
|
||||
|
||||
if (! shown)
|
||||
{
|
||||
shown = true;
|
||||
asyncDialog::create(errorMessage.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
context->window->step();
|
||||
|
||||
|
|
|
|||
13
src/Makefile
13
src/Makefile
|
|
@ -171,21 +171,26 @@ endif
|
|||
|
||||
TARGET = rack.a
|
||||
|
||||
ifneq ($(MACOS),true)
|
||||
CARDINAL_FX_ARGS = VST2_FILENAME=Cardinal.vst/CardinalFX$(LIB_EXT)
|
||||
CARDINAL_SYNTH_ARGS = VST2_FILENAME=Cardinal.vst/CardinalSynth$(LIB_EXT)
|
||||
endif
|
||||
|
||||
all: $(TARGET)
|
||||
ifeq ($(MOD_BUILD),true)
|
||||
$(MAKE) -C CardinalFX lv2
|
||||
else
|
||||
$(MAKE) -C Cardinal
|
||||
$(MAKE) -C CardinalFX
|
||||
$(MAKE) -C CardinalSynth
|
||||
$(MAKE) -C CardinalFX $(CARDINAL_FX_ARGS)
|
||||
$(MAKE) -C CardinalSynth $(CARDINAL_SYNTH_ARGS)
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET)
|
||||
rm -rf $(BUILD_DIR)
|
||||
$(MAKE) clean -C Cardinal
|
||||
$(MAKE) clean -C CardinalFX
|
||||
$(MAKE) clean -C CardinalSynth
|
||||
$(MAKE) clean -C CardinalFX $(CARDINAL_FX_ARGS)
|
||||
$(MAKE) clean -C CardinalSynth $(CARDINAL_SYNTH_ARGS)
|
||||
|
||||
# --------------------------------------------------------------
|
||||
# Build commands
|
||||
|
|
|
|||
|
|
@ -235,6 +235,7 @@ endif
|
|||
# --------------------------------------------------------------
|
||||
# fallback path to resource files
|
||||
|
||||
ifneq ($(CIBUILD),true)
|
||||
ifneq ($(SYSDEPS),true)
|
||||
|
||||
ifeq ($(EXE_WRAPPER),wine)
|
||||
|
|
@ -245,6 +246,7 @@ endif
|
|||
|
||||
BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_SOURCE_DIR='"$(SOURCE_DIR)"'
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
# --------------------------------------------------------------
|
||||
|
|
@ -256,8 +258,12 @@ BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"'
|
|||
# Enable all possible plugin types and setup resources
|
||||
|
||||
ifeq ($(CARDINAL_VARIANT),main)
|
||||
ifneq ($(STATIC_BUILD),true)
|
||||
all: jack lv2 vst3
|
||||
else
|
||||
all: lv2 vst3
|
||||
endif # STATIC_BUILD
|
||||
else
|
||||
all: lv2 vst2 vst3 static
|
||||
endif
|
||||
|
||||
|
|
@ -284,7 +290,7 @@ ifneq ($(CARDINAL_VARIANT),main)
|
|||
ifeq ($(MACOS),true)
|
||||
VST2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/Contents/Resources/%)
|
||||
else
|
||||
VST2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/resources/%)
|
||||
VST2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/Cardinal.vst/resources/%)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
|
@ -294,7 +300,7 @@ vst3: $(VST3_RESOURCES)
|
|||
|
||||
# --------------------------------------------------------------
|
||||
|
||||
$(TARGET_DIR)/$(NAME).%/template.vcv: ../template.vcv
|
||||
$(TARGET_DIR)/%/template.vcv: ../template.vcv
|
||||
-@mkdir -p "$(shell dirname $@)"
|
||||
$(SILENT)ln -sf $(abspath $<) $@
|
||||
|
||||
|
|
@ -315,7 +321,7 @@ $(TARGET_DIR)/$(NAME).lv2/modgui/documentation.pdf: ../../docs/MODDEVICES.md $(T
|
|||
(cd ../../docs/ && pandoc MODDEVICES.md -f markdown+implicit_figures -o $(abspath $@))
|
||||
endif
|
||||
|
||||
$(TARGET_DIR)/$(NAME).vst/resources/%: ../Rack/res/%
|
||||
$(TARGET_DIR)/Cardinal.vst/resources/%: ../Rack/res/%
|
||||
-@mkdir -p "$(shell dirname $@)"
|
||||
$(SILENT)ln -sf $(abspath $<) $@
|
||||
|
||||
|
|
|
|||
|
|
@ -46,6 +46,10 @@
|
|||
# undef DEBUG
|
||||
#endif
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
# undef HAVE_LIBLO
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBLO
|
||||
# include <lo/lo.h>
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ const std::string APP_VERSION_MAJOR = "2";
|
|||
const std::string APP_VERSION = "2.1";
|
||||
#if defined ARCH_WIN
|
||||
const std::string APP_OS = "win";
|
||||
#elif ARCH_MAC
|
||||
#elif defined ARCH_MAC
|
||||
const std::string APP_OS = "mac";
|
||||
#elif defined ARCH_LIN
|
||||
const std::string APP_OS = "lin";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue