diff options
Diffstat (limited to 'CMakeScripts/UseGlibMarshal.cmake')
| -rw-r--r-- | CMakeScripts/UseGlibMarshal.cmake | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/CMakeScripts/UseGlibMarshal.cmake b/CMakeScripts/UseGlibMarshal.cmake index c9481a4f6..8fabcaa38 100644 --- a/CMakeScripts/UseGlibMarshal.cmake +++ b/CMakeScripts/UseGlibMarshal.cmake @@ -9,32 +9,32 @@ # GLIB_MARSHAL_OUTPUT_CPP - Result of Generation # GLIB_MARSHAL_OUTPUT_LOCATION - Where we are putting the Output -FIND_PROGRAM(GLIB_MARSHAL_EXECUTABLE NAMES glib-genmarshal PATHS /usr/local/bin ) +find_program(GLIB_MARSHAL_EXECUTABLE NAMES glib-genmarshal PATHS /usr/local/bin ) -MACRO(GLIB_MARSHAL GLIB_MARSHAL_PREFIX GLIB_MARSHAL_FILE GLIB_MARSHAL_OUTPUT_LOCATION) - IF(GLIB_MARSHAL_EXECUTABLE) - SET(GLIB_MARSHAL_OUTPUT_EXTRA_LINE "#include \"${GLIB_MARSHAL_FILE}.h\" \n" ) +macro(GLIB_MARSHAL GLIB_MARSHAL_PREFIX GLIB_MARSHAL_FILE GLIB_MARSHAL_OUTPUT_LOCATION) + if(GLIB_MARSHAL_EXECUTABLE) + set(GLIB_MARSHAL_OUTPUT_EXTRA_LINE "#include \"${GLIB_MARSHAL_FILE}.h\" \n" ) - MESSAGE(STATUS "Generating header and sourcefiles from ${GLIB_MARSHAL_FILE}.list (Glib-Marshal)") - EXECUTE_PROCESS(COMMAND ${GLIB_MARSHAL_EXECUTABLE} --prefix=${GLIB_MARSHAL_PREFIX} --header ${CMAKE_CURRENT_SOURCE_DIR}/${GLIB_MARSHAL_FILE}.list - OUTPUT_VARIABLE GLIB_MARSHAL_OUTPUT_HEADER ) - EXECUTE_PROCESS(COMMAND ${GLIB_MARSHAL_EXECUTABLE} --prefix=${GLIB_MARSHAL_PREFIX} --body ${CMAKE_CURRENT_SOURCE_DIR}/${GLIB_MARSHAL_FILE}.list - OUTPUT_VARIABLE GLIB_MARSHAL_OUTPUT_CPP ) + message(STATUS "Generating header and sourcefiles from ${GLIB_MARSHAL_FILE}.list (Glib-Marshal)") + execute_process(COMMAND ${GLIB_MARSHAL_EXECUTABLE} --prefix=${GLIB_MARSHAL_PREFIX} --header ${CMAKE_CURRENT_SOURCE_DIR}/${GLIB_MARSHAL_FILE}.list + OUTPUT_VARIABLE GLIB_MARSHAL_OUTPUT_HEADER ) + execute_process(COMMAND ${GLIB_MARSHAL_EXECUTABLE} --prefix=${GLIB_MARSHAL_PREFIX} --body ${CMAKE_CURRENT_SOURCE_DIR}/${GLIB_MARSHAL_FILE}.list + OUTPUT_VARIABLE GLIB_MARSHAL_OUTPUT_CPP ) # check whether the generated file is the same as the existing one - IF(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h) - FILE(READ ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h GLIB_MARSHAL_HEADER_OLD) - ELSE() - SET(GLIB_MARSHAL_HEADER_OLD "") - ENDIF() - IF(NOT GLIB_MARSHAL_HEADER_OLD STREQUAL GLIB_MARSHAL_OUTPUT_HEADER) - MESSAGE(STATUS "${GLIB_MARSHAL_FILE}.h changed; overwriting") - FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h "${GLIB_MARSHAL_OUTPUT_HEADER}") - FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.cpp "${GLIB_MARSHAL_OUTPUT_EXTRA_LINE}") - FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.cpp "${GLIB_MARSHAL_OUTPUT_CPP}") - ELSE() - MESSAGE(STATUS "${GLIB_MARSHAL_FILE}.h unchanged") - ENDIF() - ENDIF() -ENDMACRO() + if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h) + file(READ ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h GLIB_MARSHAL_HEADER_OLD) + else() + set(GLIB_MARSHAL_HEADER_OLD "") + endif() + if(NOT GLIB_MARSHAL_HEADER_OLD STREQUAL GLIB_MARSHAL_OUTPUT_HEADER) + message(STATUS "${GLIB_MARSHAL_FILE}.h changed; overwriting") + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h "${GLIB_MARSHAL_OUTPUT_HEADER}") + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.cpp "${GLIB_MARSHAL_OUTPUT_EXTRA_LINE}") + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.cpp "${GLIB_MARSHAL_OUTPUT_CPP}") + else() + message(STATUS "${GLIB_MARSHAL_FILE}.h unchanged") + endif() + endif() +endmacro() |
