주로 CMake에 대한 경험을 얻기 위해 CMake로 변환하려는 Makefile이있는 작은 프로젝트가 있습니다. 이 예제의 목적을 위해 프로젝트에는 소스 파일 (C ++, 언어가 특별히 관련이 없다고 생각하지만)과 내가 다른 곳에서 복사 한 정적 라이브러리 파일이 포함되어 있습니다. 논쟁을 위해 라이브러리에 대한 소스 코드를 사용할 수 없다고 가정합니다. .a 파일과 해당 헤더 만 있습니다.
내 수제 Makefile에는 다음 빌드 규칙이 포함되어 있습니다.
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
잘 작동합니다. 이를 재현하도록 CMake에 어떻게 지시합니까? 물론 말 그대로이 정확한 메이크 파일이 아니라 동등한 연결 명령을 포함하는 것입니다. 나는 명백하지만 순진한 방법을 시도했습니다.
add_executable(main main.cpp libbingitup.a)
또는
add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
link_directories(.)
또는 add_library(bingitup STATIC IMPORTED)
등등 과 함께 다양한 것뿐만 아니라 지금까지 성공적인 연결을 초래하는 것은 없습니다. 나는 무엇을해야합니까?
버전 세부 정보 : GCC 4.6.3을 사용하는 Linux (Kubuntu 12.04)의 CMake 2.8.7