project(vomp)
add_executable(vomp ${VOMP_OBJ_COMMON} ${VOMP_OBJ_RASPBERRY} pngs.o)
+# Enable next line to use mold linker. Only available when using clang
+target_link_options(vomp PRIVATE "-fuse-ld=/opt/mold/bin/mold")
+
set(CMAKE_BUILD_TYPE Debug)
target_compile_options(vomp PRIVATE -O0)
set(CMAKE_SYSTEM_NAME Linux)
-set(CMAKE_C_COMPILER /usr/bin/arm-linux-gnueabihf-gcc)
-set(CMAKE_CXX_COMPILER /usr/bin/arm-linux-gnueabihf-g++)
-
set(CMAKE_FIND_ROOT_PATH /pi-root)
set(CMAKE_SYSROOT /pi-root)
-set(CMAKE_C_FLAGS "-Wno-psabi -mtune=cortex-a7 -mfloat-abi=hard -fopenmp")
-set(CMAKE_CXX_FLAGS "-Wno-psabi -mtune=cortex-a7 -mfloat-abi=hard -fopenmp")
+
+# GCC
+#set(CMAKE_C_COMPILER /usr/bin/arm-linux-gnueabihf-gcc)
+#set(CMAKE_CXX_COMPILER /usr/bin/arm-linux-gnueabihf-g++)
+#set(CMAKE_C_FLAGS "-Wno-psabi -mtune=cortex-a7 -mfloat-abi=hard -fopenmp")
+#set(CMAKE_CXX_FLAGS "-Wno-psabi -mtune=cortex-a7 -mfloat-abi=hard -fopenmp")
+
+# Pi1: -mtune=arm1176jzf-s Pi2: -mtune=cortex-a7 Pi3: -mtune=cortex-a53
+
+# Clang
+set(CMAKE_C_COMPILER /usr/bin/clang-11)
+set(CMAKE_CXX_COMPILER /usr/bin/clang++-11)
+set(CMAKE_LINKER /usr/bin/arm-linux-gnueabihf-ld)
+set(CMAKE_C_FLAGS "-target arm-linux-gnueabihf -mfloat-abi=hard -mcpu=cortex-a7")
+set(CMAKE_CXX_FLAGS "-target arm-linux-gnueabihf -mfloat-abi=hard -mcpu=cortex-a7")
+
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)