• entries
    205
  • comments
    228
  • views
    112868

I am not a build tech!

Sign in to follow this  
Mike Bossy

105 views

Today I started on getting ToLua into my engine. Adding the code to my objects to call scripts is the super easy part. Using Lua as a whole is a breeze. Also deciding how my objects would utilize Lua was also the easy part. You can see where this is going :).....

The hard part was figuring out how to get the ToLua++ pre-processing work into my build. I ended up creating a nice little batch file that takes the header files of classes I want to expose to Lua and processes them using the ToLua command line tool. Very straight forward. The next step was adding a pre-build step to call said batch file. Since I'm using Visual Studio this was very straight forward again.

So everything sounds easy and straight forward right? The only flaw in this system is that one of the main reasons that I switched to ToLua++ was to improve my build times over LuaBind. Adding this new pre-build step that gets run each time I build I have just replaced the build time needed for LuaBind with a different type of build time.

I'm going to have to look into creating another build target that performs this pre-build step that I can run that whenever I have an object change so I don't have to do it everytime. Having it run whenever I change a non-Lua exposed object is just silly and a waste of time.
Sign in to follow this  


2 Comments


Recommended Comments

I believe you may be able to just create a separate nmake project as part of your solution and link your class files to that project that you want to expose via script. Have it's target be the batch file and then it should only build that project when you change headers.

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now