Commit e6c6723dd3df83fb8a9930517b5e30bbd58002f2
Committed by
David Gräff
1 parent
7bf19564
Firmware: Use cmake to build firmware and fail early in bash script
Showing
4 changed files
with
26 additions
and
17 deletions
CMakeLists.txt
| @@ -18,6 +18,7 @@ include(cmake/CPackInfos.cmake) | @@ -18,6 +18,7 @@ include(cmake/CPackInfos.cmake) | ||
| 18 | 18 | ||
| 19 | # Qt Widgets based Gui with OpenGL canvas | 19 | # Qt Widgets based Gui with OpenGL canvas |
| 20 | add_subdirectory(openhantek) | 20 | add_subdirectory(openhantek) |
| 21 | +add_subdirectory(firmware EXCLUDE_FROM_ALL) | ||
| 21 | 22 | ||
| 22 | if (WIN32) | 23 | if (WIN32) |
| 23 | install(FILES COPYING readme.md DESTINATION ".") | 24 | install(FILES COPYING readme.md DESTINATION ".") |
firmware/CMakeLists.txt
0 → 100644
| 1 | +project(FirmwareExtractor C) | ||
| 2 | + | ||
| 3 | +find_library( BFD_LIBRARY NAMES bfd libbdf PATH /usr/lib /usr/lib64 ) | ||
| 4 | +find_path(BFD_INCLUDE bfd.h PATHS /usr/include | ||
| 5 | + /usr/local/include | ||
| 6 | + /opt/local/include | ||
| 7 | + /sw/include) | ||
| 8 | + | ||
| 9 | + | ||
| 10 | +if (NOT BFD_LIBRARY OR NOT BFD_INCLUDE) | ||
| 11 | + message(STATUS "BFD not found. Please install binutils-devel (fedora) / binutils-dev (ubuntu)") | ||
| 12 | + return() | ||
| 13 | +endif() | ||
| 14 | + | ||
| 15 | +add_executable(${PROJECT_NAME} extractfw.c) | ||
| 16 | +target_link_libraries(${PROJECT_NAME} ${BFD_LIBRARY} ) | ||
| 17 | +target_include_directories(${PROJECT_NAME} PRIVATE ${BFD_INCLUDE}) |
firmware/Makefile deleted
firmware/fwget.sh
| @@ -2,20 +2,18 @@ | @@ -2,20 +2,18 @@ | ||
| 2 | 2 | ||
| 3 | shopt -s globstar | 3 | shopt -s globstar |
| 4 | 4 | ||
| 5 | -cd "$(dirname "$0")" | ||
| 6 | -make | ||
| 7 | -rm -rf tmp | ||
| 8 | -mkdir tmp | 5 | +rm -rf build |
| 6 | +mkdir build && cd build && cmake ../ && make && cd .. | ||
| 9 | 7 | ||
| 10 | -cd tmp | 8 | +if [ ! -d ./hex ]; then |
| 9 | +mkdir hex && cd hex && \ | ||
| 11 | for MODEL in "2090" "2150" "2250" "5200" "5200A"; do | 10 | for MODEL in "2090" "2150" "2250" "5200" "5200A"; do |
| 12 | wget http://www.hantek.com/Product/DSO2000/DSO${MODEL}_Driver.zip | 11 | wget http://www.hantek.com/Product/DSO2000/DSO${MODEL}_Driver.zip |
| 13 | unzip DSO${MODEL}_Driver.zip | 12 | unzip DSO${MODEL}_Driver.zip |
| 14 | -done | 13 | +done && \ |
| 15 | cd .. | 14 | cd .. |
| 15 | +fi | ||
| 16 | 16 | ||
| 17 | -for f in tmp/**/*.sys; do | ||
| 18 | - ./extractfw $f | 17 | +for f in hex/**/*.sys; do |
| 18 | + ./build/FirmwareExtractor $f && rm $f | ||
| 19 | done | 19 | done |
| 20 | -mv tmp/**/*.hex . | ||
| 21 | -rm -rf tmp |