使用clang进行cmake链接时间优化

时间:2015-12-06 04:54:45

标签: cmake clang llvm lto

我正在尝试在clang中使用LTO(使用cmake):在编译时设置标志-emit-llvm,使用-c标志生成输出,因此LLVM bitcode就是结果。问题是,cmake给我带有“.o”后缀的结果,但我需要“.bc”。我发现其他使用此代码的代码:set(CMAKE_C_OUTPUT_EXTENSION .bc),但它不起作用。

cmake_minimum_required(VERSION 3.3)
project(cc C)
set(CMAKE_BUILD_TYPE Release)

enable_language(C)

file(GLOB_RECURSE SOURCES "src/*.c")
add_executable(cc ${SOURCES})

if (UNIX)
  target_compile_options(cc PRIVATE "-Weverything")
  target_compile_options(cc PRIVATE "-std=c11")
  target_compile_options(cc PRIVATE "-emit-llvm")

  set(CMAKE_C_FLAGS_RELEASE "-Ofast -DNDEBUG")

  set(CMAKE_C_OUTPUT_EXTENSION ".bc")
endif()

0 个答案:

没有答案