Clang CMAKE预编译头

时间:2019-01-15 17:14:17

标签: c++ cmake clang precompiled-headers

我已经找到了许多有关如何使用MSVC预编译头的示例,但是我似乎找不到使用clang的任何示例。从这篇SO文章中,我可以看到clang命令,但是我想知道它们如何转换为cmake:

Decrease clang compile time with precompiled headers

  

要创建预编译的标头,请将所有未更改的标头>>放入Query.h并使用:

     

clang -cc1 Query.h -emit-pch -o Query.h.pch   使用预编译的标头类型:

     

clang -cc1 -include-pch Query.h.pch Query.cpp -shared -o libquery.so;   Query.cpp需要包含Query.h

编辑:使用clang 6和cmake 3.11.2

1 个答案:

答案 0 :(得分:1)

找到了适合我的解决方案:

# add the pch custom target as a dependency
add_dependencies(corelib pch)

# add the flag
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include-pch ${CMAKE_CURRENT_BINARY_DIR}/stdinc.hpp.pch")

# target
add_custom_target(pch COMMAND clang -x c++-header ${CMAKE_CURRENT_SOURCE_DIR}/src/stdinc.hpp -o ${CMAKE_CURRENT_BINARY_DIR}/stdinc.hpp.pch)