file(GLOB LANGUAGES *.po)
add_custom_target(locales ALL)
foreach(language ${LANGUAGES})
    string(REGEX REPLACE "(.+(\\\\|/))+" "" language ${language})
    string(REGEX REPLACE "\\.po$" "" language ${language})
    set(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${language}.po)
    set(mofile ${DARKTABLE_LOCALEDIR}/${language}/LC_MESSAGES/${CMAKE_PROJECT_NAME}.mo)
    file(MAKE_DIRECTORY ${DARKTABLE_LOCALEDIR}/${language}/LC_MESSAGES)
    add_custom_command(OUTPUT ${mofile}
                       COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -v -c "${pofile}" -o ${mofile}
                       MAIN_DEPENDENCY ${pofile}
                       COMMENT "Building ${language} locale"
                       VERBATIM)
    string(REPLACE "@" "-" locale_target locale_${language})
    add_custom_target(${locale_target} ALL DEPENDS ${mofile})  # Make sure the mofiles are always built
    add_dependencies(locales ${locale_target})
    install(FILES ${mofile}
            DESTINATION ${CMAKE_INSTALL_LOCALEDIR}/${language}/LC_MESSAGES
            COMPONENT DTApplication)
endforeach(language)
