[CMake] Add configuration support to include_directories()
Michael Jackson
mike.jackson at bluequartz.net
Tue Dec 23 12:10:36 EST 2008
n Dec 23, 2008, at 11:56 AM, Bill Hoffman wrote:
> Robert Dailey wrote:
>
>> For debug: C:\foo\bar-d
>> For release: C:\foo\bar
>> Note that the text "Debug" or "Release" is not used in the include
>> path, so simply using CFG_INTDIR would not work I don't think
>> (Unless I'm missing something again). This is why in CMake I need
>> to do something like this:
>> if( debug )
>> include_directories( C:\foo\bar-d )
>> else()
>> include_directories( C:\foo\bar )
>> endif()
>> Thanks again to everyone for their continued help.
>
> OK, well, since VS supports multiple configurations at VS time, and
> not CMake time, it is impossible to have the above if statement.
> There is just no way to know what configuration the user will
> pick. The user gets to pick a long time after that if statement
> was executed by CMake. So, I think you are sort of out of luck
> right now... What CMake needs is per configuration
> include_directories for this to work. One thing that might work as
> a work around, is that you could copy the header file via a custom
> command into your build tree, and then use the CFG_INTDIR approach.
>
> -Bill
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
I am just thinking out loud here so if I am totally off the mark just
ignore.
So the problem is including /foo/bar-d or /foo/bar for debug and
release.
For a release build there is the -NDEBUG definition and for Debug
there is the -DEBUG compiler definitions defined (or something that at
effect)
In your own project have a header file (MySetup.h) with something like:
#ifdef NDEBUG
#include "bar/setup.h"
#else
#include "bar-d/setup.h"
#endif
Then you need to just have C:\foo on the include path.
I _think_ something like that might work. Not sure how scalable or
maintainable that might be since I have never used wxWidgets.
HTH
---
Mike Jackson www.bluequartz.net
More information about the CMake
mailing list