[CMake] Add a simple suffix rule to makefile via cmake?
James Bigler
bigler at cs.utah.edu
Tue Jan 15 08:51:40 EST 2008
Christopher Lang wrote:
> Hi,
>
> is it possible to add a custom suffix rule to a makefile like:
>
> .po.mo:
> $(MSGFMT) -o $@ $<
>
>
> Will the following do?
>
> ADD_CUSTOM_TARGET (.po.mo
> ...
> )
This would be nice, but the feature doesn't exist as far as I know. You
could accomplish something similar (but not as handy) with a macro:
MACRO(ADD_PO_MO_TARGET _file)
# You'll need to figure out how to make the output name. See
# documentation for STRING and GET_FILENAME_COMPONENT.
# CMAKE_CURRENT_BINARY_DIR and CMAKE_CURRENT_SOURCE_DIR are also
# useful variables to consider
STRING(REPLACE .po .mo output_name)
# You want ADD_CUSTOM_COMMAND instead of ADD_CUSTOM_TARGET since this
# will produce an output file.
ADD_CUSTOM_COMMAND(OUTPUT ${output_name}
COMMAND ${MSGFMT} ARGS -o ${output_name} ${_file}
DEPENDS ${_file}
COMMENT "Compiling ${output_name} from ${_file}"
)
ENDMACRO(ADD_PO_MO_TARGET)
Just call the macro now for ever .po file in your system. This could be
facilitated with a for loop.
James
More information about the CMake
mailing list