浏览代码

ExternalProject: allow `DOWNLOAD_NO_EXTRACT OFF`

Fixes: #20531
Ben Boeckel 5 年之前
父节点
当前提交
2c4bb705e8
共有 2 个文件被更改,包括 10 次插入1 次删除
  1. 1 1
      Modules/ExternalProject.cmake
  2. 9 0
      Tests/ExternalProject/CMakeLists.txt

+ 1 - 1
Modules/ExternalProject.cmake

@@ -2595,7 +2595,7 @@ function(_ep_add_download_command name)
       set(cmd   ${CMAKE_COMMAND} -E rm -rf ${source_dir}
         COMMAND ${CMAKE_COMMAND} -E copy_directory ${abs_dir} ${source_dir})
     else()
-      get_property(no_extract TARGET "${name}" PROPERTY _EP_DOWNLOAD_NO_EXTRACT SET)
+      get_property(no_extract TARGET "${name}" PROPERTY _EP_DOWNLOAD_NO_EXTRACT)
       if("${url}" MATCHES "^[a-z]+://")
         # TODO: Should download and extraction be different steps?
         if("x${fname}" STREQUAL "x")

+ 9 - 0
Tests/ExternalProject/CMakeLists.txt

@@ -100,6 +100,15 @@ ExternalProject_Add(${proj}
   INSTALL_COMMAND ""
 )
 
+set(proj NoExtractBool)
+ExternalProject_Add(${proj}
+  URL ${CMAKE_CURRENT_SOURCE_DIR}/gitrepo.tgz
+  DOWNLOAD_NO_EXTRACT 0
+  LOG_DOWNLOAD 1
+  BUILD_COMMAND ""
+  CONFIGURE_COMMAND ""
+  INSTALL_COMMAND ""
+)
 
 # CVS-based tests:
 #