CMake项目共享依赖项
我有:
>共享库X,它是独立的 它们都有自己的CMakeLists.txt,可以独立配置和构建. 但是,我无法使可执行文件(Z)的CMakeLists.txt工作. 我的方法是: foreach(clib ${OWN_LIBS}) set(LIBS "${LIBS} ${clib}") set(CLIB_DIR "${PROJECT_SOURCE_DIR}/../lib${clib}") set(CLIB_BUILD_DIR "${CLIB_DIR}/build") add_subdirectory("${CLIB_DIR}" "${CLIB_BUILD_DIR}") include_directories("${CLIB_DIR}/incl") link_directories("${CLIB_BUILD_DIR}") endforeach(clib) OWN_LIBS在项目Y中只是“X”,在项目Z中是“X Y”. 这适用于项目Y,但在项目Z中,我得到:
我也试过尝试创建一个本地构建目录,所以对于例如将有libY / build / deps-libX /包含已配置和构建的库X(当从Y使用时),并且Z具有X和Y两者.
使用ExternalProject不是一个选项. 解决方法
其他人的另一个答案:
由于合并“错误”,我收到此错误.在一个较大的项目中,在合并之后,CMakeLists.txt在同一个子目录中两次调用“add_subdirectory”.它会导致相同的错误消息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |