nanomsg을 사용하는 TensorFlow의 개인 포크 위에 모듈을 작성했습니다.Bazel 프로젝트 내에서 CMake 라이브러리 만들기
로컬 개발 서버의 경우 cmake install
을 사용하여 nanomsg (/usr/local
)를 설치하고 설치된 위치에서 헤더 파일에 액세스했습니다. 프로젝트는 로컬에서 잘 실행됩니다.
그러나 이제는 TensorFlow 작업 공간에서 nanomsg를 패키징해야합니다. 나는 다음과 같은 두 가지 방법을 시도하고, 발견 한 어느 쪽도하지 만족 :
을 OpenCV에 대한 this answer 유사, 나는 개인 저장소에 nanomsg를 미리 컴파일 http_archive directive는 다음을 포함하여 (
tensorflow/workspace.bzl
이내) 내 작업 공간 내에서로드 헤더 및 라이브러리와 관련된 빌드 스크립트 이것은 잘 실행되지만 휴대용 솔루션은 아닙니다.더 많은 휴대용 솔루션으로 나노 미터를 구축하는 데 사용할 수있는
cmake
명령의 특정 시퀀스를 실행하기 위해genrule
을 만들었습니다. 이 접근법은 깔끔하지만 다른 프로젝트의cmake
에는genrule
을 재사용 할 수 없습니다. (나는 this discussion을 언급했다).
분명히 cmake
은 Bazel 빌드의 일류 시민으로 지원되지 않습니다. 자신의 프로젝트에서이 문제에 직면 한 사람이 누구나 cmake
을 사용하여 빌드 된 Bazel 프로젝트 내에 라이브러리를 포함 할 수있는 일반적인 휴대용 방법을 만들었습니까? 그렇다면 어떻게 접근 했습니까?
얼마나 휴대 성이 좋습니까? 리눅스, 맥 OS, 윈도우? 2의 경우, 다른 프로젝트에 동일한 genrule을 사용할 수없는 것은 왜 문제입니까? 나는 Bazel에 대해 연구하고 있으며, 지금까지는 일반적인 해결책을 제시 한 사람에 대해 들어 보지 못했습니다. –