summaryrefslogtreecommitdiff
path: root/cmake/linux.cmake
diff options
context:
space:
mode:
authorScott Larson <[email protected]>2020-09-30 15:42:41 -0700
committerScott Larson <[email protected]>2020-09-30 15:42:41 -0700
commit1b5816a206016d06128bd5e9afa7fbf8f09b0847 (patch)
tree132c61289efdad36341f7992e1109dd96e9bbf94 /cmake/linux.cmake
parent7287542cc851225544d0914375a9746aa866d1fb (diff)
6.1 minor release
Diffstat (limited to 'cmake/linux.cmake')
-rw-r--r--cmake/linux.cmake31
1 files changed, 31 insertions, 0 deletions
diff --git a/cmake/linux.cmake b/cmake/linux.cmake
new file mode 100644
index 00000000..192425c6
--- /dev/null
+++ b/cmake/linux.cmake
@@ -0,0 +1,31 @@
+set(CMAKE_SYSTEM_NAME Linux)
+set(CMAKE_SYSTEM_PROCESSOR x86_64)
+
+set(CMAKE_C_COMPILER gcc)
+set(CMAKE_CXX_COMPILER g++)
+set(AS as)
+set(AR ar)
+set(OBJCOPY objcopy)
+set(OBJDUMP objdump)
+set(SIZE size)
+
+set(THREADX_ARCH "linux")
+set(THREADX_TOOLCHAIN "gnu")
+
+set(LINUX_FLAGS "-g -pthread")
+
+set(CMAKE_C_FLAGS "${LINUX_FLAGS} " CACHE INTERNAL "c compiler flags")
+set(CMAKE_CXX_FLAGS "${LINUX_FLAGS} -fno-rtti -fno-exceptions" CACHE INTERNAL "cxx compiler flags")
+set(CMAKE_ASM_FLAGS "${LINUX_FLAGS} -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")
+set(CMAKE_EXE_LINKER_FLAGS "${LINUX_FLAGS} ${LD_FLAGS} -Wl,--gc-sections" CACHE INTERNAL "exe link flags")
+
+SET(CMAKE_C_FLAGS_DEBUG "-Og -g -ggdb3" CACHE INTERNAL "c debug compiler flags")
+SET(CMAKE_CXX_FLAGS_DEBUG "-Og -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")
+SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")
+
+SET(CMAKE_C_FLAGS_RELEASE "-O3" CACHE INTERNAL "c release compiler flags")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O3" CACHE INTERNAL "cxx release compiler flags")
+SET(CMAKE_ASM_FLAGS_RELEASE "" CACHE INTERNAL "asm release compiler flags")
+
+# this makes the test compiles use static library option so that we don't need to pre-set linker flags and scripts
+set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)