Browse Source

Get version/dir from bootstrap, add pyelftools

VintagePC 1 year ago
parent
commit
9001d98061
3 changed files with 10 additions and 10 deletions
  1. 8 7
      CMakeLists.txt
  2. 1 2
      cmake/LocalAvrGcc.cmake
  3. 1 1
      utils/bootstrap.py

+ 8 - 7
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 :)
     )
 

+ 1 - 2
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

+ 1 - 1
utils/bootstrap.py

@@ -61,7 +61,7 @@ dependencies = {
         }
     },
 }
-pip_dependencies = []
+pip_dependencies = ["pyelftools"]
 # yapf: enable