diff options
Diffstat (limited to 'cmake/Functions.cmake')
-rw-r--r-- | cmake/Functions.cmake | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/cmake/Functions.cmake b/cmake/Functions.cmake index cc6f609f6..44313d8cf 100644 --- a/cmake/Functions.cmake +++ b/cmake/Functions.cmake @@ -1033,18 +1033,26 @@ endfunction() function(get_configs result) if(QT_GENERATOR_IS_MULTI_CONFIG) - set(${result} ${CMAKE_CONFIGURATION_TYPES} PARENT_SCOPE) + set(${result} ${CMAKE_CONFIGURATION_TYPES}) else() - set(${result} ${CMAKE_BUILD_TYPE} PARENT_SCOPE) + set(${result} ${CMAKE_BUILD_TYPE}) + endif() + if(NOT ${result}) + message(FATAL_ERROR "No valid configurations found !") endif() + set(${result} ${${result}} PARENT_SCOPE) endfunction() function(get_architectures result) - if(QT_IS_MACOS_UNIVERSAL OR IOS) - set(${result} ${CMAKE_OSX_ARCHITECTURES} PARENT_SCOPE) + if(CMAKE_OSX_ARCHITECTURES) + set(${result} ${CMAKE_OSX_ARCHITECTURES}) else() - set(${result} ${CMAKE_SYSTEM_PROCESSOR} PARENT_SCOPE) + set(${result} ${CMAKE_SYSTEM_PROCESSOR}) endif() + if(NOT ${result}) + message(FATAL_ERROR "No valid architectures found. In case of cross-compiling make sure you have CMAKE_SYSTEM_PROCESSOR in your toolchain file.") + endif() + set(${result} ${${result}} PARENT_SCOPE) endfunction() function(add_gn_build_aritfacts_to_target cmakeTarget ninjaTarget module buildDir completeStatic) @@ -1053,14 +1061,9 @@ function(add_gn_build_aritfacts_to_target cmakeTarget ninjaTarget module buildDi # the minimum cmake we support get_configs(configs) get_architectures(archs) - if(NOT configs) - message(FATAL_ERROR "No valid configurations found !") - endif() - if(NOT archs) - message(FATAL_ERROR "No valid architectures found. In case of cross-compiling make sure you have CMAKE_SYSTEM_PROCESSOR in your toolchain file.") - endif() foreach(config ${configs}) foreach(arch ${archs}) + set(target ${ninjaTarget}_${config}_${arch}) add_ninja_target(${target} ${cmakeTarget} ${ninjaTarget} ${config} ${arch} ${buildDir}) add_ninja_command( @@ -1080,15 +1083,14 @@ function(add_gn_build_aritfacts_to_target cmakeTarget ninjaTarget module buildDi else() extend_cmake_target(${target} ${buildDir}/${config}/${arch} ${completeStatic}) endif() + unset(target) endforeach() + list(GET archs 0 arch) + set(target ${ninjaTarget}_${config}_${arch}) if(QT_IS_MACOS_UNIVERSAL) - set(arch ${CMAKE_SYSTEM_PROCESSOR}) - set(target ${ninjaTarget}_${config}_${arch}) add_lipo_command(${target} ${buildDir}/${config}) endif() if(IOS) - list(GET archs 0 arch) - set(target ${ninjaTarget}_${config}_${arch}) add_ios_lipo_command(${target} ${buildDir}/${config}) endif() endforeach() |