CMake: Fix RISC-V building with LLVM
This commit is contained in:
parent
4e928d7ce1
commit
9cd9042563
|
@ -92,17 +92,22 @@ function(detect_architecture)
|
||||||
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "riscv64")
|
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "riscv64")
|
||||||
message(STATUS "Building RISC-V 64 binaries.")
|
message(STATUS "Building RISC-V 64 binaries.")
|
||||||
set(CPU_ARCH_RISCV64 TRUE PARENT_SCOPE)
|
set(CPU_ARCH_RISCV64 TRUE PARENT_SCOPE)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -finline-atomics" PARENT_SCOPE)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -finline-atomics" PARENT_SCOPE)
|
# Don't want function calls for atomics.
|
||||||
|
if(COMPILER_GCC)
|
||||||
|
set(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finline-atomics")
|
||||||
|
|
||||||
# Still need this, apparently.
|
# Still need this, apparently.
|
||||||
link_libraries("-latomic")
|
link_libraries("-latomic")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||||
# Frame pointers generate an annoying amount of code on leaf functions.
|
# Frame pointers generate an annoying amount of code on leaf functions.
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fomit-frame-pointer" PARENT_SCOPE)
|
set(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fomit-frame-pointer")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer" PARENT_SCOPE)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}" PARENT_SCOPE)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}" PARENT_SCOPE)
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Unknown system processor: ${CMAKE_SYSTEM_PROCESSOR}")
|
message(FATAL_ERROR "Unknown system processor: ${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
endif()
|
endif()
|
||||||
|
|
Loading…
Reference in New Issue