Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 20, 2008, 8:51:44 PM (16 years ago)
Author:
rgrieder
Message:
  • Changed working directory for tolua generator to library_output_path. That resolves windows issues with dlls.
  • Removed the need to create a second tolua application. There is only one now called toluaexe_orxonox.
  • 'w' (working directory) option of tolua extends to -L, pkg-file, -o and -H if of course -w is present
  • 's' option added to tolua: Tells which file contains the bindfile generator. In our case this is src/tolua/all.lua all.lua replaces tolua-5.1.pkg. We can still choose that file from CMake (TOLUA_PARSER_SOURCE)
  • Generator dependencies are declared in src/tolua/CMakeLists.txt and used in UseTolua.cmake (PARENT_SCOPE)
  • Fixed a bug when writing the header file inclusion in package.lua
Location:
code/branches/buildsystem/src/tolua/lua
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/buildsystem/src/tolua/lua/doit.lua

    r2229 r2236  
    3939    parse_extra()
    4040
     41    -- get potential working directory
     42    if not flags.w then
     43        flags.w = ''
     44    end
     45
    4146    -- do this after setting the package name
    42     if flags['L'] then
    43         dofile(flags['L'])
     47    if flags.L then
     48        if string.sub(flags.L, 1, 1) == '/' or string.sub(flags.L, 1, 1) == '\\' then
     49            dofile(flags.L)
     50        else
     51            dofile(flags.w..'/'..flags.L)
     52        end
    4453    end
    4554
    4655    -- add cppstring
    47     if not flags['S'] then
     56    if not flags.S then
    4857        _basic['string'] = 'cppstring'
    4958        _basic['std::string'] = 'cppstring'
     
    5261
    5362    -- proccess package
    54     local p  = Package(flags.n,flags.f)
     63        local file
     64        if flags.f then
     65        if string.sub(flags.f, 1, 1) == '/' or string.sub(flags.f, 1, 1) == '\\' then
     66            file = flags.f
     67        else
     68            file = flags.w..'/'..flags.f
     69        end
     70    else
     71        file = flags.f
     72    end
     73    local p  = Package(flags.n, file)
    5574
    5675    if flags.p then
     
    5978
    6079    if flags.o then
    61         local st,msg = writeto(flags.o)
     80            local file
     81        if string.sub(flags.o, 1, 1) == '/' or string.sub(flags.o, 1, 1) == '\\' then
     82            file = flags.o
     83        else
     84            file = flags.w..'/'..flags.o
     85        end
     86        local st,msg = writeto(file)
    6287        if not st then
    6388            error('#'..msg)
     
    84109    if not flags.P then
    85110        if flags.H then
    86             local st,msg = writeto(flags.H)
     111                local file
     112            if string.sub(flags.H, 1, 1) == '/' or string.sub(flags.H, 1, 1) == '\\' then
     113                file = flags.H
     114            else
     115                file = flags.w..'/'..flags.H
     116            end
     117            local st,msg = writeto(file)
    87118            if not st then
    88119                error('#'..msg)
  • code/branches/buildsystem/src/tolua/lua/package.lua

    r2234 r2236  
    124124    output('#endif\n')
    125125    output('#include "string.h"\n\n')
    126     output('#include "tolua/tolua++.h"\n\n')
    127 
    128     if not flags.h then
    129         --  local temp = string.reverse(flags.H)
    130         --  local start1, end1 = string.find(temp, '/')
    131         --  local start2, end2 = string.find(temp, '\\')
    132         --  local res
    133         --  if not start1 == nil then
    134         --   if not start2 == nil then
    135         --    if start1 > start2 then
    136         --     res = string.sub(temp, 1, start2)
    137         --    else
    138         --     res = string.sub(temp, 1, start1)
    139         --    end
    140         --   else
    141         --    res = string.sub(temp, 1, start1)
    142         --   end
    143         --  elseif not start2 == nil then
    144         --   res = string.sub(temp, 1, start2)
    145         --  end
    146         --  res = string.reverse(res)
    147         output('#include "tolua_bind.h"')
    148         output('\n')
     126    output('#include "tolua++.h"\n\n')
     127
     128    if flags.H then
     129        local header = gsub(flags.H, '^.-([%w_]*%.[%w_]*)$', '%1')
     130        output('#include "'..header..'"\n')
    149131    end
    150132
     
    220202    output('*/\n\n')
    221203
    222     if not flags.h then
     204    if flags.H then
    223205        output('#include "'..self.name..'Prereqs.h"\n')
    224206        output('/* Exported function */')
    225         output('_'..self.name..'Export int  tolua_'..self.name..'_open (lua_State* tolua_S);')
     207        output('_'..self.name..'Export')
     208        output('int  tolua_'..self.name..'_open (lua_State* tolua_S);')
    226209        output('\n')
    227210    end
Note: See TracChangeset for help on using the changeset viewer.