I'm software engineer for 15 years old, and I done often some special build into Visual C++. These custom build can make lot of things: make a software is not only build C/C++ file. For example, it can generate dll language by running external tools (that use dictionnary ... MFC don't use gettext !!), or running crypting tools to be used with dongle.
I often use external software (exe) or running vbscript with parameters to make special build (you can do lot of things with vbscript, look
here at the bottom of the page.
Here, I want make a library to easilly create sqlite tables and create request ... but I don't want it make more work than if I don't use my own lib (that is not written for the moment, I think it will be make me lot of time).
Idea ? Transform :
WX_ETK_SQLITE3_DECLARE_TABLE(TMatchType)
{
DECLARE_COLUMN idTMatchType INTEGER PRIMARY_KEY
DECLARE_COLUMN Label TEXT NOT_NULL UNIQUE
DECLARE_COLUMN Coeff DOUBLE NOT_NULL
DECLARE_COLUMN Comments TEXT
}
to :
class TTGestLibTableTMatchType : public wxETKSQLite3Table
{
public:
static wxETKSQLite3Column idTMatchType;
static wxETKSQLite3Column Label;
static wxETKSQLite3Column Coeff;
static wxETKSQLite3Column Comments;
public:
/**
* Default constructor.
*/
TTGestLibTableTMatchType();
/**
* Default destructor.
*/
virtual ~TTGestLibTableTMatchType();
};
#include "TTGestLibDatabaseStructure.h"
wxETKSQLite3Column TTGestLibTableTMatchType::idTMatchType(_T("idTMatchType"),WXSQLITE_INTEGER,true,true,true,false);
wxETKSQLite3Column TTGestLibTableTMatchType::Label(_T("Label"),WXSQLITE_TEXT,false,true,false,false);
wxETKSQLite3Column TTGestLibTableTMatchType::Coeff(_T("Coeff"),WXSQLITE_FLOAT,false,false,false,false);
wxETKSQLite3Column TTGestLibTableTMatchType::Comments(_T("Comments"),WXSQLITE_TEXT,false,false,false,true);
TTGestLibTableTMatchType::TTGestLibTableTMatchType()
: wxETKSQLite3Table(_T("TMatchType"))
{
AddColumn(idTMatchType;
AddColumn(Label);
AddColumn(Coeff);
AddColumn(Comments);
}
I can create an exe to make the transformation, it is possible, but must be build before building the lib, usinf script embedded with Code::Blocks make this script multi-platform.
maybe if you can look "last modified date" ?
For the moment it seems to be not possible with squirrel.
But I think the easier would be to add the generated files to C::B's, giving them a higher priority in compilation? The question is, is it possible...
There are 100 priority when adding file to Code::Blocks (I saw it into the codeblocks source code), default is 50, but it can be add only with scripting.
Then, make the compiling by calling yourself the command line of the compilation for ws3 files
I would to call command line that run squirrel scripting, it will be fantastic but I think it is not possible.
Thanks for your reply, hope other peaple will help me.