<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    You were close:<br>
    <br>
    here's a function to handle the wrapping - could stick this in the
    Findtolua.cmake file that you've hopefully made.<br>
    <br>
    function wrap_tolua(outvar)<br>
    &nbsp;&nbsp;&nbsp; set(outfiles)<br>
    &nbsp;&nbsp;&nbsp; foreach(in ${ARGN})<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; get_filename_component(inAbs ${in} ABSOLUTE)<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; get_filename_component(basename ${in} NAME_WE)<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; set(outfile
    "${CMAKE_CURRENT_BINARY_DIR}/generated_${basename}.cpp")<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; list(APPEND outfile "${outfile}")<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; add_custom_command(OUTPUT "${outfile}"<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; COMMAND ${TOLUA_EXECUTABLE} -o "${outfile}" -n
    ${basename} "${inAbs}"<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; DEPENDS "${inAbs}"<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; COMMENT "Wrapping ${basename} with tolua")<br>
    &nbsp;&nbsp;&nbsp; endforeach()<br>
    &nbsp;&nbsp;&nbsp; set(${outvar} ${outfiles} PARENT_SCOPE)<br>
    endfunction()<br>
    <br>
    <br>
    Then, to do your example:<br>
    <br>
    find_package(tolua REQUIRED)<br>
    <br>
    wrap_tolua(TOLUA_WRAPPED_SRC math.pkg another.pkg)<br>
    add_library(myLib theMain.cpp ${TOLUA_WRAPPED_SRC})<br>
    <br>
    (This is similar to how Qt and FLTK builds take place.)<br>
    <br>
    Hope this helps!&nbsp; Please share your find module with this code added
    and tweaked, if needed - thanks!<br>
    <br>
    Ryan<br>
    <br>
    On 08/31/2010 02:44 PM, Anders Backman wrote:
    <blockquote
      cite="mid:AANLkTi=wpgtEUW9MrUiK6HD+j5utjRKzQ4kTKkDEGnLB@mail.gmail.com"
      type="cite">Hi all.
      <div><br>
      </div>
      <div>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.</div>
      <div><br>
      </div>
      <div>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.</div>
      <div><br>
      </div>
      <div>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.</div>
      <div>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.</div>
      <div><br>
      </div>
      <div>So I guess Im looking for something like:</div>
      <div><br>
      </div>
      <div>add_library(myLib theMain.cpp&nbsp;</div>
      <div>&nbsp;&nbsp; generated_math.cpp&nbsp;</div>
      <div>&nbsp;&nbsp; math.pkg&nbsp;</div>
      <div>)</div>
      <div><br>
      </div>
      <div>
        <div>set_source_files_properties(generated_math.cpp GENERATED)</div>
      </div>
      <div><br>
      </div>
      <div>being able to tell CMake that .pkg files are treated in a
        certain way:</div>
      <div>The command that I want to execute for each .pkg is:</div>
      <div><br>
      </div>
      <div>tolua -o generated_math.cpp<span class="Apple-tab-span"
          style="white-space: pre;"> </span>-n math<span
          class="Apple-tab-span" style="white-space: pre;"> </span>math.pkg</div>
      <div><br>
      </div>
      <div>So any hints on how to do this?</div>
      <div>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...</div>
      <div><br>
      </div>
      <div>/A</div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Powered by <a class="moz-txt-link-abbreviated" href="http://www.kitware.com">www.kitware.com</a>

Visit other Kitware open-source projects at <a class="moz-txt-link-freetext" href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a>

Please keep messages on-topic and check the CMake FAQ at: <a class="moz-txt-link-freetext" href="http://www.cmake.org/Wiki/CMake_FAQ">http://www.cmake.org/Wiki/CMake_FAQ</a>

Follow this link to subscribe/unsubscribe:
<a class="moz-txt-link-freetext" href="http://www.cmake.org/mailman/listinfo/cmake">http://www.cmake.org/mailman/listinfo/cmake</a></pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University

<a class="moz-txt-link-freetext" href="http://academic.cleardefinition.com">http://academic.cleardefinition.com</a>
<a class="moz-txt-link-freetext" href="http://rpavlik.youcanbook.me">http://rpavlik.youcanbook.me</a></pre>
  </body>
</html>