
CMAKE CONAN C 및 C ++ 패키지 관리자의 CMAKE 의존성 제공 업체.
cmake-conan 의 권장 프로덕션 버전입니다. |
|---|
CMAKE 의존성 제공 업체를 사용하는 develop2 2 용 cmake-conan 통합은 아직 1.0으로 릴리스되지 않더라도 Conan 1의 레거시 cmake-conan 보다 더 안정적이고 제작 준비가 권장됩니다. Conan 2 및 새로운 cmake-conan Integration에서 develop2 하십시오. |
전제 조건 :
conanfile.txt 또는 conanfile.py 가 포함 된 Cmake 기반 프로젝트. 먼저,이 저장소를 develop2 2 지점에서 복제하십시오.
git clone https://github.com/conan-io/cmake-conan.git -b develop2 이 저장소에는 fmt 에 의존하는 예제 프로젝트가 포함 된 CMakeLists.txt 포함되어 있습니다.
cd cmake-conan/example
mkdir build
cmake -B build -S . -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=../conan_provider.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release 프로젝트의 루트에 conanfile.txt 또는 conanfile.py 배치하여 요구 사항을 나열해야합니다. 예를 들어 Conanfile.txt를 보거나 conanfile : .txt Docs, .py Docs에 대한 Conan 문서를 확인할 수 있습니다.
프로젝트를 구성하기 위해 CMAKE를 처음 호출 할 때 -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=[path-to-cmake-conan]/conan_provider.cmake . 이를 통해 CMAKE 내에서 conan install 호출되도록합니다. 이 통합은 CMakeLists.txt 스크립트를 변경할 필요가 없습니다 .
cd [your-project]
mkdir build
cmake -B build -S . -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=[path-to-cmake-conan]/conan_provider.cmake -DCMAKE_BUILD_TYPE=ReleaseCMakeToolchain (예 : 컴파일러 자체 또는 기타 글로벌 빌드 설정)이 제공하는 빌드 설정의 경우 CMakeDeps 생성기 만 지정됩니다. 문서에 따라 CONAN을 별도로 호출하십시오.find_package 에 대한 호출을 만족시킬 수 있도록 만 작동합니다. 예를 들어 find_program , find_library , find_path 또는 find_file 직접 호출하여 find_package 외부에 논리가있는 종속성의 경우 올바르게 작동하지 않을 수 있습니다.CMAKE_BUILD_TYPE 지정해야합니다 (비워 둘 수 없음). Cmake-Conan 의존성 제공 업체는 현재 빌드에 대해 CMAKE가 감지 한 설정에서 설정 ( os , arch , compiler , build_type )이 검색되는 Conan 프로파일을 만듭니다. Conan은 종속성에 대한 두 가지 프로파일의 프로파일을 사용합니다. 호스트 및 빌드 프로파일. 당신은 그들에 대해 더 많이 읽을 수 있습니다. Cmake-Conan에서는 기본 동작이 다음과 같습니다.
default 코난 프로파일로 돌아갑니다.default 코난 프로파일. 위의 작업이 작동하려면 default 프로필이 이미 있어야합니다. 그렇지 않으면 cmake-conan 시스템 기본값을 추측하려고하는 Conan의 자동 측정 메커니즘을 호출합니다.
프로필을 사용자 정의 해야하는 경우 CONAN_HOST_PROFILE 및 CONAN_BUILD_PROFILE 의 값을 수정하여 CMAKE 캐시 변수로 전달하여 프로파일을 사용자 정의 할 수 있습니다. 몇 가지 예 :
-DCONAN_HOST_PROFILE="default;auto-cmake" : 위에서 설명한대로 자동 측정을 수행하고 다른 방법 (기본 동작)에 대한 기본 프로파일로의 붕괴.-DCONAN_HOST_PROFILE=clang16 : 자동 측정을 수행하지 말고 Conan 프로파일 폴더에 존재 해야하는 clang16 프로파일을 사용하십시오 (문서 참조).-DCONAN_BUILD_PROFILE="/path/to/profile" : 또는 파일 시스템의 어느 곳에도있는 프로필 파일로의 경로를 제공하십시오.-DCONAN_HOST_PROFILE="default;custom" : 세미콜론 분리 프로파일 목록. 화합물 프로파일이 사용됩니다 (문서 참조) - 왼쪽에서 오른쪽으로 계산되며 오른쪽이 우선 순위가 가장 높습니다. CMAKE-Conan 의존성 제공 업체는 위에서 설명한대로 프로파일 정보를 자동으로 설정하고 전달합니다. conan install 명령 호출을 추가로 사용자 정의 해야하는 경우 CONAN_INSTALL_ARGS 변수를 사용할 수 있습니다.
CONAN_INSTALL_ARGS 초기화되어 --build=missing . 이 변수를 사용자 정의하는 경우 --build 플래그를 지정하지 않는 한 Conan이 기본 동작으로 되돌아 갈 것임을 알려주십시오.conanfile.txt|.py 로가는 경로 및 출력 형식 ( --format )으로 설정되어서는 안됩니다.--build=never;--update;--lockfile-out='' 몇 가지 테스트가 있으며 Pytest와 함께 파이썬으로 실행할 수 있습니다.
$ pytest -rA