OSDN Git Service

[BUILD][CMAKE] Add support for LLVM CLANG 12 (Native).
authorK.Ohta <whatisthis.sowhat@gmail.com>
Fri, 7 May 2021 11:58:08 +0000 (20:58 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Fri, 7 May 2021 11:58:08 +0000 (20:58 +0900)
source/cmake/toolchains/toolchain_native_llvm12.cmake [new file with mode: 0644]
source/sample-scripts/build_default_vars.llvm12.sh [new file with mode: 0755]

diff --git a/source/cmake/toolchains/toolchain_native_llvm12.cmake b/source/cmake/toolchains/toolchain_native_llvm12.cmake
new file mode 100644 (file)
index 0000000..be34951
--- /dev/null
@@ -0,0 +1,32 @@
+# the name of the target operating system
+#SET(CMAKE_SYSTEM_NAME Windows)
+SET(CSP_CROSS_BUILD 0)
+
+# Choose an appropriate compiler prefix
+#set(CMAKE_TOOLCHAIN_PREFIX "i686-w64-mingw32")
+
+# which compilers to use for C and C++
+#SET(CMAKE_SYSTEM_NAME Windows)
+
+SET(CMAKE_C_COMPILER clang-12)
+SET(CMAKE_CXX_COMPILER clang++-12)
+#SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
+SET(CMAKE_AR llvm-ar-12)
+SET(CMAKE_C_COMPILER_AR  llvm-ar-12)
+SET(CMAKE_CXX_COMPILER_AR  llvm-ar-12)
+SET(CMAKE_LD  lld-12)
+SET(CMAKE_LINKER  lld-12)
+SET(CMAKE_EXE_LINKER lld-12)
+SET(CMAKE_SHARED_LINKER  lld-12)
+SET(CMAKE_NM  nm)
+SET(CMAKE_RANLIB  llvm-ranlib-12)
+SET(CMAKE_C_COMPILER_RANLIB  llvm-ranlib-12)
+SET(CMAKE_CXX_COMPILER_RANLIB  llvm-ranlib-12)
+
+#SET(CSP_ADDTIONAL_FLAGS_COMPILE_RELWITHDEBINFO -g2 -gz -flto) 
+#SET(CSP_ADDTIONAL_FLAGS_LINK_RELWITHDEBINFO -g2 -gz -flto -O2) 
+#SET(CSP_ADDTIONAL_FLAGS_COMPILE_RELEASE -flto) 
+#SET(CSP_ADDTIONAL_FLAGS_LINK_RELEASE -flto -O3) 
+#SET(CMAKE_CXX_FLAGS "-g2 -gz -flto")
+#SET(CMAKE_C_FLAGS "-g2 -gz -flto")
+#SET(CMAKE_EXE_LINK_FLAGS "-g2 -gz -flto")
diff --git a/source/sample-scripts/build_default_vars.llvm12.sh b/source/sample-scripts/build_default_vars.llvm12.sh
new file mode 100755 (executable)
index 0000000..bd61969
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/sh
+SANITRIZER_FLAGS=""
+#SANITRIZER_FLAGS="-fsanitize=address"
+
+cmake .. -DCMAKE_TOOLCHAIN_FILE="$PWD/../cmake/toolchains/toolchain_native_llvm12.cmake" \
+      -DCMAKE_BUILD_TYPE=Relwithdebinfo \
+      -DCMAKE_C_FLAGS_RELWITHDEBINFO=" \
+               -g2 \
+               -gz=zlib \
+               -O3 \
+               -flto \
+               -msse2 \
+               -mfpmath=sse \
+               -Wreserved-user-defined-literal \
+               ${SANITIZER_FLAGS} \
+               " \
+      -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=" \
+               -g2 \
+               -gz=zlib \
+               -flto \
+               -O3 \
+               -msse2 \
+               -mfpmath=sse \
+               ${SANITIZER_FLAGS} \
+               " \
+      -DCMAKE_EXE_LINKER_FLAGS="\
+               -g2 \
+               -gz=zlib \
+               -flto \
+               -O3 \
+               -msse2 \
+               -fslp-vectorize \
+               -fvectorize \
+               -fstrict-vtable-pointers \
+               -fstrict-enums \
+               ${SANITIZER_FLAGS} \
+               -Wl,--compress-debug-sections=zlib \
+               " \
+      -DCMAKE_MODULE_LINKER_FLAGS="\
+               -g2 \
+               -gz=zlib \
+               -O3 \
+               -flto \
+               -msse2 \
+               -fslp-vectorize \
+               -fvectorize \
+               -fstrict-vtable-pointers \
+               -fstrict-enums \
+               -Wl,--compress-debug-sections=zlib \
+               ${SANITIZER_FLAGS} \
+               " \