echo "[TIDL] Build the package"
mkdir -p $SCRIPT_DIR/$BUILD_DIR
cd $SCRIPT_DIR/$BUILD_DIR
- cmake ..
+ VER=`cat ../packaging/tidl.spec | grep 'Version' | sed 's/Version://' | tr -d ' \r'`
+ cmake .. -DFULLVER=$VER
make clean
make
}
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -std=c++11")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
+ADD_DEFINITIONS("-DFULLVER=\"${FULLVER}\"")
+
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCES)
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/cs_gen CS_GEN_SOURCES)
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/c_gen C_GEN_SOURCES)
enum Cmd {
CMD_PROXY,
CMD_STUB,
+ CMD_VERSION,
CMD_MAX
};
};
void PrintUsage();
+ void PrintVersion();
private:
bool isProxy_;
std::cerr << help_ << std::endl;
}
+void Options::PrintVersion() {
+ std::cerr << "tidlc " << FULLVER << std::endl;
+}
+
std::unique_ptr<Options> Options::Parse(int argc, char** argv) {
gpointer cmd[CMD_MAX] = { 0, };
static GOptionEntry cmdEntries[] = {
"Generate proxy code", NULL },
{ "stub", 's', 0, G_OPTION_ARG_NONE, &cmd[CMD_STUB],
"Generate stub code", NULL },
+ { "version", 'v', 0, G_OPTION_ARG_NONE, &cmd[CMD_VERSION],
+ "Show version information", NULL },
{ NULL }
};
gpointer opt[OPT_MAX] = { 0, };
g_free(help);
g_option_context_free(context);
+ if (cmd[CMD_VERSION]) {
+ options->PrintVersion();
+ return std::unique_ptr<Options>(nullptr);
+ }
+
if ((!cmd[CMD_PROXY] && !cmd[CMD_STUB]) ||
!opt[OPT_LANGUAGE] || !opt[OPT_INPUT] ||
!opt[OPT_OUTPUT]) {