[8cc501] | 1 | # -*- mode: cmake; -*- |
---|
| 2 | |
---|
| 3 | # Macros used for modgen |
---|
| 4 | function(sing_create_pathname GEN_FILE) |
---|
| 5 | |
---|
| 6 | message("create pathnames.h...") |
---|
| 7 | # set(${GEN_FILE} ${INFILE} PARENT_SCOPE) |
---|
| 8 | set(_GEN_FILE "${CMAKE_CURRENT_BINARY_DIR}/pathnames.h") |
---|
| 9 | # file(WRITE filename "/* |
---|
| 10 | #* |
---|
| 11 | #*/ |
---|
| 12 | # |
---|
| 13 | #define TOPSRCDIR \"$(topsrcdir)\" |
---|
| 14 | #define SINGUNAME \"$(SINGUNAME)\" |
---|
| 15 | #") |
---|
| 16 | |
---|
| 17 | add_custom_command(OUTPUT ${_GEN_FILE} |
---|
| 18 | COMMAND echo "/\*" > ${_GEN_FILE} |
---|
| 19 | COMMAND echo " \*" >> ${_GEN_FILE} |
---|
| 20 | COMMAND echo " \*/" >> ${_GEN_FILE} |
---|
| 21 | COMMAND echo "" >> ${_GEN_FILE} |
---|
| 22 | COMMAND echo "#define TOPSRCDIR \"$(topsrcdir)\"" >> ${_GEN_FILE} |
---|
| 23 | COMMAND echo "#define SINGUNAME \"$(SINGUNAME)\"" >> ${_GEN_FILE} |
---|
| 24 | COMMENT "Creatting '${_GEN_FILE}'..." |
---|
| 25 | ) |
---|
| 26 | message(STATUS "argv: ${ARGV}") |
---|
| 27 | message(STATUS "argn: ${ARGC}") |
---|
| 28 | message(STATUS "argn: '${ARGN}'") |
---|
| 29 | |
---|
| 30 | |
---|
| 31 | set(${GEN_FILE} ${_GEN_FILE} PARENT_SCOPE) |
---|
| 32 | endfunction() |
---|
| 33 | |
---|
| 34 | function(sing_create_decl GEN_FILE GRAMMAR_H TOK_H) |
---|
| 35 | |
---|
| 36 | message("sing_create_decl...") |
---|
| 37 | set(_GEN_FILE "${CMAKE_CURRENT_BINARY_DIR}/decl.inc") |
---|
| 38 | add_custom_command(OUTPUT ${_GEN_FILE} |
---|
| 39 | COMMAND echo "/* declaration for modgen.cc */" > ${GEN_FILE} |
---|
| 40 | COMMAND grep "^#define" ${GRAMMAR_H} | awk |
---|
| 41 | '{print "\tcase "$$2": strcpy(name,\""$$2"\"); break;"}' >> ${_GEN_FILE} |
---|
| 42 | COMMAND echo "" >> ${_GEN_FILE} |
---|
| 43 | COMMAND echo "/* declaration from tok.h */" >> ${_GEN_FILE} |
---|
| 44 | COMMAND grep "^ [A-Z_]*," ../../Singular/tok.h | sed "s/,//g" | awk |
---|
| 45 | '{print "\tcase "$$1": strcpy(name,\""$$1"\"); break;"}'>>${_GEN_FILE} |
---|
| 46 | DEPENDS ${GRAMMAR_H} |
---|
| 47 | COMMENT "Compiling '${GRAMMAR_H}'..." |
---|
| 48 | ) |
---|
| 49 | message(STATUS "argv: ${ARGV}") |
---|
| 50 | message(STATUS "argn: ${ARGC}") |
---|
| 51 | message(STATUS "argn: '${ARGN}'") |
---|
| 52 | |
---|
| 53 | |
---|
| 54 | set(${GEN_FILE} ${_GEN_FILE} PARENT_SCOPE) |
---|
| 55 | endfunction() |
---|