我的桌面上有一个git-bare-repository,我想用CMake克隆它。我的存储库具有此路径C:\Users\demoUser\Desktop\learnGIT\prog
。我的CMakeLists.txt看起来像这样:
cmake_minimum_required(VERSION 2.8)
project(Demo)
include(ExternalProject)
ExternalProject_Add(demo
GIT_REPOSITORY C:/Users/demoUser/Desktop/learnGIT/prog
GIT_TAG master
UPDATE_COMMAND ""
INSTALL_COMMAND ""
)
但在生成的文件夹prog-build
中只是浪费。生成的文件夹结构不包含存储库中的任何文件。
有人有想法吗?
答案 0 :(得分:2)
您的项目中必须有一个依赖于外部项目的目标
add_dependencies(TargetName ExternalProjectName)
git clone
发生在TargetName
构建(不在CMake重新加载上)
答案 1 :(得分:0)
你必须告诉cmake它需要“demo”来构建你的目标。 通过这种方式,您可以强制cmake在编译之前下载外部项目“demo”。
例如
set(SRC ${PROJECT_SOURCE_DIR}/src/main.cpp
${PROJECT_SOURCE_DIR}/src/file1.cpp)
add_executable(Demobin ${SRC})
add_dependencies(Demobin demo)
答案 2 :(得分:0)