mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-06 11:36:59 +03:00
52 lines
2.6 KiB
CMake
52 lines
2.6 KiB
CMake
cmake_minimum_required(VERSION 3.5)
|
|
set(EXTRA_COMPONENT_DIRS components/platform_console/app_recovery components/platform_console/app_squeezelite )
|
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
|
message(WARNING "Building RECOVERY")
|
|
|
|
project(recovery)
|
|
set_property(TARGET recovery.elf PROPERTY RECOVERY_BUILD 0 )
|
|
set_property(TARGET recovery.elf PROPERTY RECOVERY_PREFIX app_recovery )
|
|
|
|
#
|
|
#message(WARNING "Building SQUEEZELITE")
|
|
#set(project_name squeezelite)
|
|
#__project(${project_name} C CXX ASM)
|
|
#
|
|
set(squeezelite_project_elf squeezelite.elf)
|
|
#
|
|
# # Create a dummy file to work around CMake requirement of having a source
|
|
# # file while adding an executable
|
|
set(squeezelite_project_elf_src ${CMAKE_BINARY_DIR}/squeezelite_project_elf_src.c)
|
|
add_custom_command(OUTPUT ${squeezelite_project_elf_src}
|
|
COMMAND ${CMAKE_COMMAND} -E touch ${squeezelite_project_elf_src}
|
|
VERBATIM)
|
|
|
|
|
|
add_custom_command(OUTPUT "${build_dir}/.squeezelite_bin_timestamp"
|
|
COMMAND echo ${ESPTOOLPY} elf2image ${ESPTOOLPY_FLASH_OPTIONS} ${esptool_elf2image_args}
|
|
COMMAND ${ESPTOOLPY} elf2image ${ESPTOOLPY_FLASH_OPTIONS} ${esptool_elf2image_args}
|
|
-o "${build_dir}/squeezelite.bin" "squeezelite.elf"
|
|
COMMAND ${CMAKE_COMMAND} -E echo "Generated ${build_dir}/squeezelite.bin"
|
|
COMMAND ${CMAKE_COMMAND} -E md5sum "${build_dir}/squeezelite.bin" > "${build_dir}/.squeezelite_bin_timestamp"
|
|
VERBATIM
|
|
WORKING_DIRECTORY ${build_dir}
|
|
COMMENT "Generating binary image from built executable"
|
|
)
|
|
|
|
add_custom_target(_squeezelite_project_elf_src DEPENDS "${squeezelite_project_elf_src}" "${build_dir}/.squeezelite_bin_timestamp")
|
|
add_executable(${squeezelite_project_elf} "${squeezelite_project_elf_src}")
|
|
add_dependencies(${squeezelite_project_elf} _squeezelite_project_elf_src)
|
|
set_property(TARGET ${squeezelite_project_elf} PROPERTY RECOVERY_BUILD 0 )
|
|
set_property(TARGET ${squeezelite_project_elf} PROPERTY RECOVERY_PREFIX app_squeezelite)
|
|
|
|
idf_build_get_property(bca BUILD_COMPONENT_ALIASES)
|
|
target_link_libraries(${squeezelite_project_elf} ${bca})
|
|
set(squeezelite_mapfile "${CMAKE_BINARY_DIR}/squeezelite.map")
|
|
target_link_libraries(${squeezelite_project_elf} "-Wl,--cref -Wl,--Map=${squeezelite_mapfile}")
|
|
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" APPEND PROPERTY
|
|
ADDITIONAL_MAKE_CLEAN_FILES
|
|
"${squeezelite_mapfile}" "${squeezelite_project_elf_src}")
|
|
|
|
partition_table_get_partition_info(otaapp_offset "--partition-type app --partition-subtype ota_0" "offset")
|
|
esptool_py_flash_project_args(squeezelite ${otaapp_offset} ${build_dir}/squeezelite.bin FLASH_IN_PROJECT)
|