C++ 代码构建、打包与测试实战
1. 向 CMakeLists 添加 Conan 打包代码
若依赖 Conan 进行打包,可能无需运行原生的 CMake 导出和安装逻辑。假设仅在不使用 Conan 时进行导出和安装,需修改 CMakeLists 中的安装部分,示例如下:
if(NOT CONAN_EXPORTED)
install(
EXPORT CustomerTargets
FILE CustomerTargets.cmake
NAMESPACE domifair::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Customer)
configure_file(${PROJECT_SOURCE_DIR}/cmake/CustomerConfig.cmake.in
CustomerConfig.cmake @ONLY)
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
CustomerConfigVersion.cmake
VERSION ${PACKAGE_VERSION}
COMPATIBILITY AnyNewerVersion)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/CustomerConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/CustomerConfigVersion.cmake