[cmake-developers] What about #line like feature in cmake language?

Nicolas Desprès nicolas.despres at gmail.com
Thu May 15 06:45:27 EDT 2014


On Thu, May 15, 2014 at 10:15 AM, Eric Noulard <eric.noulard at gmail.com>wrote:

> 2014-05-15 10:08 GMT+02:00 Nicolas Desprès <nicolas.despres at gmail.com>:
> > Hi,
> >
> > I am planning to develop a python generator of CMakeLists.txt file for
> > easier integration in an already existing tool. This approach is
> different
> > from the others approaches consisting in binding the CMake language in a
> > foreign languages. Lua, Javascript and Python have already been tried
> > without success to my knowledge. Generating CMakeLists.txt files seems a
> > simpler approach to me since the CMake language is very stable and it
> keeps
> > the two projects separated. Finally it reaches the same goal since the
> idea
> > behind binding CMake in a foreign language is too gain a more general
> > purpose and feature full language with a larger standard library.
> >
> > To assist in such a task the CMake language could provide a command
> similar
> > to the #line directive found in the C-pre-processor. Changing the
> filename
> > and line number in the CMakeLists.txt file would make the generator able
> to
> > transparently run CMake behind the scene while the errors reported by
> CMake
> > would still refer to the generator input file written by the user.
> >
> > The last time I checked I could not find such a feature in CMake.
>
> Did you check those var:
> CMAKE_CURRENT_LIST_DIR
> CMAKE_CURRENT_LIST_FILE
> CMAKE_CURRENT_LIST_LINE
>
> message(STATUS "${CMAKE_CURRENT_LIST_LINE}: ${CMAKE_CURRENT_LIST_FILE}
> Your message")
>
> should print the line number and filename with "Your message".
>
> Is it the kind of feature you are looking for?
>
> Nope. These variables are the cmake equivalent to the __LINE__ and
__FILE__ C-pre-processor macro. What I need is the #line directive
equivalent which force the value of these variables so that error messages
reported by cmake uses the forced value.

[...]

-- 
Nicolas Desprès
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20140515/5842650f/attachment-0002.html>


More information about the cmake-developers mailing list