«cmake» 태그된 질문

CMake는 크로스 플랫폼, 오픈 소스 빌드 시스템 생성기입니다. 네이티브 통합 파일, 닌자 빌드 및 여러 통합 개발 환경을위한 프로젝트 파일과 같은 빌드 시스템 용 파일을 생성합니다.

4
어쨌든 CMAKE_MODULE_PATH를 지정 해야하는 경우 find_package ()는 어떻게 사용됩니까?
CMake를 사용하여 크로스 플랫폼 빌드 시스템을 사용하려고합니다. 이제 소프트웨어에는 몇 가지 종속성이 있습니다. 직접 컴파일하여 시스템에 설치했습니다. 설치된 예제 파일들 : -- Installing: /usr/local/share/SomeLib/SomeDir/somefile -- Installing: /usr/local/share/SomeLib/SomeDir/someotherfile -- Installing: /usr/local/lib/SomeLib/somesharedlibrary -- Installing: /usr/local/lib/SomeLib/cmake/FindSomeLib.cmake -- Installing: /usr/local/lib/SomeLib/cmake/HelperFile.cmake 이제 CMake는 파일 find_package()을 열고 Find*.cmake시스템의 라이브러리를 검색하고 SomeLib_FOUND등의 변수를 정의합니다 . 내 CMakeLists.txt에는 …
167 cmake 

4
CMake?를 사용하여 폴더의 모든 파일을 대상에 자동으로 추가 하시겠습니까?
Visual C ++, XCode 및 makefile의 별도 빌드 관리 시스템에서 크로스 플랫폼 프로젝트를 CMake로 전환하는 것을 고려하고 있습니다. 필요한 한 가지 필수 기능은 디렉토리의 모든 파일을 대상에 자동으로 추가하는 것입니다. 이것은 make로하기 쉽지만 Visual C ++ 및 XCode로는 쉽게 수행 할 수 없습니다 (잘못된 경우 수정하십시오). CMake에서 직접 할 수 …

3
CMake는 정확히 어떻게 작동합니까?
나는 이것을 나 자신에게 요구하지 않습니다. 나는이 질문이 저를 좋아하는 많은 초보자를위한 참고 자료가되기를 바랍니다.이 작은 CMakeLists.txt파일의 경우 장면 뒤에서 정확히 무슨 일이 있었는지에 대해 완전히 당황했습니다. cmake_minimum_required (VERSION 2.6) project(Tutorial) add_executable(Tutorial tutorial.cpp) 그리고 그런 작은 tutorial.cpp int main() { return 0; } 너무 많은 파일이 생성됩니다 CMakeCache.txt cmake_install.cmake Makefile …
158 cmake 

5
CMake에서 GLOB 또는 각 파일을 사용하여 소스 파일을 개별적으로 지정하는 것이 더 좋습니까?
CMake는 대상의 소스 파일을 지정하는 여러 가지 방법을 제공합니다. 하나는 예를 들어 globbing ( documentation ) 을 사용하는 것입니다 . FILE(GLOB MY_SRCS dir/*) 다른 방법은 각 파일을 개별적으로 지정하는 것입니다. 어느 방법이 선호됩니까? 글 로빙은 쉬워 보이지만 단점이 있다고 들었습니다.
157 cmake 

4
CMake에서 컴파일러가 Clang인지 어떻게 테스트합니까?
크로스 플랫폼 CMake 빌드 스크립트 세트가 있으며 Visual C ++ 및 GCC를 사용한 빌드 를 지원 합니다. Clang을 시도하고 있지만 CMake 스크립트를 사용하여 컴파일러가 Clang인지 여부를 테스트하는 방법을 알 수 없습니다. 컴파일러가 Clang인지 아닌지 테스트하려면 어떻게해야합니까? 우리는 현재 사용하고있는 MSVC및 CMAKE_COMPILER_IS_GNU<LANG>각각 GCC 비주얼 C를 테스트 ++합니다.
151 c++  c  cmake  clang 



4
cmake로 공유 라이브러리를 만드는 방법은 무엇입니까?
자체 작성 Makefile을 사용하여 컴파일하는 데 사용한 라이브러리를 작성했지만 이제는 cmake로 전환하려고합니다. 나무는 다음과 같습니다 (관련없는 파일을 모두 제거했습니다). . ├── include │ ├── animation.h │ ├── buffers.h │ ├── ... │ ├── vertex.h │ └── world.h └── src ├── animation.cpp ├── buffers.cpp ├── ... ├── vertex.cpp └── world.cpp 그래서 …

2
CMake : 단위 테스트를 사용한 프로젝트 구조
프로덕션 소스 ( src하위 폴더) 및 테스트 (하위 폴더) 를 포함하도록 프로젝트를 구성하려고합니다 test. CMake를 사용하여이를 빌드하고 있습니다. 최소한의 예로 다음 파일이 있습니다. CMakeLists.txt : cmake_minimum_required (VERSION 2.8) project (TEST) add_subdirectory (src) add_subdirectory (test) src / CMakeLists.txt : add_executable (demo main.cpp sqr.cpp) src / sqr.h #ifndef SQR_H #define SQR_H double …

1
CMAKE가 오류를 발생시키는 원인
CMAKE가 특정 조건에서 오류를 생성하도록하려면 어떻게해야합니까? 즉, 나는 다음과 같은 것을 원합니다 : if( SOME_COND ) error( "You can't do that" ) endif()
136 cmake 


6
gcc / cmake를 사용하여 64 비트 Linux 시스템에서 32 비트 바이너리를 컴파일하는 방법
그것은에서 프로젝트를 컴파일하는 것이 가능 32 비트 와 cmake와 gccA의 64 비트 시스템? 그럴 수도 있지만 어떻게해야합니까? 매개 변수 / 플래그 / 등을 설정하지 않고 "무지한"방법을 시도했을 때 LD_LIBRARY_PATH연결된 라이브러리를 찾기 위해 설정 ~/tools/lib하면 무시하고 lib64 라는 하위 디렉토리 만 찾습니다 .
129 linux  gcc  64-bit  cmake  32-bit 

4
외부 라이브러리에 대한 CMake 링크
동일한 CMake 프로젝트 내에서 빌드되지 않은 외부 공유 라이브러리에 실행 파일을 연결하도록 CMake를 얻는 방법은 무엇입니까? 그냥 target_link_libraries(GLBall ${CMAKE_BINARY_DIR}/res/mylib.so)하면 오류가 발생합니다. make[2]: *** No rule to make target `res/mylib.so', needed by `GLBall'. Stop. make[1]: *** [CMakeFiles/GLBall.dir/all] Error 2 make: *** [all] Error 2 (GLBall is the executable) 라이브러리를 바이너리 dir에 …
126 cmake 

10
GTest 및 CMake 작업을 시작하는 방법
나는 최근에 C ++ 프로젝트를 컴파일하기 위해 CMake를 사용하여 판매되었으며 이제 내 코드에 대한 일부 단위 테스트 작성을 시작하고 싶습니다. 이 문제를 해결하기 위해 Google 테스트 유틸리티를 사용하기로 결정했지만 시작하는 데 도움이 필요합니다. 저는 하루 종일 다양한 가이드와 예제를 읽고 있었는데 여기에는 Primer , IBM 소개 , SO에 대한 몇 …


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.