@ -724,21 +724,41 @@ if(USE_GETTEXT_FROM_VCPKG)
endif ( )
find_package ( Gettext )
if ( Gettext_FOUND )
file ( MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/assets" )
foreach ( lang ${ devilutionx_langs } )
GETTEXT_PROCESS_PO_FILES ( ${ lang } ALL PO_FILES ${ CMAKE_CURRENT_LIST_DIR } /Translations/ ${ lang } .po )
list ( APPEND devilutionx_TRANSLATIONS ${ CMAKE_CURRENT_BINARY_DIR } / ${ lang } .gmo )
set ( _po_file "${DevilutionX_SOURCE_DIR}/Translations/${lang}.po" )
set ( _gmo_file "${CMAKE_CURRENT_BINARY_DIR}/assets/${lang}.gmo" )
set ( _lang_target devilutionx_lang_ ${ lang } )
add_custom_command (
C O M M A N D " $ { G E T T E X T _ M S G F M T _ E X E C U T A B L E } " - o " $ { _ g m o _ f i l e } " " $ { _ p o _ f i l e } "
W O R K I N G _ D I R E C T O R Y " $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } "
O U T P U T " $ { _ g m o _ f i l e } "
M A I N _ D E P E N D E N C Y " $ { _ p o _ f i l e } "
V E R B A T I M
)
add_custom_target ( "${_lang_target}" DEPENDS "${_gmo_file}" )
list ( APPEND devilutionx_lang_targets "${_lang_target}" )
list ( APPEND devilutionx_lang_files "${_gmo_file}" )
if ( ANDROID )
set ( _android_asset "${DevilutionX_SOURCE_DIR}/android-project/app/src/main/assets/${lang}.gmo" )
add_custom_command (
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y " $ { _ g m o _ f i l e } " " $ { _ a n d r o i d _ a s s e t } "
O U T P U T " $ { _ a n d r o i d _ a s s e t } "
M A I N _ D E P E N D E N C Y " $ { _ g m o _ f i l e } "
D E P E N D S " $ { _ l a n g _ t a r g e t } "
V E R B A T I M
)
list ( APPEND _devilutionx_android_lang_files "${_android_asset}" )
endif ( )
if ( VITA )
list ( APPEND VITA_TRANSLATIONS_LIST "FILE" "${CMAKE_CURRENT_BINARY_DIR}/${lang}.gmo" "assets/${lang}.gmo" )
list ( APPEND VITA_TRANSLATIONS_LIST "FILE" "${_gmo_file} " "assets/${lang}.gmo" )
endif ( )
endforeach ( lang )
if ( ANDROID )
add_custom_target ( copy_translations ALL
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y $ { d e v i l u t i o n x _ T R A N S L A T I O N S } $ { D e v i l u t i o n X _ S O U R C E _ D I R } / a n d r o i d - p r o j e c t / a p p / s r c / m a i n / a s s e t s
D E P E N D S $ { d e v i l u t i o n x _ T R A N S L A T I O N S } )
endforeach ( )
add_dependencies ( ${ BIN_TARGET } copy_translations )
if ( ANDROID )
add_custom_target ( deviliutionx_android_copy_translations DEPENDS ${ _devilutionx_android_lang_files } )
add_dependencies ( ${ BIN_TARGET } deviliutionx_android_copy_translations )
endif ( )
endif ( )
@ -854,8 +874,8 @@ set(devilutionx_assets
foreach ( asset_file ${ devilutionx_assets } )
set ( src "${CMAKE_CURRENT_SOURCE_DIR}/Packaging/resources/assets/${asset_file}" )
set ( dst "${CMAKE_CURRENT_BINARY_DIR}/assets/${asset_file}" )
list ( APPEND DEVILUTIONX_MPQ_FILES ${ asset_file } )
list ( APPEND DEVILUTIONX_OUTPUT_ASSETS_FILES ${ dst } )
list ( APPEND DEVILUTIONX_MPQ_FILES "${asset_file}" )
list ( APPEND DEVILUTIONX_OUTPUT_ASSETS_FILES "${dst}" )
add_custom_command (
C O M M E N T " C o p y i n g $ { a s s e t _ f i l e } "
O U T P U T " $ { d s t } "
@ -865,16 +885,7 @@ foreach(asset_file ${devilutionx_assets})
endforeach ( )
if ( Gettext_FOUND )
foreach ( lang ${ devilutionx_langs } )
set ( src "${CMAKE_CURRENT_BINARY_DIR}/${lang}.gmo" )
set ( dst "${CMAKE_CURRENT_BINARY_DIR}/assets/${lang}.gmo" )
list ( APPEND DEVILUTIONX_MPQ_FILES ${ lang } .gmo )
list ( APPEND DEVILUTIONX_OUTPUT_ASSETS_FILES ${ dst } )
add_custom_command (
C O M M E N T " C o p y i n g $ { l a n g } . g m o "
O U T P U T " $ { d s t } "
D E P E N D S " $ { s r c } "
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y " $ { s r c } " " $ { d s t } "
V E R B A T I M )
list ( APPEND DEVILUTIONX_MPQ_FILES "${lang}.gmo" )
endforeach ( )
endif ( )
@ -886,11 +897,13 @@ if(BUILD_ASSETS_MPQ)
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e - f " $ { D E V I L U T I O N X _ M P Q } "
C O M M A N D $ { S M P Q } - M 1 - C P K W A R E - c " $ { D E V I L U T I O N X _ M P Q } " $ { D E V I L U T I O N X _ M P Q _ F I L E S }
W O R K I N G _ D I R E C T O R Y " $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / a s s e t s "
D E P E N D S $ { D E V I L U T I O N X _ O U T P U T _ A S S E T S _ F I L E S }
D E P E N D S $ { D E V I L U T I O N X _ O U T P U T _ A S S E T S _ F I L E S } $ { d e v i l u t i o n x _ l a n g _ t a r g e t s } $ { d e v i l u t i o n x _ l a n g _ f i l e s }
V E R B A T I M )
add_custom_target ( devilutionx_mpq ALL DEPENDS "${DEVILUTIONX_MPQ}" )
add_custom_target ( devilutionx_mpq DEPENDS "${DEVILUTIONX_MPQ}" )
add_dependencies ( ${ BIN_TARGET } devilutionx_mpq )
else ( )
add_custom_target ( devilutionx_copied_assets ALL DEPENDS ${ DEVILUTIONX_OUTPUT_ASSETS_FILES } )
add_custom_target ( devilutionx_copied_assets DEPENDS ${ DEVILUTIONX_OUTPUT_ASSETS_FILES } ${ devilutionx_lang_targets } )
add_dependencies ( ${ BIN_TARGET } devilutionx_copied_assets )
endif ( )
target_include_directories ( libdevilutionx PUBLIC