commit
f399e56677
|
|
@ -4,7 +4,7 @@ rm -rf build
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. \
|
cmake .. \
|
||||||
-DCMAKE_TOOLCHAIN_FILE="../cmake/LocalAvrGcc.cmake" \
|
-DCMAKE_TOOLCHAIN_FILE="../cmake/AvrGcc.cmake" \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-G Ninja
|
-G Ninja
|
||||||
ninja ALL_FIRMWARE
|
ninja ALL_FIRMWARE
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "Local_avr-gcc-none-eabi",
|
"name": "avr-gcc",
|
||||||
"toolchainFile": "${workspaceFolder}/cmake/LocalAvrGcc.cmake",
|
"toolchainFile": "${workspaceFolder}/cmake/AvrGcc.cmake",
|
||||||
"cmakeSettings": {
|
"cmakeSettings": {
|
||||||
"CMAKE_MAKE_PROGRAM": "${workspaceFolder}/.dependencies/ninja-1.10.2/ninja",
|
"CMAKE_MAKE_PROGRAM": "${workspaceFolder}/.dependencies/ninja-1.10.2/ninja",
|
||||||
"CMAKE_BUILD_TYPE": "Release"
|
"CMAKE_BUILD_TYPE": "Release"
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ message("Language maximum size (from config.h): ${LANG_MAX_SIZE} bytes")
|
||||||
# Ditto, this in xflash_layout.h but needs invocation of the preprocessor... :-/
|
# Ditto, this in xflash_layout.h but needs invocation of the preprocessor... :-/
|
||||||
set(LANG_BIN_MAX 249856)
|
set(LANG_BIN_MAX 249856)
|
||||||
|
|
||||||
|
# Check GCC Version
|
||||||
get_recommended_gcc_version(RECOMMENDED_TOOLCHAIN_VERSION)
|
get_recommended_gcc_version(RECOMMENDED_TOOLCHAIN_VERSION)
|
||||||
if(CMAKE_CROSSCOMPILING AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL
|
if(CMAKE_CROSSCOMPILING AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL
|
||||||
${RECOMMENDED_TOOLCHAIN_VERSION}
|
${RECOMMENDED_TOOLCHAIN_VERSION}
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,7 @@ get_filename_component(PROJECT_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" DIRECTORY)
|
||||||
include("${PROJECT_CMAKE_DIR}/Utilities.cmake")
|
include("${PROJECT_CMAKE_DIR}/Utilities.cmake")
|
||||||
set(CMAKE_SYSTEM_NAME Generic)
|
set(CMAKE_SYSTEM_NAME Generic)
|
||||||
set(CMAKE_SYSTEM_PROCESSOR avr)
|
set(CMAKE_SYSTEM_PROCESSOR avr)
|
||||||
set(CMAKE_CROSSCOMPILING 1)
|
|
||||||
get_dependency_directory("avr-gcc" AVR_TOOLCHAIN_DIR)
|
|
||||||
message( "tc dir is ${AVR_TOOLCHAIN_DIR}")
|
|
||||||
#
|
#
|
||||||
# Utilities
|
# Utilities
|
||||||
|
|
||||||
|
|
@ -27,6 +25,7 @@ set(TOOLCHAIN_PREFIX avr-)
|
||||||
|
|
||||||
if(AVR_TOOLCHAIN_DIR)
|
if(AVR_TOOLCHAIN_DIR)
|
||||||
# using toolchain set by AvrGcc.cmake (locked version)
|
# using toolchain set by AvrGcc.cmake (locked version)
|
||||||
|
message("ToolChain dir is ${AVR_TOOLCHAIN_DIR}")
|
||||||
set(BINUTILS_PATH "${AVR_TOOLCHAIN_DIR}/bin")
|
set(BINUTILS_PATH "${AVR_TOOLCHAIN_DIR}/bin")
|
||||||
else()
|
else()
|
||||||
# search for ANY avr-gcc toolchain
|
# search for ANY avr-gcc toolchain
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
get_filename_component(PROJECT_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" DIRECTORY)
|
||||||
|
include("${PROJECT_CMAKE_DIR}/Utilities.cmake")
|
||||||
|
get_dependency_directory("avr-gcc" AVR_TOOLCHAIN_DIR)
|
||||||
|
include("${PROJECT_CMAKE_DIR}/AnyAvrGcc.cmake")
|
||||||
|
|
@ -47,9 +47,9 @@ dependencies = {
|
||||||
'avr-gcc': {
|
'avr-gcc': {
|
||||||
'version': '7.3.0',
|
'version': '7.3.0',
|
||||||
'url': {
|
'url': {
|
||||||
'Linux': 'http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-x86_64-pc-linux-gnu.tar.bz2',
|
'Linux': 'https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-3.7.0.1796-linux.any.x86_64.tar.gz',
|
||||||
'Windows': 'http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-i686-w64-mingw32.zip',
|
'Windows': 'https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64.zip',
|
||||||
'Darwin': 'http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-x86_64-apple-darwin14.tar.bz2',
|
'Darwin': 'https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-osx-3.7.0.518-darwin.any.x86_64.tar.gz',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'prusa3dboards': {
|
'prusa3dboards': {
|
||||||
|
|
@ -141,6 +141,15 @@ def install_dependency(dependency):
|
||||||
fix_executable_permissions(dependency, installation_directory)
|
fix_executable_permissions(dependency, installation_directory)
|
||||||
|
|
||||||
|
|
||||||
|
def get_dependency_version(dependency):
|
||||||
|
return dependencies[dependency]['version']
|
||||||
|
|
||||||
|
|
||||||
|
def get_dependency_directory(dependency) -> Path:
|
||||||
|
version = dependencies[dependency]['version']
|
||||||
|
return Path(directory_for_dependency(dependency, version))
|
||||||
|
|
||||||
|
|
||||||
def main() -> int:
|
def main() -> int:
|
||||||
parser = ArgumentParser()
|
parser = ArgumentParser()
|
||||||
# yapf: disable
|
# yapf: disable
|
||||||
|
|
@ -155,8 +164,7 @@ def main() -> int:
|
||||||
|
|
||||||
if args.print_dependency_version:
|
if args.print_dependency_version:
|
||||||
try:
|
try:
|
||||||
version = dependencies[args.print_dependency_version]['version']
|
print(get_dependency_version(args.print_dependency_version))
|
||||||
print(version)
|
|
||||||
return 0
|
return 0
|
||||||
except KeyError:
|
except KeyError:
|
||||||
print('Unknown dependency "%s"' % args.print_dependency_version)
|
print('Unknown dependency "%s"' % args.print_dependency_version)
|
||||||
|
|
@ -164,10 +172,7 @@ def main() -> int:
|
||||||
|
|
||||||
if args.print_dependency_directory:
|
if args.print_dependency_directory:
|
||||||
try:
|
try:
|
||||||
dependency = args.print_dependency_directory
|
print(get_dependency_directory(args.print_dependency_directory))
|
||||||
version = dependencies[dependency]['version']
|
|
||||||
install_dir = directory_for_dependency(dependency, version)
|
|
||||||
print(install_dir)
|
|
||||||
return 0
|
return 0
|
||||||
except KeyError:
|
except KeyError:
|
||||||
print('Unknown dependency "%s"' % args.print_dependency_directory)
|
print('Unknown dependency "%s"' % args.print_dependency_directory)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue