![cmake를 사용하여 RPMS를 빌드할 때 컴파일러 옵션 수정](https://linux55.com/image/204006/cmake%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20RPMS%EB%A5%BC%20%EB%B9%8C%EB%93%9C%ED%95%A0%20%EB%95%8C%20%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%EC%98%B5%EC%85%98%20%EC%88%98%EC%A0%95.png)
저는 Fedora 35에서 잘 돌아가는 Rocky 8 패키지를 만들고 있습니다. rpmbuild -ba를 사용하여 Rocky 8에서 컴파일하려고 하면 다음 오류가 발생합니다. -fPIC을 사용하여 재컴파일할 때 relocation xxxxx를 사용할 수 없습니다.
일반적으로 이는 추가하기 쉽지만 사양 파일은 %cmake 매크로를 사용하여 프로젝트를 빌드합니다. 이 매크로는 많은 것을 포함하도록 확장되었습니다. CFLAGS 등을 정의합니다. 여기에 -fPIC 플래그를 어떻게 추가하나요? 이 매크로는 "rpm -E %cmake"를 사용하여 얻을 수 있지만 -D로 정의되지 않은 다른 플래그를 추가하는 방법은 명확하지 않습니다.
답변1
%cmake 매크로에 -DCMAKE_POSITION_INDEPENDENT_CODE=ON을 매개변수로 전달할 수 있다는 것을 발견했습니다.