From 9001d98061a1d2a4107184cc92dd7ab698425691 Mon Sep 17 00:00:00 2001 From: VintagePC <53943260+vintagepc@users.noreply.github.com> Date: Wed, 27 Jul 2022 17:58:58 -0400 Subject: [PATCH] Get version/dir from bootstrap, add pyelftools --- CMakeLists.txt | 15 ++++++++------- cmake/LocalAvrGcc.cmake | 3 +-- utils/bootstrap.py | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c139e6eba..a9a6b2f9e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,8 @@ cmake_minimum_required(VERSION 3.15) include(cmake/Utilities.cmake) set (CMAKE_CXX_STANDARD 11) -set (PRUSA_BOARDS 1.0.5-2) + +get_dependency_directory(prusa3dboards PRUSA_BOARDS_DIR) project(Prusa-Firmware) get_recommended_gcc_version(RECOMMENDED_TOOLCHAIN_VERSION) @@ -76,7 +77,7 @@ endif() # file(GLOB FW_SOURCES RELATIVE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/Firmware/*.c*) file(GLOB FW_HEADERS RELATIVE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/Firmware/*.h*) -file(GLOB AVR_SOURCES RELATIVE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/.dependencies/prusa3dboards-${PRUSA_BOARDS}/cores/prusa_einsy_rambo/*.c*) +file(GLOB AVR_SOURCES RELATIVE ${PROJECT_SOURCE_DIR} ${PRUSA_BOARDS_DIR}/cores/prusa_einsy_rambo/*.c*) # Setup language resources: file(GLOB LANG_VARIANTS RELATIVE ${PROJECT_SOURCE_DIR}/lang/po ${PROJECT_SOURCE_DIR}/lang/po/Firmware_??.po) @@ -86,8 +87,8 @@ message("Languages found: ${LANG_VARIANTS}") add_library(avr_core STATIC ${AVR_SOURCES}) target_include_directories(avr_core PRIVATE - ${PROJECT_SOURCE_DIR}/.dependencies/prusa3dboards-${PRUSA_BOARDS}/cores/prusa_einsy_rambo/ - ${PROJECT_SOURCE_DIR}/.dependencies/prusa3dboards-${PRUSA_BOARDS}/variants/prusa_einsy_rambo/ + ${PRUSA_BOARDS_DIR}/cores/prusa_einsy_rambo/ + ${PRUSA_BOARDS_DIR}/variants/prusa_einsy_rambo/ ) target_compile_options(avr_core PUBLIC -mmcu=atmega2560) @@ -99,7 +100,7 @@ function(fw_add_variant variant_name) # # configure linker script - set(LINKER_SCRIPT ${PROJECT_SOURCE_DIR}/.dependencies/prusa3dboards-${PRUSA_BOARDS}/ldscripts/avr6.xn) + set(LINKER_SCRIPT ${PRUSA_BOARDS_DIR}/ldscripts/avr6.xn) target_link_options(${variant_name} PUBLIC -Wl,-T,${LINKER_SCRIPT}) # limit the text section to 248K (256K - 8k reserved for the bootloader) @@ -126,8 +127,8 @@ function(fw_add_variant variant_name) target_include_directories(${variant_name} PRIVATE Firmware - ${PROJECT_SOURCE_DIR}/.dependencies/prusa3dboards-${PRUSA_BOARDS}/cores/prusa_einsy_rambo/ - ${PROJECT_SOURCE_DIR}/.dependencies/prusa3dboards-${PRUSA_BOARDS}/variants/prusa_einsy_rambo/ + ${PRUSA_BOARDS_DIR}/cores/prusa_einsy_rambo/ + ${PRUSA_BOARDS_DIR}/variants/prusa_einsy_rambo/ ${PROJECT_SOURCE_DIR}/cmake/helpers/ # Add our magic config helper :) ) diff --git a/cmake/LocalAvrGcc.cmake b/cmake/LocalAvrGcc.cmake index e6c94e356..2e89cb492 100644 --- a/cmake/LocalAvrGcc.cmake +++ b/cmake/LocalAvrGcc.cmake @@ -3,8 +3,7 @@ include("${PROJECT_CMAKE_DIR}/Utilities.cmake") set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR avr) set(CMAKE_CROSSCOMPILING 1) -set(AVR_GCC_VERSION 7.3.0) -set(AVR_TOOLCHAIN_DIR "${PROJECT_CMAKE_DIR}/../.dependencies/avr-gcc-${AVR_GCC_VERSION}/") +get_dependency_directory("avr-gcc" AVR_TOOLCHAIN_DIR) message( "tc dir is ${AVR_TOOLCHAIN_DIR}") # # Utilities diff --git a/utils/bootstrap.py b/utils/bootstrap.py index f606aa846..590de4ce8 100755 --- a/utils/bootstrap.py +++ b/utils/bootstrap.py @@ -61,7 +61,7 @@ dependencies = { } }, } -pip_dependencies = [] +pip_dependencies = ["pyelftools"] # yapf: enable