2016-11-14 3 views
-1

외부 라이브러리가 필요한 내 라이브러리를 빌드 할 때 cmake를 사용하고 있습니다. 각 외부 라이브러리에는 자체 메이크 파일이 있습니다. 내 CMakeLists.txt 파일에서이 일련의 명령을 호출하면 아무 일도 일어나지 않습니다.cmake로 외부 라이브러리 구축하기

내가 잘못하고있는 아이디어가 있습니까? 기본적으로 빌드 대상를 들어

add_custom_target(blake 
     COMMAND mkdir -p ${LIBSCAPI_BUILDIR}/blake 
     && cp -r ${LIBSCAPI_BUILDIR}/lib/BLAKE2/sse/. ${LIBSCAPI_BUILDIR}/BLAKE2 
     make -C ${LIBSCAPI_BUILDIR}/BLAKE2 
     make -C ${LIBSCAPI_BUILDIR}/BLAKE2 BUILDDIR=$(builddir) install 
     cp ${LIBSCAPI_BUILDIR}/BLAKE2/libblake2.a install/lib/ 
     touch compile-blake) 

답변

0

, 당신은 add_custom_target 호출에 모든 옵션을 추가해야합니다 : 나는 'ALL'옵션을 추가

add_custom_target(blake ALL 
    COMMAND ... 
) 
+0

는, cmake에서 오류가 발생 : 'MKDIR을 : 잘못된 옵션 - 'r' ' – liorko

+0

그래서 명령에 문제가 있습니다. 모든 새로운 명령어는 * COMMAND * 키워드 앞에 붙여야한다 :'make '와는 달리,'CMake'는 자동으로 newline을 새로운 명령어로 취급하지 않는다. '&&'는 * COMMAND *로 대체 될 수 있습니다 : 모든 명령은 순서대로 실행되고, 실패한 명령이 실패하면 빌드가 종료됩니다. [add_custom_target documentation] (https://cmake.org/cmake/help/v3.7/command/add_custom_target.html)에서 자세한 정보를 확인할 수 있습니다. – Tsyvarev

관련 문제