diff --git a/.github/workflows/macosx_cpn.yml b/.github/workflows/macosx_cpn.yml index d8307c14b..e18263897 100644 --- a/.github/workflows/macosx_cpn.yml +++ b/.github/workflows/macosx_cpn.yml @@ -50,11 +50,6 @@ jobs: - name: Install dependencies run: python -m pip install --upgrade pip Pillow - - name: Install ARM toolchain - uses: fiam/arm-none-eabi-gcc@v1 - with: - release: '10-2020-q4' - - name: Install dfu-util run: wget https://downloads.sourceforge.net/project/dfu-util/dfu-util-0.9.tar.gz && tar xfv dfu-util-0.9.tar.gz && diff --git a/.github/workflows/win_cpn.yml b/.github/workflows/win_cpn.yml index 017103b62..74e16fc2d 100644 --- a/.github/workflows/win_cpn.yml +++ b/.github/workflows/win_cpn.yml @@ -48,7 +48,6 @@ jobs: run: | pacman -S --noconfirm mingw-w64-x86_64-cmake \ mingw-w64-x86_64-python-pip \ - mingw-w64-x86_64-arm-none-eabi-gcc \ mingw-w64-x86_64-libjpeg-turbo \ mingw-w64-x86_64-zlib \ mingw-w64-x86_64-libtiff \ @@ -59,8 +58,9 @@ jobs: mingw-w64-x86_64-libimagequant \ mingw-w64-x86_64-libraqm \ mingw-w64-x86_64-SDL \ + mingw-w64-x86_64-clang \ mingw-w64-x86_64-nsis - pip install Pillow + pip install Pillow clang - name: Install Qt uses: jurplel/install-qt-action@v2 diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d75d38e9..a1594ae3b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,6 +84,18 @@ if(WIN32) list(APPEND CMAKE_PREFIX_PATH "${WIN_EXTRA_LIBS_PATH}" "${WIN_EXTRA_LIBS_PATH}/SDL") # hints for FindSDL endif() +if(APPLE) + execute_process(COMMAND xcrun --show-sdk-path + OUTPUT_VARIABLE SDKROOT + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + + message("-- SDKROOT: ${SDKROOT}") + set(CMAKE_OSX_SYSROOT ${SDKROOT}) + set(SYSROOT_ARG -isysroot ${SDKROOT}) +endif() + + # Python check find_package(PythonInterp 3 REQUIRED) if(PYTHONINTERP_FOUND) diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index 387dd3706..0d72f1aeb 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -108,6 +108,7 @@ endif() add_subdirectory(translations) add_subdirectory(bitmaps) add_subdirectory(fonts) +add_subdirectory(lua) if(NOT PCB STREQUAL 9XRPRO) option(DBLKEYS "Double Keys" ON) @@ -678,8 +679,3 @@ if(NOT MSVC) PrintTargetReport("firmware") endif(NOT MSVC) - -# Include the lua subdirectory after CMAKE_C_COMPILER has been -# set. Otherwise, the custom commands it includes will use the -# default CMAKE_C_COMPILER instead of the one we set manually -add_subdirectory(lua) diff --git a/radio/src/lua/CMakeLists.txt b/radio/src/lua/CMakeLists.txt index 8325bb2aa..ac6f0176d 100644 --- a/radio/src/lua/CMakeLists.txt +++ b/radio/src/lua/CMakeLists.txt @@ -9,7 +9,7 @@ macro(add_lua_export_target target) endmacro(add_lua_export_target) set(LUA_INCLUDES - -DCPUARM -DLUA -DLUA_INPUTS -DLUA_EXPORT_GENERATION -DSIMU + -DCPUARM -DLUA -DLUA_INPUTS -DLUA_EXPORT_GENERATION -DSIMU ${SYSROOT_ARG} -I${RADIO_SRC_DIR} -I${RADIO_SRC_DIR}/targets/${TARGET_DIR} -I${RADIO_SRC_DIR}/thirdparty diff --git a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt index 62e9868ff..e6053c2ac 100644 --- a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt +++ b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt @@ -161,7 +161,9 @@ set(CMAKE_EXE_LINKER_FLAGS "-mcpu=${MCU} -mthumb -nostartfiles -lm -T${RADIO_SRC # use smaller nano libc set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --specs=nano.specs") -add_executable(bootloader ${BOOTLOADER_SRC}) +add_executable(bootloader EXCLUDE_FROM_ALL + ${BOOTLOADER_SRC} + ) add_dependencies(bootloader ${BITMAPS_TARGET} radio_translations) if(PCB STREQUAL X10 OR PCB STREQUAL X12S OR PCB STREQUAL NV14) diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index 683544312..d265a96a2 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -367,7 +367,7 @@ if(PYTHONINTERP_FOUND) add_custom_command( OUTPUT ${PROJECT_BINARY_DIR}/radio/src/datacopy.cpp WORKING_DIRECTORY ${RADIO_DIRECTORY}/src - COMMAND ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/generate_datacopy.py datastructs.h -DPCBHORUS -DPCBX10 -DCPUARM -DSTM32F4 -DSTM32F429_439xx -DCOLORLCD -DBACKUP -DSIMU -I. -Igui/colorlcd -Itargets/horus -Itargets/common/arm/stm32 -I${THIRDPARTY_DIR} -I${THIRDPARTY_DIR}/libopenui/src -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/STM32F4xx_StdPeriph_Driver/inc -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/Device/ST/STM32F4xx/Include -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/Include ${gcc_include_path} -Wno-pragma-once-outside-header > ${PROJECT_BINARY_DIR}/radio/src/datacopy.cpp + COMMAND ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/generate_datacopy.py datastructs.h -DPCBHORUS -DPCBX10 -DCPUARM -DSTM32F4 -DSTM32F429_439xx -DCOLORLCD -DBACKUP -DSIMU -I. -Igui/colorlcd -Itargets/horus -Itargets/common/arm/stm32 -I${THIRDPARTY_DIR} -I${THIRDPARTY_DIR}/libopenui/src -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/STM32F4xx_StdPeriph_Driver/inc -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/Device/ST/STM32F4xx/Include -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/Include ${gcc_include_path} -Wno-pragma-once-outside-header ${SYSROOT_ARG} > ${PROJECT_BINARY_DIR}/radio/src/datacopy.cpp DEPENDS ${RADIO_DIRECTORY}/src/datastructs.h ${RADIO_DIRECTORY}/util/generate_datacopy.py ) diff --git a/radio/src/targets/nv14/CMakeLists.txt b/radio/src/targets/nv14/CMakeLists.txt index cf18040ec..a3f7fb95a 100644 --- a/radio/src/targets/nv14/CMakeLists.txt +++ b/radio/src/targets/nv14/CMakeLists.txt @@ -203,12 +203,12 @@ MACRO(GET_GCC_INCLUDE_PATH gcc_include_path) ENDMACRO() if(PYTHONINTERP_FOUND) - GET_GCC_INCLUDE_PATH(arm_gcc_include_path) + GET_GCC_INCLUDE_PATH(gcc_include_path) add_custom_command( OUTPUT ${PROJECT_BINARY_DIR}/radio/src/datacopy.cpp WORKING_DIRECTORY ${RADIO_DIRECTORY}/src - COMMAND ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/generate_datacopy.py datastructs.h -DPCBFLYSKY -DPCBNV14 -DCPUARM -DSTM32F4 -DSTM32F429_439xx -DCOLORLCD -DBACKUP -DSIMU -I. -Igui/colorlcd -Itargets/nv14 -Itargets/common/arm/stm32 -I${THIRDPARTY_DIR} -I${THIRDPARTY_DIR}/libopenui/src -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/STM32F4xx_StdPeriph_Driver/inc -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/Device/ST/STM32F4xx/Include -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/Include ${arm_gcc_include_path} -Wno-pragma-once-outside-header > ${PROJECT_BINARY_DIR}/radio/src/datacopy.cpp + COMMAND ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/generate_datacopy.py datastructs.h -DPCBFLYSKY -DPCBNV14 -DCPUARM -DSTM32F4 -DSTM32F429_439xx -DCOLORLCD -DBACKUP -DSIMU -I. -Igui/colorlcd -Itargets/nv14 -Itargets/common/arm/stm32 -I${THIRDPARTY_DIR} -I${THIRDPARTY_DIR}/libopenui/src -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/STM32F4xx_StdPeriph_Driver/inc -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/Device/ST/STM32F4xx/Include -I${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/Include ${gcc_include_path} -Wno-pragma-once-outside-header ${SYSROOT_ARG} > ${PROJECT_BINARY_DIR}/radio/src/datacopy.cpp DEPENDS ${RADIO_DIRECTORY}/src/datastructs.h ${RADIO_DIRECTORY}/util/generate_datacopy.py ) diff --git a/radio/src/targets/simu/CMakeLists.txt b/radio/src/targets/simu/CMakeLists.txt index 8f6507979..60f9a69b2 100644 --- a/radio/src/targets/simu/CMakeLists.txt +++ b/radio/src/targets/simu/CMakeLists.txt @@ -118,7 +118,11 @@ if(FOX_FOUND) if(SIMU_DISKIO) set(SIMU_SRC ${SIMU_SRC} ${FATFS_DIR}/FatFs/ff.c ${FATFS_DIR}/option/ccsbcs.c) endif() - add_executable(simu WIN32 ${SIMU_SRC} ${RADIO_SRC_DIR}/simu.cpp) + + add_executable(simu WIN32 + EXCLUDE_FROM_ALL + ${SIMU_SRC} ${RADIO_SRC_DIR}/simu.cpp) + add_dependencies(simu ${RADIO_DEPENDENCIES}) target_include_directories(simu PUBLIC ${FOX_INCLUDE_DIR} )