[CMake] __FILE__ relative path
Michael Wild
themiwi at gmail.com
Wed Dec 28 07:00:22 EST 2011
set(SRCS a/a.cpp b/b.cpp c/c.cpp d/d.cpp)
foreach(f IN LISTS SRCS)
get_filename_component(b ${f} NAME)
set_source_files_properties(${f} PROPERTIES
COMPILE_DEFINITIONS "MYSRCNAME=${b}")
endforeach()
add_executable(foo ${SRCS})
HTH
Michael
On 12/28/2011 08:17 AM, vivek goel wrote:
> Is there any way to define custom
> macro as given in following answer
> http://stackoverflow.com/questions/237542/learning-the-source-codes-filename-at-compile-time
> with cmake
>
>
> regards
> Vivek Goel
>
>
>
> On Tue, Dec 27, 2011 at 11:02 PM, Rolf Eike Beer <eike at sf-mail.de
> <mailto:eike at sf-mail.de>> wrote:
>
> Am Dienstag, 27. Dezember 2011, 09:18:15 schrieb J Decker:
> > On Tue, Dec 27, 2011 at 1:42 AM, Rolf Eike Beer <eike at sf-mail.de
> <mailto:eike at sf-mail.de>> wrote:
> > > Am Dienstag, 27. Dezember 2011, 14:58:32 schrieb vivek goel:
> > >> How can I make cmake to compile source with relative path ?
> > >>
> > >> So that __FILE__ belongs to relative path of the file
> > >>
> > >> or there is another way I can replace __FILE__ with some other
> variable ?
> >
> > relative path to what? What is it you need the path to be?
> >
> > > __FILE__ is implemented by the compiler, it has nothing to do
> with CMake.
> > > What
> > Well, it does have a little to do with CMake; the variable is the
> > filename passed to the compiler, which comes from cmake.
>
> Yes, but the compiler is free to convert it to an absolute path or
> do whatever
> it wants with it.
>
> Eike
More information about the CMake
mailing list