atsushieno / ADLplug-AE

modernized ADLplug build with JUCE7 and CMake setup in JUCE6 manner
GNU General Public License v3.0
5 stars 2 forks source link

Noobie question. How do I build the plugins? #1

Closed Legosi13 closed 9 months ago

Legosi13 commented 9 months ago

Nothing too complicated, though I was wondering how you build both OPN/ADL. I do have cmake installed via brew, and even punched in the Cmakelists.txt using cmake, but it's only spat errors at me. I'm not too familiar with terminal commands, so I figured I'd ask on how to build your version of these plugins! Thanks in advance for your help.

log:

CMake Error at CMakeLists.txt:16 (add_subdirectory):
  add_subdirectory given source "external/ADLplug/thirdparty/libADLMIDI"
  which is not an existing directory.

CMake Error at CMakeLists.txt:17 (target_compile_definitions):
  Cannot specify compile definitions for target "ADLMIDI_static" which is not
  built by this project.

CMake Error at CMakeLists.txt:18 (target_compile_definitions):
  Cannot specify compile definitions for target "ADLMIDI_static" which is not
  built by this project.

CMake Error at CMakeLists.txt:22 (add_subdirectory):
  add_subdirectory given source "external/ADLplug/thirdparty/libOPNMIDI"
  which is not an existing directory.

CMake Error at CMakeLists.txt:23 (target_compile_definitions):
  Cannot specify compile definitions for target "OPNMIDI_static" which is not
  built by this project.

CMake Error at CMakeLists.txt:24 (target_compile_definitions):
  Cannot specify compile definitions for target "OPNMIDI_static" which is not
  built by this project.

CMake Error at CMakeLists.txt:67 (add_subdirectory):
  The source directory

    /Users/myusername/Downloads/ADLplug-AE-main/external/JUCE

  does not contain a CMakeLists.txt file.

CMake Error at CMakeLists.txt:68 (add_subdirectory):
  The source directory

    /Users/myusername/Downloads/ADLplug-AE-main/external/clap-juce-extensions

  does not contain a CMakeLists.txt file.

Building Plugin: ADLplug-AE ...
CMake Error at CMakeLists.txt:78 (juce_add_plugin):
  Unknown CMake command "juce_add_plugin".
Call Stack (most recent call first):
  CMakeLists.txt:249 (ADLAE_ADD_PLUGIN)

-- Configuring incomplete, errors occurred!
atsushieno commented 9 months ago

add_subdirectory given source "external/ADLplug/thirdparty/libADLMIDI" which is not an existing directory.

Maybe you did not have submodules checked out. Try git submodule update --init --recursive at the topdir.

Legosi13 commented 9 months ago

git submodule update --init --recursive

My apologies, upon inputting the command you've given me (after entering cd /Users/myusername/ADLPlug-AE-main), it returns fatal: not a git repository (or any of the parent directories): .git

Though I haven't forgotten about the hidden ".gitmodules" files that are seemingly hidden. Do I have to rename it to contain the '.git' extension?

atsushieno commented 9 months ago

Ah, probably you have "downloaded" the source archive. It would not work. You'll have to checkout the sources using some Git client.

Legosi13 commented 9 months ago

Ah, probably you have "downloaded" the source archive. It would not work. You'll have to checkout the sources using some Git client.

Very well. I suppose Github Desktop shall work?

atsushieno commented 9 months ago

Yes it should. I haven't used it so I don't know how, but make sure to let it checkout git submodules too (or run the git command I wrote earlier, manually).

Legosi13 commented 9 months ago

Yes it should. I haven't used it so I don't know how, but make sure to let it checkout git submodules too (or run the git command I wrote earlier, manually).

Got it. Though I am in the process of having the resources retrieved, I do see a hidden .git folder, I have to assume that is the submodules in question. I do apologize for my inexperience, I'm kind of new to building and compiling software

Legosi13 commented 9 months ago

Alright, with that done, I've even inputted the Cmakelists.txt in the main folder (ADLplug-AE), and this is what my folder looks like now. What shall I do now? Note, the artifact folders don't seem to have any executables as of now.

Screenshot 2023-12-01 at 11 13 55

Though I am running into the CMake Error: Xcode 1.5 not supported. error upon attempting to use the gxcode command.

atsushieno commented 9 months ago

Let me write a lot more about build instruction on README later, but for now the biggest missing piece that you likely did not have is this:

cd external/ADLplug
patch -i ../../adlplug-ae.patch -p1
cd ../..

Then cmake -Bbuild; cmake --build will make it.

No wonder if you could not build it, maybe no one would unless every piece of my files are understood...!

Legosi13 commented 9 months ago

Let me write a lot more about build instruction on README later, but for now the biggest missing piece that you likely did not have is this:

cd external/ADLplug
patch -i ../../adlplug-ae.patch -p1
cd ../..

Then cmake -Bbuild; cmake --build will make it.

No wonder if you could not build it, maybe no one would unless every piece of my files are understood...!

No no, no need to apologize, I don't know much of Unix command prompts, but I can see where you're coming from!

Legosi13 commented 9 months ago

I've followed your newly made instructions, it is working and being recognized in my DAWs/VST hosts excellently! But there is one last issue which doesn't affect functionality but does affect aesthetic. Provided here are how the output standalone apps would show up. I did not make any alterations in and during your instructions and resulted in corrupted standalone app icons.

Screenshot 2023-12-01 at 13 00 08 Screenshot 2023-12-01 at 12 59 33 Screenshot 2023-12-01 at 12 59 00 Screenshot 2023-12-01 at 12 58 54
atsushieno commented 9 months ago

Assuming you are on Sonoma, I think it is related to the JUCE issue on Sonoma, which was IIRC fixed in the later versions (7.0.7 or whatever). Try making local changes as follows:

cd external/JUCE
git pull
git checkout 7.0.9

Then rebuild the app from the top directory again.

Legosi13 commented 9 months ago

Assuming you are on Sonoma, I think it is related to the JUCE issue on Sonoma, which was IIRC fixed in the later versions (7.0.7 or whatever). Try making local changes as follows:

cd external/JUCE
git pull
git checkout 7.0.9

Then rebuild the app from the top directory again.

I am on Ventura 13.6.3 on my Intel, which your fork of the software works favorably on. I'll get to inputing your provided prompts

atsushieno commented 9 months ago

Oh, okay I misread what you wrote, it is about the app icons. They are indeed broken like those image captures on my machine too. I have no right idea why so and not sure if we can get a fix, but at least it is not your build issue.

Legosi13 commented 9 months ago

Oh, okay I misread what you wrote, it is about the app icons. They are indeed broken like those image captures on my machine too. I have no right idea why so and not sure if we can get a fix, but at least it is not your build issue.

It's quite alright. I wanted to say thank you very much in guiding me in the initialization, patching and building process! You have brought life back to OPN/ADLplug! God bless

atsushieno commented 9 months ago

Awesome! Thanks for all those feedbacks.