Official Sheffield ARMBand micro:bit program
Diff: microbit/microbit-dal/source/CMakeLists.txt
- Revision:
- 0:b9164b348919
diff -r 000000000000 -r b9164b348919 microbit/microbit-dal/source/CMakeLists.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/microbit/microbit-dal/source/CMakeLists.txt Mon Oct 17 12:41:20 2016 +0000 @@ -0,0 +1,105 @@ +# This file is no longer auto-generated to make the repository builds with GCC +# and ARMCC no matter what. + +cmake_minimum_required(VERSION 2.8.12) + +enable_language(ASM) + +set(YOTTA_AUTO_MICROBIT-DAL_CPP_FILES + "core/MemberFunctionCallback.cpp" + "core/MicroBitCompat.cpp" + "core/MicroBitDevice.cpp" + "core/MicroBitFiber.cpp" + "core/MicroBitFont.cpp" + "core/MicroBitHeapAllocator.cpp" + "core/MicroBitListener.cpp" + "core/MicroBitSystemTimer.cpp" + + "types/ManagedString.cpp" + "types/Matrix4.cpp" + "types/MicroBitEvent.cpp" + "types/MicroBitImage.cpp" + "types/PacketBuffer.cpp" + "types/RefCounted.cpp" + + "drivers/DynamicPwm.cpp" + "drivers/MicroBitAccelerometer.cpp" + "drivers/MicroBitButton.cpp" + "drivers/MicroBitCompass.cpp" + "drivers/MicroBitCompassCalibrator.cpp" + "drivers/MicroBitDisplay.cpp" + "drivers/MicroBitI2C.cpp" + "drivers/MicroBitIO.cpp" + "drivers/MicroBitLightSensor.cpp" + "drivers/MicroBitMessageBus.cpp" + "drivers/MicroBitMultiButton.cpp" + "drivers/MicroBitPin.cpp" + "drivers/MicroBitRadio.cpp" + "drivers/MicroBitRadioDatagram.cpp" + "drivers/MicroBitRadioEvent.cpp" + "drivers/MicroBitSerial.cpp" + "drivers/MicroBitStorage.cpp" + "drivers/MicroBitThermometer.cpp" + "drivers/TimedInterruptIn.cpp" + + "bluetooth/MicroBitAccelerometerService.cpp" + "bluetooth/MicroBitBLEManager.cpp" + "bluetooth/MicroBitButtonService.cpp" + "bluetooth/MicroBitDFUService.cpp" + "bluetooth/MicroBitEventService.cpp" + "bluetooth/MicroBitIOPinService.cpp" + "bluetooth/MicroBitLEDService.cpp" + "bluetooth/MicroBitMagnetometerService.cpp" + "bluetooth/MicroBitTemperatureService.cpp" + "bluetooth/MicroBitUARTService.cpp" +) + +execute_process(WORKING_DIRECTORY "../../yotta_modules/${PROJECT_NAME}" COMMAND "git" "log" "--pretty=format:%h" "-n" "1" OUTPUT_VARIABLE git_hash) +execute_process(WORKING_DIRECTORY "../../yotta_modules/${PROJECT_NAME}" COMMAND "git" "rev-parse" "--abbrev-ref" "HEAD" OUTPUT_VARIABLE git_branch OUTPUT_STRIP_TRAILING_WHITESPACE) + +if ("${git_branch}" STREQUAL "master") + set(MICROBIT_DAL_VERSION_STRING "${YOTTA_MICROBIT_DAL_VERSION_STRING}") +else() + set(MICROBIT_DAL_VERSION_STRING "${YOTTA_MICROBIT_DAL_VERSION_STRING}-${git_branch}-g${git_hash}") +endif() + +set(MICROBIT_DAL_VERSION_FLAGS "-DMICROBIT_DAL_VERSION=\\\"${MICROBIT_DAL_VERSION_STRING}\\\"") + +set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MICROBIT_DAL_VERSION_FLAGS}") + +if (YOTTA_CFG_MICROBIT_CONFIGFILE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${YOTTA_FORCE_INCLUDE_FLAG} \"${YOTTA_CFG_MICROBIT_CONFIGFILE}\"") +endif () + +if(CMAKE_COMPILER_IS_GNUCC) + file(REMOVE "asm/CortexContextSwitch.s") + configure_file("asm/CortexContextSwitch.s.gcc" "asm/CortexContextSwitch.s" COPYONLY) +else() + file(REMOVE "asm/CortexContextSwitch.s") + configure_file("asm/CortexContextSwitch.s.armcc" "asm/CortexContextSwitch.s" COPYONLY) +endif() + +set(YOTTA_AUTO_MICROBIT-DAL_S_FILES + "asm/CortexContextSwitch.s" +) + +add_library(microbit-dal + ${YOTTA_AUTO_MICROBIT-DAL_CPP_FILES} + ${YOTTA_AUTO_MICROBIT-DAL_S_FILES} +) + +yotta_postprocess_target(LIBRARY microbit-dal) + +target_link_libraries(microbit-dal + mbed-classic + ble + ble-nrf51822 +) + +if(CMAKE_COMPILER_IS_GNUCC) + message("suppressing ALL warnings from mbed-classic, ble, ble-nrf51822 & nrf51-sdk") + target_compile_options(mbed-classic PRIVATE "-w") + target_compile_options(ble PRIVATE "-w") + target_compile_options(ble-nrf51822 PRIVATE "-w") + target_compile_options(nrf51-sdk PRIVATE "-w") +endif() \ No newline at end of file