~aleteoryx/muditaos

059d6daf96b15db992a3c9b038ce3917a7b42a20 — Paweł Joński 3 years ago f8d4fd0
[BH-1454] Remove binary dependencies from linux build

Remove binary dependencies from linux build
M cmake/modules/AddVersionJson.cmake => cmake/modules/AddVersionJson.cmake +21 -2
@@ 1,8 1,8 @@
function(add_version_json SOURCE_TARGET)
function(add_version_rt1051_json SOURCE_TARGET)
    add_custom_command(OUTPUT ${SOURCE_TARGET}-version.json
        COMMAND ${CMAKE_COMMAND}
            -DSRC_DIR=${CMAKE_SOURCE_DIR}
            -DSRC_FILE=${CMAKE_SOURCE_DIR}/config/version.json.cmake_template
            -DSRC_FILE=${CMAKE_SOURCE_DIR}/config/version_rt1051.json.cmake_template
            -DDST_FILE=${CMAKE_BINARY_DIR}/${SOURCE_TARGET}-version.json
            -DBOOTLOADER_FILENAME=ecoboot.bin
            -DBOOTLOADER_FILE=${CMAKE_BINARY_DIR}/ecoboot.bin


@@ 28,3 28,22 @@ function(add_version_json SOURCE_TARGET)

    multicomp_install(FILES ${CMAKE_BINARY_DIR}/${SOURCE_TARGET}-version.json DESTINATION "./" RENAME "version.json" COMPONENTS Standalone Update)
endfunction()

function(add_version_linux_json SOURCE_TARGET)
    add_custom_command(OUTPUT ${SOURCE_TARGET}-version.json
        COMMAND ${CMAKE_COMMAND}
            -DSRC_DIR=${CMAKE_SOURCE_DIR}
            -DSRC_FILE=${CMAKE_SOURCE_DIR}/config/version_linux.json.cmake_template
            -DDST_FILE=${CMAKE_BINARY_DIR}/${SOURCE_TARGET}-version.json
            -DOS_VERSION_MAJOR=${OS_VERSION_MAJOR}
            -DOS_VERSION_MINOR=${OS_VERSION_MINOR}
            -DOS_VERSION_PATCH=${OS_VERSION_PATCH}
            -DOS_VERSION_LABEL=${OS_VERSION_LABEL}
            -B ${CMAKE_BINARY_DIR}
            -P ${CMAKE_SOURCE_DIR}/cmake/modules/ConfigureVersionJson.cmake
    )

    add_custom_target(${SOURCE_TARGET}-version.json-target DEPENDS ${SOURCE_TARGET}-version.json)

    multicomp_install(FILES ${CMAKE_BINARY_DIR}/${SOURCE_TARGET}-version.json DESTINATION "./" RENAME "version.json" COMPONENTS Standalone Update)
endfunction()

M cmake/modules/ConfigureVersionJson.cmake => cmake/modules/ConfigureVersionJson.cmake +9 -3
@@ 1,9 1,15 @@
list(APPEND CMAKE_MODULE_PATH "${SRC_DIR}/cmake/modules")
include(Version)

file(MD5 ${BOOTLOADER_FILE} BOOTLOADER_MD5SUM)
file(MD5 ${BOOT_FILE} BOOT_MD5SUM)
file(MD5 ${UPDATER_FILE} UPDATER_MD5SUM)
if (NOT ${BOOTLOADER_FILE} STREQUAL "")
    file(MD5 ${BOOTLOADER_FILE} BOOTLOADER_MD5SUM)
endif()
if (NOT ${BOOT_FILE} STREQUAL "")
    file(MD5 ${BOOT_FILE} BOOT_MD5SUM)
endif()
if (NOT ${UPLOADER_FILE} STREQUAL "")
    file(MD5 ${UPDATER_FILE} UPDATER_MD5SUM)
endif()

message("Configuring version.json file")
configure_file(${SRC_FILE} ${DST_FILE} @ONLY)

A config/version_linux.json.cmake_template => config/version_linux.json.cmake_template +11 -0
@@ 0,0 1,11 @@
{
    "git":
    {
        "git_branch": "@GIT_BRANCH@",
        "git_commit": "@GIT_REV@"
    },
    "version":
    {
        "version": "@PROJECT_VERSION@"
    }
}

A config/version_rt1051.json.cmake_template => config/version_rt1051.json.cmake_template +29 -0
@@ 0,0 1,29 @@
{
    "git":
    {
        "git_branch": "@GIT_BRANCH@",
        "git_commit": "@GIT_REV@"
    },
    "version":
    {
        "version": "@PROJECT_VERSION@"
    },
    "bootloader":
    {
        "version":  "@ECOBOOT_BIN_VERSION@",
        "filename": "@BOOTLOADER_FILENAME@",
        "md5sum":   "@BOOTLOADER_MD5SUM@"
    },
    "boot":
    {
        "version":  "@OS_VERSION_MAJOR@.@OS_VERSION_MINOR@.@OS_VERSION_PATCH@",
        "filename": "@BOOT_FILENAME@",
        "md5sum":   "@BOOT_MD5SUM@"
    },
    "updater":
    {
        "version":  "@UPDATER_BIN_VERSION@",
        "filename": "@UPDATER_FILENAME@",
        "md5sum":   "@UPDATER_MD5SUM@"
    }
}

M products/BellHybrid/CMakeLists.txt => products/BellHybrid/CMakeLists.txt +20 -15
@@ 72,25 72,32 @@ if (${PROJECT_TARGET} STREQUAL "TARGET_Linux")
    add_dependencies(BellHybrid service_renderer)
endif()

if (${PROJECT_TARGET} STREQUAL "TARGET_RT1051")
    set(LUTSBIN "Luts.bin")
else()
    set(LUTSBIN "")
endif()

set_source_files_properties(BellHybridMain.cpp PROPERTIES COMPILE_DEFINITIONS "${ENABLED_APPS_DEFINES}")

strip_executable(BellHybrid)

include(AddBootBin)
add_boot_bin(BellHybrid)
include(AddVersionJson)

add_image(
    PRODUCT BellHybrid
    SYSROOT sysroot
    LUTS ${LUTSBIN}
    DEPENDS assets updater.bin-target ecoboot.bin-target BellHybrid-boot.bin BellHybrid-version.json-target
)
if (${PROJECT_TARGET} STREQUAL "TARGET_RT1051")
    include(AddBootBin)
    add_boot_bin(BellHybrid)
    add_image(
        PRODUCT BellHybrid
        SYSROOT sysroot
        LUTS Luts.bin
        DEPENDS assets updater.bin-target ecoboot.bin-target BellHybrid-boot.bin BellHybrid-version.json-target
    )
    add_version_rt1051_json(BellHybrid)
else()
    add_image(
        PRODUCT BellHybrid
        SYSROOT sysroot
        LUTS ""
        DEPENDS assets BellHybrid-version.json-target
    )
    add_version_linux_json(BellHybrid)
endif()

include(AddHexTarget)
add_hex_target(BellHybrid)


@@ 127,8 134,6 @@ download_asset_json(json-rt1051-target
download_asset_release(PureUpdater_RT.bin updater.bin PureUpdater ${UPDATER_BIN_VERSION}  ${MUDITA_CACHE_DIR})
download_asset_release(ecoboot.bin ecoboot.bin ecoboot ${ECOBOOT_BIN_VERSION}  ${MUDITA_CACHE_DIR})

include(AddVersionJson)
add_version_json(BellHybrid)

add_standalone_image(BellHybrid)
add_update_package(BellHybrid)

M products/PurePhone/CMakeLists.txt => products/PurePhone/CMakeLists.txt +23 -15
@@ 89,11 89,6 @@ if (${PROJECT_TARGET} STREQUAL "TARGET_Linux")
    add_dependencies(Pure service_renderer)
endif()

if (${PROJECT_TARGET} STREQUAL "TARGET_RT1051")
    set(LUTSBIN "Luts.bin")
else()
    set(LUTSBIN "")
endif()

# set special main.cpp file properties
set_property(


@@ 108,15 103,29 @@ strip_executable(PurePhone)

message_serial_status()

include(AddBootBin)
add_boot_bin(PurePhone)

add_image(
    PRODUCT PurePhone
    SYSROOT sysroot
    LUTS ${LUTSBIN}
    DEPENDS assets updater.bin-target ecoboot.bin-target PurePhone-boot.bin PurePhone-version.json-target
)
include(AddVersionJson)

if (${PROJECT_TARGET} STREQUAL "TARGET_RT1051")
    include(AddBootBin)
    add_boot_bin(PurePhone)
    add_image(
        PRODUCT PurePhone
        SYSROOT sysroot
        LUTS Luts.bin
        DEPENDS assets updater.bin-target ecoboot.bin-target PurePhone-boot.bin PurePhone-version.json-target
    )
    add_version_rt1051_json(PurePhone)
else()
    add_image(
        PRODUCT PurePhone
        SYSROOT sysroot
        LUTS ""
        DEPENDS assets PurePhone-version.json-target
    )
    add_version_linux_json(PurePhone)
endif()


include(AddHexTarget)
add_hex_target(PurePhone)


@@ 150,11 159,10 @@ download_asset_json(json-rt1051-target
                            MuditaOSAssets
                            ${MUDITA_CACHE_DIR}
    )

download_asset_release(PureUpdater_RT.bin updater.bin PureUpdater ${UPDATER_BIN_VERSION} ${MUDITA_CACHE_DIR})
download_asset_release(ecoboot.bin ecoboot.bin ecoboot ${ECOBOOT_BIN_VERSION} ${MUDITA_CACHE_DIR})

include(AddVersionJson)
add_version_json(PurePhone)

add_standalone_image(PurePhone)
add_update_package(PurePhone)