-macro (MADMUTT_SOURCES _result _gen)
- foreach (_current_FILE ${ARGN})
- get_filename_component(_ext ${_current_FILE} EXT)
- get_filename_component(_abs ${_current_FILE} ABSOLUTE)
- get_filename_component(_basename ${_current_FILE} NAME_WE)
- get_filename_component(_basename ${_current_FILE} NAME_WE)
- set(_li ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.li)
- set(_h ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h)
- set(_c ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.c)
- if (_ext STREQUAL ".cpkg")
- add_custom_command(
- OUTPUT ${_li} ${_c}
- MAIN_DEPENDENCY ${_abs}
- COMMAND ${madmutt_SOURCE_DIR}/tools/cpkg2c ${_abs} ${_li} ${_c}
- COMMENT "Preprocessing ${_abs}"
- )
- list(APPEND ${_result} ${_li} ${_c})
- list(APPEND ${_gen} ${_li} ${_c})
- else (_ext STREQUAL ".cpkg")
- if (_ext STREQUAL ".gperf")
- add_custom_command(
- OUTPUT ${_h}
- MAIN_DEPENDENCY ${_abs}
- COMMAND sh ${_abs} ${_h} || \(${RM} ${_h}; exit 1\)
- COMMENT "Generating ${_h} from ${_abs}"
- )
- add_custom_command(
- OUTPUT ${_c}
- MAIN_DEPENDENCY ${_abs}
- COMMAND sh ${_abs} ${_c} || \(${RM} ${_c}; exit 1\)
- COMMENT "Generating ${_c} from ${_abs}"
- )
- list(APPEND ${_result} ${_h} ${_c})
- list(APPEND ${_gen} ${_h} ${_c})
- else (_ext STREQUAL ".gperf")
- list(APPEND ${_result} ${_current_FILE})
- endif (_ext STREQUAL ".gperf")
- endif (_ext STREQUAL ".cpkg")
- endforeach(_current_FILE)
-endmacro (MADMUTT_SOURCES)
-