Browse Source

Remove NDEBUG. Replace vcv_libsclang_link_line.txt with explicit Makefile commands. Use $(CMAKE) instead of custom `cmake` which is defined in dep.mk because it's designed to work properly on all three platforms.

tags/v1.3.0
Andrew Belt 5 years ago
parent
commit
cc074ed1a7
1 changed files with 22 additions and 4 deletions
  1. +22
    -4
      Makefile

+ 22
- 4
Makefile View File

@@ -78,7 +78,7 @@ endif
ifeq ($(SUPERCOLLIDER), 1)
SOURCES += src/SuperColliderEngine.cpp
FLAGS += -Idep/supercollider/include -Idep/supercollider/include/common -Idep/supercollider/lang -Idep/supercollider/common -Idep/supercollider/include/plugin_interface
FLAGS += -DNDEBUG # TODO is this OK?
# FLAGS += -DNDEBUG # TODO is this OK? Andrew: No, unless you can tell me a good reason.
# FLAGS += -DSC_VCV_ENGINE_TIMING # uncomment to turn on timing printing while running
supercollider := dep/supercollider/build/lang/libsclang.a
OBJECTS += $(supercollider)
@@ -88,16 +88,34 @@ DISTRIBUTABLES += support/supercollider_extensions
SUPERCOLLIDER_CMAKE_FLAGS += -DSUPERNOVA=OFF -DSC_EL=OFF -DSC_VIM=OFF -DSC_ED=OFF -DSC_IDE=OFF -DSC_ABLETON_LINK=OFF -DSC_QT=OFF -DCMAKE_BUILD_TYPE=Release -DSCLANG_SERVER=OFF -DBUILD_TESTING=OFF
SUPERCOLLIDER_SUBMODULES += external_libraries/hidapi external_libraries/nova-simd external_libraries/nova-tt external_libraries/portaudio_sc_org external_libraries/yaml-cpp
SUPERCOLLIDER_BRANCH := topic/vcv-prototype-support

# FIXME should be able to find some better way of getting link library names!
LDFLAGS += $$(cat dep/supercollider/build/lang/vcv_libsclang_link_line.txt)
# Andrew: Just hard-code them as below, perhaps surrounded with `ifdef ARCH_*`. The "cat an external txt file" approach is unusual and not as explicit.
# LDFLAGS += $$(cat dep/supercollider/build/lang/vcv_libsclang_link_line.txt)

OBJECTS += dep/supercollider/build/external_libraries/libtlsf.a
OBJECTS += dep/supercollider/build/external_libraries/hidapi/linux/libhidapi.a
OBJECTS += dep/supercollider/build/external_libraries/hidapi/hidapi_parser/libhidapi_parser.a
OBJECTS += dep/supercollider/build/external_libraries/libboost_thread_lib.a
OBJECTS += dep/supercollider/build/external_libraries/libboost_system_lib.a
OBJECTS += dep/supercollider/build/external_libraries/libboost_regex_lib.a
OBJECTS += dep/supercollider/build/external_libraries/libboost_filesystem_lib.a
OBJECTS += dep/supercollider/build/external_libraries/libyaml.a
# TODO
# Andrew: We can't assume anything about the users' system, so you're gonna have to either avoid using these libraries or build and statically link them.
LDFLAGS += -lsndfile
# However, these can be assumed because I've never seen a system without them that can run Rack.
LDFLAGS += -lpthread -lasound -ludev

$(supercollider):
cd dep && git clone "https://github.com/supercollider/supercollider" --branch $(SUPERCOLLIDER_BRANCH) --depth 5
cd dep/supercollider && git submodule update --init -- $(SUPERCOLLIDER_SUBMODULES)
cd dep/supercollider && git apply ../../support/supercollider_get_libsclang_link_line.patch
cd dep/supercollider && mkdir build && cd build
cd dep/supercollider/build && cmake .. -G "Unix Makefiles" $(SUPERCOLLIDER_CMAKE_FLAGS)
cd dep/supercollider && mkdir build
cd dep/supercollider/build && $(CMAKE) .. $(SUPERCOLLIDER_CMAKE_FLAGS)
cd dep/supercollider/build && $(MAKE) libsclang
cd dep/supercollider/build && $(MAKE) generate_libsclang_link_line
cd dep/supercollider/build && $(MAKE) install
endif

# Python


Loading…
Cancel
Save