@@ -83,9 +83,39 @@ def test_update_single_package
83
83
# ...and notably no test for adder, which must be disabled from the option override from above
84
84
assert_equal [ 'simple' , 'using-adder' ] , exes
85
85
}
86
+ update_with_option_off_and_build_with_uri_shorthand_syntax = -> {
87
+ prj . create_lists_from_default_template package : <<~PACK
88
+ CPMAddPackage(
89
+ URI gh:cpm-cmake/testpack-adder@1.0.0
90
+ OPTIONS "ADDER_BUILD_TESTS OFF"
91
+ )
92
+ PACK
93
+ assert_success prj . configure
94
+ assert_success prj . build
95
+
96
+ exe_dir = File . join ( prj . bin_dir , 'bin' )
97
+ assert File . directory? exe_dir
98
+
99
+ exes = Dir [ exe_dir + '/**/*' ] . filter {
100
+ # on multi-configuration generators (like Visual Studio) the executables will be in bin/<Config>
101
+ # also filter-out other artifacts like .pdb or .dsym
102
+ !File . directory? ( _1 ) && File . stat ( _1 ) . executable?
103
+ } . map {
104
+ # remove .exe extension if any (there will be one on Windows)
105
+ File . basename ( _1 , '.exe' )
106
+ } . sort
107
+
108
+ # we should end up with two executables
109
+ # * simple - the simple example from adder
110
+ # * using-adder - for this project
111
+ # ...and notably no test for adder, which must be disabled from the option override from above
112
+ assert_equal [ 'simple' , 'using-adder' ] , exes
113
+
114
+ }
86
115
87
116
create_with_commit_sha . ( )
88
117
update_to_version_1 . ( )
89
118
update_with_option_off_and_build . ( )
119
+ update_with_option_off_and_build_with_uri_shorthand_syntax . ( )
90
120
end
91
121
end
0 commit comments