Issue with the Module source folder under Windows?


#1

Hi,

Perhaps it’s me, but I’ve noticed an issue when specifying an absolute path in the Module Source Folder under Windows…

Example:
When I’m using Introjucer with the sample code, the path is “…/…/Juce” and it works fine.
But when I’m using it for my project, I have to point to “d:\Juce\Juce_2\Juce”, and then I get the following AppConfig.h:

[code]/*

IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!

There's a section below where you can add your own custom code safely, and the
Introjucer will preserve the contents of that block, but the best way to change
any of these definitions is by using the Introjucer's project settings.

Any commented-out settings will assume their default values.

*/

#ifndef JUCE_APPCONFIG_HN57XC
#define JUCE_APPCONFIG_HN57XC

//==============================================================================
// [BEGIN_USER_CODE_SECTION]

// (You can add your own code in this section, and the Introjucer will not overwrite it)

// [END_USER_CODE_SECTION]

//==============================================================================

#endif // JUCE_APPCONFIG_HN57XC
[/code]

As you can see, I miss the set of #define JUCE_MODULE_AVAILABLE_****, moreover the JuceLibraryCode folder contains nothing else than appconfig.h, JuceHeader.h and Readme.txt …

I traced into Introducer source code, and I noticed that “ModuleList::isModulesFolder (f)” is always returning false in ModuleList::getDefaultModulesFolder, and so the module list is empty, resulting in bad appconfig.h and missing files in the project…

I’m using the last source code updated from github this morning…

Should I use another syntax for the Module Source Folder ?

Thanks,

/Phil


#2

Have a look at how I arranged my LayerEffects repository and .jucer file:


#3

Well, it is quite different than my layout… I’m sharing the juce framework with many projects located in different folder hierarchies and hosted in different source controls… so it’s not so easy to define a Juce common core accessible using relative path, cause it implies moving projects keeping multiple SVN in sync… I can’t take the risk it right now.

Defining an absolute module source path works well on my Mac (sharing most of the project layout with my PC). I’m pretty sure the issue is not so complicated to fix, I’ll trace it later if I can free some time to. Until then, I build the appconfig.h on my Mac, update it on my PC and add manually the modules to my projects. It’s not so efficient but I need to go ahead :wink:


#4

Doesn’t the modules folder end with “…/modules” ?


#5

Sure it does! Anyway “/modules” is automatically happened to the specified folder if it doesn’t end with.

I just made a try copying Juce just next to one of my projects and configuring introjucer using a relative path, and it works!

And I made another test: creating a brand new project on my PC with introjucer configured with the “d:\Juce\Juce_2\Juce” path: it’s working!

It’s weird, the issue seems to occur when I’m building the VS2008 project from a .jucer file initially created on my Mac…

Ok, I’ve no more time to investigate, unfortunately. I’ll follow your suggestion and copy Juce distribution files at the root of each repository, next to my projects, and using relative path.

Thanks for the help!

/Phil