You were close:
here's a function to handle the wrapping - could stick this in the
Findtolua.cmake file that you've hopefully made.
function wrap_tolua(outvar)
set(outfiles)
foreach(in ${ARGN})
get_filename_component(inAbs ${in} ABSOLUTE)
get_filename_component(basename ${in} NAME_WE)
set(outfile
"${CMAKE_CURRENT_BINARY_DIR}/generated_${basename}.cpp")
list(APPEND outfile "${outfile}")
add_custom_command(OUTPUT "${outfile}"
COMMAND ${TOLUA_EXECUTABLE} -o "${outfile}" -n ${basename}
"${inAbs}"
DEPENDS "${inAbs}"
COMMENT "Wrapping ${basename} with tolua")
endforeach()
set(${outvar} ${outfiles} PARENT_SCOPE)
endfunction()
Then, to do your example:
find_package(tolua REQUIRED)
wrap_tolua(TOLUA_WRAPPED_SRC math.pkg another.pkg)
add_library(myLib theMain.cpp ${TOLUA_WRAPPED_SRC})
(This is similar to how Qt and FLTK builds take place.)
Hope this helps! Please share your find module with this code added and
tweaked, if needed - thanks!
Ryan
On 08/31/2010 02:44 PM, Anders Backman wrote:
Hi all.
I have a directory of .pkg files to be processed by tolua. This in
turn generates a bunch of cpp files, which I then link into a library.
My problem right now is that, I would like to generate a project,
where each .pkg is associated with a custom command, so that I in
visual studio (for exampel) can "compile" each .pkg file individually.
I have managed to create a library, and to get all the generated cpp
file associated to the library+a custom target command which is
executed PRE_BUILD to the library.
But thats not quite what I would like. Because then I cant just
compile one .pkg file if I edit it. Using the above approach, requires
me to build the whole project, which compiles ALL .pkg files
associated to it, not what I want. I want to setup a proper dependency
chain, so that If a .pkg file is modified, the corresponding
"generated"_xx.cpp is generated, and the project is linked.
So I guess Im looking for something like:
add_library(myLib theMain.cpp
generated_math.cpp
math.pkg
)
set_source_files_properties(generated_math.cpp GENERATED)
being able to tell CMake that .pkg files are treated in a certain way:
The command that I want to execute for each .pkg is:
tolua -o generated_math.cpp -n math math.pkg
So any hints on how to do this?
I can certainly do this in VisualStudio, adding .pkg files to the
project, and setting the build events on it, but I need a portable
solution...
/A
_______________________________________________
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
--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University
http://academic.cleardefinition.com
http://rpavlik.youcanbook.me
_______________________________________________
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