summaryrefslogtreecommitdiff
path: root/nrf51_toolchain.cmake
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2015-06-01 19:16:43 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2015-06-01 19:16:43 +0200
commit69d0e2466f871fb1a4f33abb529863b87361a1ee (patch)
tree6aa3133ec5cbfc08f75d244d2b05345c380a033a /nrf51_toolchain.cmake
parent68c16d40df01838f203338cbaec678896cf56066 (diff)
downloadphone_remote_nrf51-master.tar.gz
phone_remote_nrf51-master.tar.bz2
phone_remote_nrf51-master.tar.xz
phone_remote_nrf51-master.zip
o Start of a CMake-based build.HEADmaster
Diffstat (limited to 'nrf51_toolchain.cmake')
-rw-r--r--nrf51_toolchain.cmake52
1 files changed, 52 insertions, 0 deletions
diff --git a/nrf51_toolchain.cmake b/nrf51_toolchain.cmake
new file mode 100644
index 0000000..938f6a6
--- /dev/null
+++ b/nrf51_toolchain.cmake
@@ -0,0 +1,52 @@
+include(CMakeForceCompiler)
+
+set(CMAKE_SYSTEM_NAME Generic)
+set(CMAKE_SYSTEM_VERSION 1)
+#set(CMAKE_SYSTEM_PROCESSOR cortex-m0)
+
+find_program(ARM_CC arm-none-eabi-gcc ${TOOLCHAIN_DIR}/bin)
+find_program(ARM_CXX arm-none-eabi-g++ ${TOOLCHAIN_DIR}/bin)
+find_program(ARM_OBJCOPY arm-none-eabi-objcopy ${TOOLCHAIN_DIR}/bin)
+find_program(ARM_SIZE_TOOL arm-none-eabi-size ${TOOLCHAIN_DIR}/bin)
+
+CMAKE_FORCE_C_COMPILER(${ARM_CC} GNU)
+CMAKE_FORCE_CXX_COMPILER(${ARM_CXX} GNU)
+
+list(APPEND ARM_CFLAGS "-mcpu=cortex-m0")
+list(APPEND ARM_CFLAGS "-mthumb")
+list(APPEND ARM_CFLAGS "-mabi=aapcs")
+list(APPEND ARM_CFLAGS "--std=gnu99")
+list(APPEND ARM_CFLAGS "-Wall")
+list(APPEND ARM_CFLAGS "-mfloat-abi=soft")
+
+# "/usr/bin/arm-none-eabi-gcc"
+# -Xlinker
+# -Map=build/phone_remote_nrf51_s110_xxac_BOARD_PCA10028.map
+# -mcpu=cortex-m0
+# -mthumb
+# -mabi=aapcs
+# -L/home/trygvis/opt/nrf/7.2/components/toolchain/gcc
+# -T/home/trygvis/opt/nrf/7.2/components/toolchain/gcc/gcc_nrf51_s110_xxac.ld
+# -o build/phone_remote_nrf51_s110_xxac_BOARD_PCA10028.out
+# build/main.o
+
+list(APPEND ARM_LDFLAGS "-L${NRF_SDK}/components/toolchain/gcc")
+list(APPEND ARM_LDFLAGS "-T${NRF_SDK}/components/toolchain/gcc/gcc_nrf51_s110_xxac.ld")
+
+#list(APPEND ARM_CFLAGS "-DBLE_STACK_SUPPORT_REQD")
+#list(APPEND ARM_CFLAGS "-DSOFTDEVICE_PRESENT")
+#list(APPEND ARM_CFLAGS "-DS110")
+#list(APPEND ARM_CFLAGS "-DSOFTDEVICE_PRESENT")
+#list(APPEND ARM_CFLAGS "-DNRF51")
+#list(APPEND ARM_CFLAGS "-DBOARD_PCA10028")
+#list(APPEND ARM_CFLAGS "-DNRF51422_QFAC_AB")
+
+set(CMAKE_LD_FLAGS "${CMAKE_LD_FLAGS}" "${ARM_LDFLAGS}")
+string(REGEX REPLACE ";" " " CMAKE_LD_FLAGS "${CMAKE_LD_FLAGS}")
+set(CMAKE_LD_FLAGS "${CMAKE_LD_FLAGS}" CACHE STRING "")
+
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" "${ARM_CFLAGS}")
+string(REGEX REPLACE ";" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "")
+
+set(BUILD_SHARED_LIBS OFF)