@@ -895,39 +895,42 @@ namespace vix::commands::RunCommand::detail
895895 {
896896 const auto runs = list_presets (dir, " build" );
897897
898+ if (runs.empty ())
899+ {
900+ if (!userRunPreset.empty ())
901+ return userRunPreset;
902+
903+ if (configurePreset.rfind (" dev-" , 0 ) == 0 )
904+ return " run-" + configurePreset.substr (4 );
905+
906+ return " run-ninja" ;
907+ }
908+
898909 auto has = [&](const std::string &n)
899910 {
900911 return std::find (runs.begin (), runs.end (), n) != runs.end ();
901912 };
902913
903- if (!userRunPreset.empty () && (runs. empty () || has (userRunPreset) ))
914+ if (!userRunPreset.empty () && has (userRunPreset))
904915 return userRunPreset;
905916
906- if (!runs.empty ())
907- {
908- if (has (" run-" + configurePreset))
909- return " run-" + configurePreset;
917+ if (has (" run-" + configurePreset))
918+ return " run-" + configurePreset;
910919
911- if (configurePreset.rfind (" dev-" , 0 ) == 0 )
912- {
913- const std::string mapped = " run-" + configurePreset.substr (4 );
914- if (has (mapped))
915- return mapped;
916- }
917-
918- if (has (" run-ninja" ))
919- return " run-ninja" ;
920-
921- if (has (" build-ninja" ))
922- return " build-ninja" ;
923-
924- return runs.front ();
920+ if (configurePreset.rfind (" dev-" , 0 ) == 0 )
921+ {
922+ const std::string mapped = " run-" + configurePreset.substr (4 );
923+ if (has (mapped))
924+ return mapped;
925925 }
926926
927- if (configurePreset.rfind (" dev-" , 0 ) == 0 )
928- return " run-" + configurePreset.substr (4 );
927+ if (has (" run-ninja" ))
928+ return " run-ninja" ;
929+
930+ if (has (" build-ninja" ))
931+ return " build-ninja" ;
929932
930- return " run-ninja " ;
933+ return runs[ 0 ] ;
931934 }
932935
933936 bool has_cmake_cache (const fs::path &buildDir)
0 commit comments