如果检测到64位架构,我想在我的CMakeLists.txt中覆盖“qt”环境变量。 我怎样才能做到这一点? 任何帮助表示赞赏!
答案 0 :(得分:1)
您可以使用set
替换环境变量的值,检测64位架构的常用方法是使用CMAKE_SIZEOF_VOID_P
。
所以,例如要将/x64
或/x86
附加到环境变量QtEnvVar
,您可以执行以下操作:
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(EnvVarSetter)
message(STATUS "CMAKE_SIZEOF_VOID_P: ${CMAKE_SIZEOF_VOID_P}")
message(STATUS "QtEnvVar before: $ENV{QtEnvVar}")
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(ENV{QtEnvVar} "$ENV{QtEnvVar}/x64")
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(ENV{QtEnvVar} "$ENV{QtEnvVar}/x86")
else()
message(FATAL_ERROR "Unknown void* size.")
endif()
message(STATUS "QtEnvVar after: $ENV{QtEnvVar}")