CMake 3.17.0에는 새로운 Ninja 스크립트 생성기, 개선 사항 등이 함께 제공됩니다.

출시 크로스 플랫폼 오픈 소스 스크립트 생성기의 새로운 버전 씨메이크 3.17, 여기서 개발자는 일했습니다 새를 추가하려면 "Ninja Multi-Config"라는 스크립트 생성기, Visual Studio 스크립트 생성기 개선, 일반 최적화 등.

모르는 사람들을 위해 CMake, 그들은 알아야합니다 다중 플랫폼 코드 생성 또는 자동화 도구입니다. Autotools의 대안으로 작동하며 KDE, LLVM / Clang, MySQL, MariaDB, ReactOS 및 Blender와 같은 프로젝트에서 사용됩니다.

CMake 간단한 스크립팅 언어를 제공하는 것으로 유명합니다. 모듈간에 기능 확장, 최소 종속성 수 (M4, Perl 또는 Python에 대한 바인딩 없음), 캐싱 지원, 교차 컴파일을위한 도구의 존재, 광범위한 빌드 시스템 및 컴파일러 용 빌드 파일 생성 지원, 테스트 및 빌드 스크립트를 정의하기위한 ctest 및 cpack 유틸리티 존재, 빌드 매개 변수를 대화식으로 구성하기위한 cmake-gui 유틸리티.

이 유틸리티 소프트웨어의 컴파일 프로세스를 제어하는 ​​데 사용 단순하고 플랫폼 독립적 인 구성 파일을 사용합니다. 원하는 개발 환경에서 사용할 수있는 네이티브 메이크 파일 및 작업 공간을 생성합니다.

GNU 빌드 시스템과 비슷합니다. CMakeLists.txt라는 CMake의 경우 프로세스가 구성 파일에 의해 제어된다는 점에서 Unix.

CMake 3.17.0의 새로운 기능

처음에 언급했듯이이 새 버전의 CMake 3.17.0에서 눈에 띄는 주요 참신함 중 하나는 새 빌드 스크립트 생성기 추가 이름이«인 Ninja 도구를 기반으로합니다.Ninja 다중 구성«,이 새로운 발전기는 이전 발전기와 다릅니다. 동시에 여러 빌드 구성을 처리 할 수있는 기능을 제공합니다.

그 동안에, 빌드 스크립트 생성기에서 Visual Studio의 경우 이제 각 설정에 첨부 된 소스 파일을 정의 할 수 있습니다.

CUDA에 대한 메타 매개 변수를 설정하는 기능 ( "Cuda_std_03", "cuda_std_14"등) 도구에 추가되었습니다 컴파일러 함수 (컴파일 함수)를 구성합니다.

그 외에도 광고에는 변수가 추가되었습니다 «CMAKE_CUDA_RUNTIME_LIBRARY"Y"CUDA_RUNTIME_LIBRARY»CUDA를 사용할 때 런타임 라이브러리 유형을 선택하고,«FindCUDAToolkit»모듈을 사용하여 CUDA 언어를 포함하지 않고 시스템에서 사용 가능한 CUDA 도구를 결정합니다.

CMake 3.17.0에서«– 디버그 찾기»검색 할 때 추가로 읽을 수있는 진단을 표시하도록 추가되었습니다. 비슷한 목적을 위해 변수 CMAKE_FIND_DEBUG_MODE.

추가됨 «FindCURL»모듈에서 CURL 도구 찾기 지원 cmake에 의해 생성 된 "CURLConfig.cmake"구성 파일을 사용합니다. 이 동작을 비활성화하기 위해 CURL_NO_CURL_CMAKE 변수가 제공됩니다.

모듈 FindPython은 Python 구성 요소를 검색하는 기능을 추가합니다. «에 의해 제어되는 가상 환경에서콘도".

추가됨 옵션 «–No-tests = [오류 | 무시]»ctest 유틸리티로 증거가없는 상태에서 행동을 결정하다 및 "–repeat"를 사용하여 테스트를 다시 시작하는 조건을 지정합니다 (시간 초과 후 통과 할 때까지).

발표에 언급 된 다른 변경 사항 중 :

  • 빌드 대상 속성 인터페이스_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS 정적으로 어셈블 된 라이브러리의 내부 종속성간에 전송되었습니다.
  • MinGW 툴킷을 사용할 때 다음 명령을 사용하여 DLL 파일 검색 find_library 기본적으로 비활성화되어 있습니다 (대신 기본적으로 ".dll.a"라이브러리를 가져 오려고합니다).
  • Ninja 생성기에서 ninja 유틸리티를 선택하는 논리는 이제 실행 파일 이름에 의존하지 않습니다. 첫 번째 유틸리티가 사용됩니다. 닌자 빌드, 닌자 o 은 samu PATH 환경 변수를 통해 정의 된 경로에 있습니다.
  • 명령 "-»별도의 명령 대신 파일과 디렉토리를 제거하는 데 사용할 수있는 cmake 유틸리티에 추가되었습니다«-E 제거"Y"-E 제거 _ 디렉터리".

최종적으로 그것에 대해 더 알고 싶다면에서이 새 버전의 발표를 확인할 수 있습니다. 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.