Skip to content

Fixed some errors on macOS + fully static build  #15

@shakfu

Description

@shakfu

Hi,

As I wanted to include the csound~ external in a standalone, I've been spending some time on a recent fork with the initial objective of getting it to work for me on macOS and also to create a relocatable external (not dependent on local ~/Library/Frameworks/Csound64.framework

To that end, I've made some progress and I think some of it would be worth contributing back to the project in a PR at some point if I get past some frustrating windows compilation issues (windows is not my platform of choice -- I'd appreciate some advice if possible).

In any case, here's a brief list of the changes so:

  • Converted to Max Package with regular cross-platform structure

  • Added max-sdk-base as git submodule

  • Added Makefile frontend for simplified macOS builds

  • Fixed macOS compilation errors related to deprecated apis (dropped carbon and rewrote Launch code) and also made a few general code improvements (complete diff here):

    • Removed all using namespace std statements and converted unqualified terms to qualified, and renamed byte in definitions.h to csbyte because there were name collisions between std::byte (added in c++ 17) and former.

    • Dropped use of auto_ptr in csound~.cpp, which was removed in c++17, : converted to std::unique_ptr.

    • Dropped some deprecated or obsolete api usage, for exampleFSRef -> CFURLRef

  • Added Build variants with associated scripts:

    • macOS - local build: non-relocatable, dynamically linked to local csound library or framework

    • macOS - hybrid build: relocatable with static csound + dynamic dependencies

    • macOS - release build: relocatable 100% static build using vcpkg.

    • windows - NOT complete due to residual linking errors but with updated cmake build...

fork: https://github.com/shakfu/csound_tilde

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions