set(ADD_VERSION_FILE_DIR "${CMAKE_CURRENT_LIST_DIR}") function(add_version_file OUTPUT TEMPLATE) add_custom_target( ${OUTPUT} ALL BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT}" DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" COMMAND cmake -DCMAKE_MODULE_PATH='${ADD_VERSION_FILE_DIR}' -DOUTPUT='${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT}' -DTEMPLATE='${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE}' -P "${ADD_VERSION_FILE_DIR}/generate_version_file.cmake") endfunction()