2017-10-22 3 views
0

제어 된 빌드 환경에서 빌드에 CMake를 채택하고 싶지만 이러한 시스템에 CMake를 설치할 수 없습니다. 툴체인 파일 (https://cmake.org/Wiki/CMake_Cross_Compiling)을 사용하여 교차 컴파일하는 방법을 자세히 설명한 리소스를 보았습니다.다른 빌드 호스트에 대한 툴체인 파일 사용

이 기술을 사용하여 한 시스템에서 다른 빌드 호스트에서 사용되는 makefile을 빌드하기 위해 CMake를 실행할 수 있습니까? 함정에 대해 자세히 설명하는 리소스가 있습니까? Arm Linux에서 z/OS에 이르기까지 많은 플랫폼에서 Linux에서 makefile을 생성 할 것입니다.

+0

두 가지 의견 : CMake에 대한 하나의 "크로스 컴파일"은 환경을 생성하기 위해 CMake를 실행하는 PC/OS에 "크로스 컴파일러"가 설치되어 있어야한다는 것을 의미합니다. 따라서 다른 PC/OS 환경을 위해 무언가를 생성 할 수 없습니다. 두 번째로, CMake를 설치할 필요가 없습니다. 자체 포함되어있어 예를 들어 실행할 수 있습니다. 소스 제어 이미지로부터. – Florian

+0

@Florian 예, 내가 설명하는 것은 "크로스 컴파일"이 아닙니다. 나는 그것을 피할 수 있다면 아주 오래된 버전의 Z/OS와 AIX에서 CMake를 빌드하는 것을 피하려고합니다. 크로스 컴파일 할 때 호스트 환경 체크를 켜기 위해 플래그를 언급 한 것으로 보이는데, 이것이 내가 밀접하게 관련되어 있다고 생각한 이유입니다. – NerdGGuy

+1

그것이 가능하다해도, CMake가 생성 한 빌드 트리를 다른 곳으로 옮길 수는 없습니다. [CMake의 FAQ : CMake가 전체 경로를 사용하는 이유는 무엇입니까? 아니면 내 빌드 트리를 복사 할 수 있습니까?] (https://cmake.org/Wiki/CMake_FAQ#Why_does_CMake_use_full_paths.2C_or_can_I_copy_my_build_tree.3F) – Florian

답변

1

CMake에 대한 답변

  1. "크로스 컴파일"에 내 의견을 돌리면 환경을 생성하기 위해 CMake를 실행하는 PC/OS에 설치되어있는 "크로스 컴파일러"이 있어야한다 의미한다.

    아니요, 아니요. 다른 PC/OS 환경을위한 메이크 파일.

  2. CMake 생성 빌드 트리를 다른 위치로 이동할 수 없습니다.

    CMake's FAQ: Why does CMake use full paths, or can I copy my build tree?

참고를 참조하십시오 당신은 CMake를 설치할 필요가 없습니다. 자체 포함되어있어 예를 들어 실행할 수 있습니다. 소스 제어 이미지로부터. 따라서 CMake를 실행하기 위해 관리자 권한이 필요하지 않습니다.