I am creating a test plugin, which has one main .fr file and for each dialog/panel I've created sets of .fr file.
Also I have includes these .fr file in the main .fr file.
Now when I try to build the plugin all the c++ .h and .cpp gets compiled when modified directly or indirectly, But the .fr files didn't gets compiled
if I make changes to those .fr file which is not the main .fr.
Since it is taking much time if I goes to rebuild the project and also I dont like to first compile the .fr and then build the project.
Is there any setting in visual studio 2008 for making the .fr file compile each time even If I build the project.
Thanks a lot!
If you dig deeper, the SDK has a trick to #include the top level "umbrella" .fr into some .cpp so that the cpp compiler watches the dependencies. Appropriate #ifdef make the compiler skip the actual resource code. The resource compiler then rides along and does the rebuild. Yes, that can take time. And beyond that, you cannot make advanced use of preprocessor macros when all dialogs share the same DIALOG_WIDTH ...
This "umbrella file" single compilation unit is Adobe's preferred way so far, that with CS5 (along the unfolding of resources into separate files) they broke the resource compiler's original ability to work against a set of multiple independent sources. I even filed a bug against this odd behaviour but was decreed it was by design.
You can still do the obvious and break down the resource compilations into separate files resulting in independent resource file trees, but on the Mac the SDK does not provide support to merge the intermediate build products, I do it myself with some few shell scripts. On Windows I made creative use of the SDK tools "ConcatRes" and "cmpmodtime", but fortunately Windows has been irrelevant for me since CS4 so I don't even know whether they are still provided / needed.
This inclusion that you mention is already done in TriggerResourceDeps.cpp. Thus, make any change to TriggerResourceDeps.cpp like adding a space in the comment save the file and compile. This will trigger the resource to be recompiled.