[CMake] Copying Files into build-dir under Visual Studio vs. Codeblocks/Win32 vs. Codeblocks/Linux

Eric Noulard eric.noulard at gmail.com
Fri Feb 10 03:41:39 EST 2012


2012/2/10 Stefan Fendt <stefan at sfendt.de>:
> Hi,
>
> I'm (still) quite unsure if this isn't an FAQ (or if not maybe should be
> one), but I have read through everything I could google-up regarding
> this topic and found nothing usable...
>
> I'm writing an x-platform-project which will be compiled using different
> compilers and or under different systems... for this project I am
> required to move some files from some location (source/data) into the
> build-directory. Whileas this works under Linux/Codeblocks/GCC as well
> as Windows/Codeblocks/MinGW it doesn't for Visual Studio... Under Visual
> Studio the files always are copied to some directory-location directly
> above the actual binary-directory.
>
> I've tried using ${CMAKE_CURRENT_BINARY} and it copies the files to the
> marked position:
>
> build/                        <--- copies  into this directory
> build/Debug
> build/Release
> build/source
>
> After that I tried to do it with GET_TARGET_PROPERTY(... PROPERTY
> LOCATION). I then get something like this...
>
> 'build/$(Configuration)'
>
> ...which of course doesn't solve the problem, too... because the
> configuration under Visual Studio is only known after CMake-Generation
> of the solution and running the compiler...
>
> So, what is the suggested method of (if you can't avoid it) copying
> files from anywhere into the build-directory, which is as compiler
> agnostic as possible..?

You may use CMAKE_CFG_INTDIR.

Try:
cmake --help-variable CMAKE_CFG_INTDIR

You'll get some example with custom command/target.

-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org


More information about the CMake mailing list