@@ -470,19 +470,28 @@ fn build_multiple_ciphers(target: &str, out_path: &Path) {
470470 . unwrap ( ) ;
471471
472472 if let Some ( ref cc) = cross_cc {
473- if cc. contains ( "aarch64" ) && cc. contains ( "linux" ) {
474- cmake_opts. push ( & cmake_toolchain_opt) ;
475- writeln ! ( toolchain_file, "set(CMAKE_SYSTEM_NAME \" Linux\" )" ) . unwrap ( ) ;
476- writeln ! ( toolchain_file, "set(CMAKE_SYSTEM_PROCESSOR \" arm64\" )" ) . unwrap ( ) ;
477- } else if cc. contains ( "x86_64" ) && cc. contains ( "darwin" ) {
478- cmake_opts. push ( & cmake_toolchain_opt) ;
479- writeln ! ( toolchain_file, "set(CMAKE_SYSTEM_NAME \" Darwin\" )" ) . unwrap ( ) ;
480- writeln ! ( toolchain_file, "set(CMAKE_SYSTEM_PROCESSOR \" x86_64\" )" ) . unwrap ( ) ;
481- }
482- }
483- if let Some ( cc) = cross_cc {
473+ let system_name = if cc. contains ( "linux" ) {
474+ "Linux"
475+ } else if cc. contains ( "darwin" ) {
476+ "Darwin"
477+ } else {
478+ panic ! ( "Unsupported cross target {}" , cc)
479+ } ;
480+
481+ let system_processor = if cc. contains ( "x86_64" ) {
482+ "x86_64"
483+ } else if cc. contains ( "aarch64" ) {
484+ "arm64"
485+ } else {
486+ panic ! ( "Unsupported cross target {}" , cc)
487+ } ;
488+
489+ cmake_opts. push ( & cmake_toolchain_opt) ;
490+ writeln ! ( toolchain_file, "set(CMAKE_SYSTEM_NAME \" {}\" )" , system_name) . unwrap ( ) ;
491+ writeln ! ( toolchain_file, "set(CMAKE_SYSTEM_PROCESSOR \" {}\" )" , system_processor) . unwrap ( ) ;
484492 writeln ! ( toolchain_file, "set(CMAKE_C_COMPILER {})" , cc) . unwrap ( ) ;
485493 }
494+
486495 if let Some ( cxx) = cross_cxx {
487496 writeln ! ( toolchain_file, "set(CMAKE_CXX_COMPILER {})" , cxx) . unwrap ( ) ;
488497 }
0 commit comments