저는 주로 C++로 작성된 프로젝트를 위해 사소한 크로스 플랫폼 빌드 시스템을 통합하려고합니다. 지금까지 Cmake와 Scons를 평가 해 보았습니다. 둘 다 GNU를 개선 한 것으로 나타 났지만이 도구를 사용하려고 시도한 컨텍스트에서 어느 방식도 우아하거나 투명하게 보이지 않았습니다. 이로 인해 Boost Build (Bjam)가 생겼고, 내 프로젝트가 Boost에 종속되어 있다면 bjam이 실행 가능한 대상 플랫폼 에 대해 이미 제공되어야한다고 권장합니다.gcov coverage 분석을위한 Bjam?
저는 Jenkins와 같은 빌드 서버에 최종 통합하기 위해 라이브러리의 단위 테스트를위한 코드 커버리지를 깔끔하게 통합하는 데 어려움을 겪었습니다. - 단지
- 자료 : 나는 Bjam 최고/표준 관행에 의해 인도 될 기꺼이 동안, 나는 세 가지 "변종을"필요가 있다고 생각 라이브러리 및 유닛 테스트
- 커버리지 - 커버리지가 가능한 라이브러리를 빌드하고 커버리지가 지원되지 않는 유닛 테스트와 링크.
기본적으로 표준 디버그 및 릴리스 빌드 외에도 특수 데이터 디버그 빌드를 사용하여 적용 범위 데이터를 수집하고 싶습니다.
(적어도) g ++ 및 msvc ...로 빌드해야하고 g ++와 함께 gcov 스위치 만 사용해야합니다. 이는 내 라이브러리 타겟이 유닛 테스트 실행 파일 타겟과 다른 "컴파일러 플래그"를 필요로한다는 것을 의미하고, 컴파일러 스위트 중 하나만을 위해 ... 그리고 한 가지 변형을 위해서만 필요합니다.
Bjam을 사용하여이 작업을 수행하는 것이 가장 좋은 방법인지는 분명하지 않지만 상당히 일반적인 사용 사례 여야합니다. Bjam은 gcov coverage 분석을 명시 적으로 지원합니까 (lcov를 사용하여 결과 표시 가능)? 그렇지 않은 경우 위의 (단순화 된) 시나리오를 지원하는 전략을 누군가에게 추천 할 수 있습니까? bjam는 gcov를 위해 명시 적으로 지원이 있는지 여부 - -
해당 포인터 주셔서 감사합니다 ...차라리 적어도 gcc/gcov에서 제대로 작동하는 샘플을 찾길 바랬는데 ... – aSteve