@ -13,129 +13,40 @@ config = configure_file(
# Copy the config.rs output to the source directory.
run_command (
'cp' ,
meson . build_root ( ) / 'src' / 'config.rs' ,
meson . source_root ( ) / 'src' / 'config.rs' ,
meson . project_ build_root( ) / 'src' / 'config.rs' ,
meson . project_ source_root( ) / 'src' / 'config.rs' ,
check : true
)
sources = files (
'application.rs' ,
'contrib/qr_code.rs' ,
'contrib/qr_code_scanner/camera_paintable.rs' ,
'contrib/qr_code_scanner/mod.rs' ,
'contrib/qr_code_scanner/screenshot.rs' ,
'contrib/qr_code_scanner/qr_code_detector.rs' ,
'components/avatar.rs' ,
'components/auth_dialog.rs' ,
'components/badge.rs' ,
'components/context_menu_bin.rs' ,
'components/custom_entry.rs' ,
'components/label_with_widgets.rs' ,
'components/mod.rs' ,
'components/pill.rs' ,
'components/room_title.rs' ,
'components/in_app_notification.rs' ,
'components/spinner_button.rs' ,
'components/loading_listbox_row.rs' ,
'components/video_player.rs' ,
'config.rs' ,
'error.rs' ,
'main.rs' ,
'window.rs' ,
'login.rs' ,
'secret.rs' ,
'user_facing_error.rs' ,
'utils.rs' ,
'session/avatar.rs' ,
'session/event_source_dialog.rs' ,
'session/account_settings/devices_page/device.rs' ,
'session/account_settings/devices_page/device_row.rs' ,
'session/account_settings/devices_page/device_list.rs' ,
'session/account_settings/devices_page/mod.rs' ,
'session/account_settings/mod.rs' ,
'session/user.rs' ,
'session/mod.rs' ,
'session/content/explore/mod.rs' ,
'session/content/explore/public_room.rs' ,
'session/content/explore/public_room_list.rs' ,
'session/content/explore/public_room_row.rs' ,
'session/content/invite.rs' ,
'session/content/markdown_popover.rs' ,
'session/content/room_history/divider_row.rs' ,
'session/content/room_history/item_row.rs' ,
'session/content/room_history/message_row/file.rs' ,
'session/content/room_history/message_row/media.rs' ,
'session/content/room_history/message_row/mod.rs' ,
'session/content/room_history/message_row/text.rs' ,
'session/content/room_history/mod.rs' ,
'session/content/room_history/state_row/creation.rs' ,
'session/content/room_history/state_row/mod.rs' ,
'session/content/room_history/state_row/tombstone.rs' ,
'session/content/room_history/verification_info_bar.rs' ,
'session/content/mod.rs' ,
'session/content/room_details/invite_subpage/invitee.rs' ,
'session/content/room_details/invite_subpage/mod.rs' ,
'session/content/room_details/invite_subpage/invitee_list.rs' ,
'session/content/room_details/invite_subpage/invitee_row.rs' ,
'session/content/room_details/member_page/mod.rs' ,
'session/content/room_details/member_page/member_row.rs' ,
'session/content/room_details/member_page/member_menu.rs' ,
'session/content/room_details/mod.rs' ,
'session/content/verification/emoji.rs' ,
'session/content/verification/mod.rs' ,
'session/content/verification/identity_verification_widget.rs' ,
'session/content/verification/session_verification.rs' ,
'session/media_viewer.rs' ,
'session/room/event.rs' ,
'session/room/event_actions.rs' ,
'session/room/highlight_flags.rs' ,
'session/room/item.rs' ,
'session/room/member.rs' ,
'session/room/member_list.rs' ,
'session/room/member_role.rs' ,
'session/room/mod.rs' ,
'session/room/power_levels.rs' ,
'session/room/room_type.rs' ,
'session/room_list.rs' ,
'session/room/timeline.rs' ,
'session/room_creation/mod.rs' ,
'session/sidebar/item_list.rs' ,
'session/sidebar/category.rs' ,
'session/sidebar/category_row.rs' ,
'session/sidebar/mod.rs' ,
'session/sidebar/row.rs' ,
'session/sidebar/room_row.rs' ,
'session/sidebar/entry.rs' ,
'session/sidebar/entry_row.rs' ,
'session/sidebar/entry_type.rs' ,
'session/sidebar/verification_row.rs' ,
'session/sidebar/selection.rs' ,
'session/sidebar/account_switcher/add_account.rs' ,
'session/sidebar/account_switcher/avatar_with_selection.rs' ,
'session/sidebar/account_switcher/item.rs' ,
'session/sidebar/account_switcher/mod.rs' ,
'session/sidebar/account_switcher/user_entry.rs' ,
'session/sidebar/category_type.rs' ,
'session/verification/mod.rs' ,
'session/verification/identity_verification.rs' ,
'session/verification/verification_list.rs' ,
)
cargo_options = [ '--manifest-path' , meson . project_source_root ( ) / 'Cargo.toml' ]
cargo_options + = [ '--target-dir' , meson . project_build_root ( ) / 'src' ]
if get_option ( 'profile' ) == 'default'
cargo_options + = [ '--release' ]
rust_target = 'release'
message ( 'Building in release mode' )
else
rust_target = 'debug'
message ( 'Building in debug mode' )
endif
cargo_env = [ 'CARGO_HOME=' + meson . project_build_root ( ) / 'cargo-home' ]
custom_target (
cargo_build = custom_target (
'cargo-build' ,
build_by_default : not get_option ( 'skip-cargo-build' ) ,
input : sources ,
build_by_default : true ,
build_always_stale : true ,
output : meson . project_name ( ) ,
console : true ,
install : true ,
install_dir : bindir ,
depends : resources ,
command : [
cargo_script ,
meson . build_root ( ) ,
meson . source_root ( ) ,
'@OUTPUT@' ,
profile ,
meson . project_name ( ) ,
'env' ,
cargo_env ,
cargo , 'build' ,
cargo_options ,
'&&' ,
'cp' , 'src' / rust_target / meson . project_name ( ) , '@OUTPUT@' ,
]
)