我想构建同一个库的静态和共享版本,如所述是否可以让 CMake 构建同一个库的静态和共享版本?
但是,源代码编译两次,每个版本编译一次,这不是必需的。有没有办法避免这种情况?
目前我有:
add_library(${LIB} SHARED ${${LIB}_srcs})
add_library(${LIB}_static STATIC ${${LIB}_srcs})
为了只需要编译一次,我需要更改什么?供参考。我有相同的编译器标志和定义。
我想构建同一个库的静态和共享版本,如所述是否可以让 CMake 构建同一个库的静态和共享版本?
但是,源代码编译两次,每个版本编译一次,这不是必需的。有没有办法避免这种情况?
目前我有:
add_library(${LIB} SHARED ${${LIB}_srcs})
add_library(${LIB}_static STATIC ${${LIB}_srcs})
为了只需要编译一次,我需要更改什么?供参考。我有相同的编译器标志和定义。
从 CMake 2.8.8 开始,您可以使用 Object Library:CMake:reuse object files built for a lib into another lib target。
另请参阅http://www.cmake.org/Wiki/CMake/Tutorials/Object_Library