Thanks that works great. I just wrote an eval macro that does that
From: David Cole [mailto:[email protected]]
Sent: Friday, June 01, 2012 11:22 AM
To: LaViolette, Alan
Cc: [email protected]
Subject: Re: [CMake] Using a variable as a method name
Not directly, but as a workaround, you could write that into a file, and then
include the file.
i.e.:
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/tmp.cmake" "BAR_${FOO}(arg1 arg2)")
include(${CMAKE_CURRENT_BINARY_DIR}/tmp.cmake)
You may need to do some quoting and/or escaping to get things working depending
on how complex arg1 and arg2 are in reality.
This sort of "eval" functionality has been requested (and denied ;-) before:
http://public.kitware.com/Bug/view.php?id=4034
http://public.kitware.com/Bug/view.php?id=11845
HTH,
David
On Fri, Jun 1, 2012 at 11:02 AM, LaViolette, Alan
<[email protected]<mailto:[email protected]>>
wrote:
Hello
I would like to call a method based on a variable name such as
set( FOO "123")
BAR_${FOO}(arg1 arg2)
would do the same as
BAR_123(arg1 arg2)
Does any way exist to do this in CMake, such as a call() or eval() command?
--
Alan LaViolette
Software Engineering Consultant
OVERWATCH
An Operating Unit of Textron Systems
21660 Ridgetop Circle, Suite 110
Sterling, VA 20166
Office: (703) 437-7651 x 2419<tel:%28703%29%20437-7651%20x%202419>
Fax: (703) 437-0039<tel:%28703%29%20437-0039>
[email protected]<mailto:[email protected]>
www.overwatch.com<http://www.overwatch.com>
"WARNING: Documents that can be viewed, printed or retrieved from this E-Mail
may contain technical data whose export is restricted by the Arms Export
Control Act (Title 22, U.S.C., Sec 2751, et seq,) or the Export Administration
Act of 1979, as amended, Title 50, U.S.C., App. 2401 et seq. and which may not
be exported, released or disclosed to non-U.S. persons (i.e. persons who are
not U.S. citizens or lawful permanent residents ["green card" holders]) inside
or outside the United States, without first obtaining an export license.
Violations of these export laws are subject to severe civil, criminal and
administrative penalties."
--
Powered by www.kitware.com<http://www.kitware.com>
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
--
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake