From fb3757654efa43dae02bafdfd8b7dd14292851d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Mart=C3=ADn?= Date: Fri, 25 Apr 2025 11:35:28 +0200 Subject: [PATCH] ExternalProject: Refactor local decompression test - Merge tests for all "other" archive types, so adding more is easier. - Add new tests for .tar.xz archives. --- Tests/ExternalProjectLocal/CMakeLists.txt | 72 +++++++------------ Tests/ExternalProjectLocal/Step1.tar.xz | Bin 0 -> 856 bytes Tests/ExternalProjectLocal/Step1NoDir.tar.xz | Bin 0 -> 836 bytes 3 files changed, 26 insertions(+), 46 deletions(-) create mode 100644 Tests/ExternalProjectLocal/Step1.tar.xz create mode 100644 Tests/ExternalProjectLocal/Step1NoDir.tar.xz diff --git a/Tests/ExternalProjectLocal/CMakeLists.txt b/Tests/ExternalProjectLocal/CMakeLists.txt index 7caefae383..c956fe4d01 100644 --- a/Tests/ExternalProjectLocal/CMakeLists.txt +++ b/Tests/ExternalProjectLocal/CMakeLists.txt @@ -134,56 +134,36 @@ ExternalProject_Add(${proj} set_property(TARGET ${proj} PROPERTY FOLDER "Local/TGZ") -# Local BZ2: +# Local archives with other compression methods: # -# (The bz2 tests are here just to verify that the bz2 decompression is executed -# during a test suite run... The configure and build commands are set to -# nothing to make the test quicker. To make this more complete, I should add -# a diff between this and the TGZ source tree since that one does build...) +# These tests are here just to verify that decompression of other archive types +# supported by "cmake -E tar" is also supported by ExternalProject. The steps +# for configure and build are set to nothing to make the test quicker. To make +# this more complete, we should add a diff between this and the TGZ tree since +# that one does build. # -set(proj TutorialStep1-LocalBZ2) -ExternalProject_Add(${proj} - URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1.tar.bz2" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" -) -set_property(TARGET ${proj} PROPERTY FOLDER "Local/BZ2") +set(extra_cmp_exts tar.bz2 tar.xz zip) +foreach(ext IN LISTS extra_cmp_exts) + string(TOUPPER "${ext}" name) -set(proj TutorialStep1-LocalNoDirBZ2) -ExternalProject_Add(${proj} - URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1NoDir.tar.bz2" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" -) -set_property(TARGET ${proj} PROPERTY FOLDER "Local/BZ2") + set(proj "TutorialStep1-Local${name}") + ExternalProject_Add(${proj} + URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1.${ext}" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + ) + set_property(TARGET ${proj} PROPERTY FOLDER "Local/${name}") - -# Local ZIP: -# -# (The zip tests are here just to verify that the zip decompression is executed -# during a test suite run... The configure and build commands are set to -# nothing to make the test quicker. To make this more complete, I should add -# a diff between this and the TGZ source tree since that one does build...) -# -set(proj TutorialStep1-LocalZIP) -ExternalProject_Add(${proj} - URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1.zip" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" -) -set_property(TARGET ${proj} PROPERTY FOLDER "Local/ZIP") - -set(proj TutorialStep1-LocalNoDirZIP) -ExternalProject_Add(${proj} - URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1NoDir.zip" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" -) -set_property(TARGET ${proj} PROPERTY FOLDER "Local/ZIP") + set(proj "TutorialStep1-LocalNoDir${name}") + ExternalProject_Add(${proj} + URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1NoDir.${ext}" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + ) + set_property(TARGET ${proj} PROPERTY FOLDER "Local/${name}") +endforeach() # Test the testable built/installed products: diff --git a/Tests/ExternalProjectLocal/Step1.tar.xz b/Tests/ExternalProjectLocal/Step1.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..b5b2976d9eb8deb37640bc3496022fd653ab720e GIT binary patch literal 856 zcmV-e1E>7`H+ooF000E$*0e?f03iVu0001VFXf})C;tN&T>vSa2&XZwruTD^&$QAm z&EaO0_2~uN4DoXrs%T z>kUYBQ3IVqL~PMZN+HBqio0$`pmglRpFv)7t%wP!=SJ-Wt>#$0SGM9#()0a6@BZi*SffZ5oPe<)5;e5sQ%|4w|Dvwnp zMvai96l7oK*LFzW^LB#*0TNND_BC|!M1HQ{$J2S9=gs9f+m~}Zp(%vMmR!oXEa%hF zLA22De+D?unLZhtn`S)Kl5cCDpIw4nN(=Qz&v%Mj*}yp~*Tbpi1b{C!8`q`c{i>TS zR^O?^%KrCI1rl1}9CqlcNHwF0nxAO{5L|O_?)Qxx6xC`#ts#%3KPXWu_<_o&HN%4E z=y1+UI^a{AkY&Q)Z*2fKTll35_ngsZq~Jr;-9rT~U=E`jAOHw^_Bml03t&Dfn8ekd zRkTI!jEA=drG#+4teB>lXqbK$T2<&&b8m53t}t6%hW&yn!lFA$A&1PKKe}4i(d0ea z!0)GR$y6zRGBKK!^D~4J9x;`aVHa2S4)-7_(-Y_iZrdTmb?Cxzjouz?`|IQ07vCSH zqE(CvPDI3MNn?1usqOFu5H84#_&H{6F$9-&3}NkHbx;swQqmb;CZjK~<;!5(NUN{o z^+^+L;cNRV1CADW+{PO_CT~qx+ca5&LEoG(pknDx(ZcaK9B6N!B7AODdpBA_Luut* zR5Vl+uO-lO;oz(NIOZ0a)fdHt^zO7Gnr1>6@umFDtxf;=ROmV>Ud}?12yS$h=_Xie z6zv{UXufF7O0=m3Bzkjkf{qLL^BRwi*da)2{OAj4pb3@;#|vw@hEjT-kEHv_fwKw~ zuFHM6m5RXGbF#@WA`LaQ%^*uPxH$taN;y~XR@zkCNR^^`I)BvN-L9sav4INQmYJ4SgEmPtopL zG$|f+-*9{Q`6Y4KRgKYMMLvX$q@Rg8qD$vvY7tmm^P5Br7KQa0VO7J$%b(pcUb5K^ z8DLz~&>{sNkaa7Hr!lztSjLc#Vs%a=EI`gG>n0NhkTbyGf=d*^-_<@UjONj*)gZ-X zsy0o<`El<+Z zQ;Teq+p;cSe&o!|%9D>TOu)Flba9N9j5Qwlg($xM^UH$Vrp9eM|AxsIc($tsd-pB& zm%_-n>Q+e0nf9ShtQjqGaOFh;WGCQ-bSWlUB6~e20oaJBpT`n#Dqc%fJKyZlw6E0q z5WY6<1BHs;wRv5qxx9Omuwfb-X2YE{$+)%&wd!8iLchAjVo^#21U3nVbDiYz3>1q^ zF&Gp@d5?!{W#7Eo5Pu0oP{Rk4Q#pV>>$Z`kfgyQiR8C28E($kK^58`SSP$_fNfAoo z(u0!e{wI{oom}opMeEBj5^Gck$iMGy9!pR&l7EWd`z8FeR08L!K-`I88rxU#k}z{U zLBtSDS7v$kAm3*=qAyVRSsS0-l&~@vyb!&hWB~u$Sc=_Dp?y8E&=#^i=r*7Z!uosU zzqcXRXQ)Bq8u<~}yd6xlzS&)}gJ-E&;x-4h(VEwp#RhN9-IVl`5*aSp)znQMaaVe^ zT~|6Ql8vWi`|Cf!QF&n)cnQQ)v;?o#qR`^=$tHR|l@=7p#BWoaA(GTnc7I*eB zBah!JR*OZs`Nocovo-z_lKgse#Xi7UopKD*48H~tK%sr zOu>Xu#D2w5hs6xk10C?v(dILGjEH^9z}*hnSap?|@DgDG)h8UA5RHb`afi#_u?J`p z9J7hc{xwy;dxIBG=8p?VfVq-us+5&+fkmgnAOHY_?UU5Qo3`2j0iXtePyhfJsO;3S O#Ao{g000001X)@wsFt1p literal 0 HcmV?d00001