CMake에서 사용자 환경 변수를 가져오는 방법(Windows)
CMAKE에서 일반적인 머신 전체의 환경변수를 취득하는 방법을 알고 있습니다.
$ENV{EnvironmentVariableName}
사용자별 환경변수를 검색할 수 없습니다.가능성과 방법은?
CMake 스크립트로 변수 가져오기
cmake 호출이 있는 회선상에 변수를 전달할 수 있습니다.
FOO=1 cmake
또는 변수를 BASH로 내보냄으로써 다음을 수행합니다.
export FOO=1
다음으로 다음 명령을 사용하여 cmake 스크립트로 픽업할 수 있습니다.
$ENV{FOO}
cmake 자체를 호출하여 크로스 플랫폼 방식으로 실행할 수도 있습니다.
cmake -E env EnvironmentVariableName="Hello World" cmake ..
env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...
변경된 환경에서 명령을 실행합니다.
이 작업은 처음에만 수행될 수 있습니다.CMake가 연속된 빌드 중 하나를 사용하여 재설정하는 경우(예: 콜만 하면 됩니다). make
,하나.CMakeLists.txt
변경되어 CMake가 생성 프로세스를 재실행합니다.사용자 정의 환경변수는 시스템 전체 환경변수와 비교하여 존재하지 않을 수 있습니다.
따라서 프로젝트의 사용자 정의 환경 변수를 CMake 캐시된 변수로 전송합니다.
cmake_minimum_required(VERSION 2.6)
project(PrintEnv NONE)
if (NOT "$ENV{EnvironmentVariableName}" STREQUAL "")
set(EnvironmentVariableName "$ENV{EnvironmentVariableName}" CACHE INTERNAL "Copied from environment variable")
endif()
message("EnvironmentVariableName = ${EnvironmentVariableName}")
언급
변수를 내보내야 합니다.예를 들어 Linux의 경우:
export EnvironmentVariableName=foo
보고되지 않은 변수는 CMAKE에서 비어 있습니다.
환경 변수(시스템 속성을 사용하여 수정)는 새 하위 쉘을 생성할 때만 하위 쉘로 전파됩니다.
User env vars를 변경할 때 명령줄 프롬프트(DOS 또는 cygwin)가 열려 있으면 표시되지 않습니다.
사용자 설정을 변경한 후에는 새 명령줄 프롬프트를 열어야 합니다.
Unix/Linux에서는 .bash_rc에 행을 추가합니다.값을 얻으려면 새로운 셸을 시작해야 합니다.
언급URL : https://stackoverflow.com/questions/690223/how-to-retrieve-a-user-environment-variable-in-cmake-windows
'bestsource' 카테고리의 다른 글
여러 줄 명령어 내의 Bash 스크립트에 대한 코멘트 (0) | 2023.04.14 |
---|---|
코드 뒤에 있는 별 모양의 그리드 (0) | 2023.04.14 |
SQL Server의 저장 프로시저에서 텍스트 검색 (0) | 2023.04.14 |
Git에서 오래된 커밋을 태그하는 방법은? (0) | 2023.04.14 |
Windows에 가장 적합한 무료 C++ 프로파일러는 무엇입니까? (0) | 2023.04.14 |