C++ 防止';保持清洁';从ExternalProject或使用CMake添加自定义清理
我的项目有一个外部项目,我使用CMakeC++ 防止';保持清洁';从ExternalProject或使用CMake添加自定义清理,c++,makefile,cmake,external-project,C++,Makefile,Cmake,External Project,我的项目有一个外部项目,我使用CMakeExternalProject\u add命令使用它自己的CMake添加该项目 每次我添加标志或执行重建时,外部项目也会重建,而且需要很长时间 (外部项目的重建包括提取和动态库构建) 在重建项目时,如何防止其重建 ExternalProject.cmake: 您的标题专门询问了有关清理,但问题的主体似乎更为笼统。我倾向于认为您所描述的行为是正常的和预期的,因此,解决这种情况的最佳方法可能是在您不需要时避免make clean(在一个结构良好的项目中,您应该
ExternalProject\u add
命令使用它自己的CMake添加该项目
每次我添加标志或执行重建时,外部项目也会重建,而且需要很长时间
(外部项目的重建包括提取和动态库构建)
在重建项目时,如何防止其重建
ExternalProject.cmake:
您的标题专门询问了有关
清理,但问题的主体似乎更为笼统。我倾向于认为您所描述的行为是正常的和预期的,因此,解决这种情况的最佳方法可能是在您不需要时避免make clean
(在一个结构良好的项目中,您应该很少需要它)。或者您根本不想要外部项目,而是一个完全独立的依赖项。您的标题专门询问了makeclean
,但问题的主体似乎更一般。我倾向于认为您描述的行为是正常的和预期的,因此,解决这种情况的最佳方法可能是避免在您不需要它的时候(而且在一个结构良好的项目中您应该很少需要它)。或者您根本不想要外部项目,而是完全独立的依赖关系。
include(ExternalProject)
ExternalProject_Add(project
PREFIX ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/external
URL ${THIRD_PARTY_SRC}/archives/project.tar.gz
INSTALL_DIR ${THIRD_PARTY_SRC}/install
CONFIGURE_COMMAND
${CMAKE_COMMAND} -E env
${EXTERNAL_PROJECT_TOOLS}
<SOURCE_DIR>/configure.py
--prefix=<INSTALL_DIR>
${EXTERNAL_PROJECT_CPU}
BUILD_COMMAND ${MAKE}
)
set(PROJECT externalProject)
add_library(externalProject SHARED IMPORTED)
set_property(TARGET externalProject PROPERTY IMPORTED_LOCATION ${THIRD_PARTY_SRC}/install/lib/externalProject.so)