Updating without Introjucer

I built my current XCode project without Introjucer, because XCode projects generated with Introjucer don’t work with XCode’s Snapshots (which I use quite a bit). Everything’s worked fine for months.

Now, I downloaded the latest JUCE 2.0.29 using the Introjucer’s update feature. Then, I copied the updated modules folder from the juce folder into my projects JuceLibraryCode folder in my XCode project folder, replacing my current modules folder. And now I’m getting errors when building, because it doesn’t recognize the QuickTimeMoveComponent, AudioDeviceSelectorComponent or MidiKeyboardComponent classes, but it does recognize all of the other many JUCE classes I’m using. I’ve got two questions:

  1. Are there flags within the modules files that need to be set in order to recognize these classes?
  2. Is there an efficient way to update the modules without having an Introjucer project?


Woke up this morning with a solution. It’s a little hacky, but it’s quick and it works:

After downloading and installing the new modules, I create a new project with Introjucer, enabling all of the necessary modules and flags (in my case I needed JUCE_QUICKTIME enabled in the juce_video module, and enable the juce_audio_utils module). I save it, and then copy the entire JuceLibraryCode folder of this new project into my project, overwriting my current JuceLibraryCode folder.

Why are you making things so difficult? Just use “git pull” to bring in the latest tip.

Correct me if I’m wrong, but wouldn’t the git pull just do the same thing as Introjucer’s “download and install” command? And wouldn’t I still have to set the flags and update my projects JuceLibraryCode folder after the fact?