2011-08-26 4 views
3

우리는 Windows에서의 빌드를 위해 scons를 사용하고자합니다. 주로 캐싱 기능 (리눅스에서는 ccache를 사용하고 컴파일은 상당히 빠름) 때문입니다. 그러나 모든 프로젝트는 qmake .pro 파일에 정의되어 있습니다. 이제 건물이 작동하는 방식은 qmake를 호출하여 Makefile을 생성 한 다음 jom을 사용하여 빌드하는 것입니다. .pro 파일을 높은 수준으로 유지하는 것은 매우 실용적이므로 SConfigure 파일로 .pro 파일을 바꾸지 않고 유지해야합니다. 그래서 이상적으로 우리는 qmake가 Makefile을 생성하는 것과 같은 방식으로 SConfigure 파일을 생성 한 다음 그 SConfigure 파일에서 scons를 실행하게합니다. 거기에 qmake를위한 어쩌면 일부 발전기가있을 수 있습니까? 아니면 qmake로 만든 Makefile을 SConfigure 파일로 변환 할 수 있습니까?Qmake scons generator

(예 : 의존성 생성과 같이 scons와 qmake의 기능이 겹쳐 있고 scons 만 사용하는 것이 좋지만 qmake는 Qt 프로젝트에서 매우 잘 작동하며 생성 할 수도 있음을 알고 있습니다. 비주얼 스튜디오 파일이므로 계속 사용하고 싶습니다.)

+0

scons를 사용하는 대신 컴파일 된 파일을 캐시 할 수있는 기능을 확장 한 Qt의 고유 한 nmake clone jom의 사용자 정의 버전을 사용하고 있습니다. 보너스는 moc 및 qrc 파일 캐시입니다. 어떤 사람이 비슷한 것을 찾고 있다면 https://qt.gitorious.org/~jabernet/qt-labs/jomcache에서 찾을 수 있습니다. –

답변

1

meta meta makes은별로 만족스럽지 않습니다. 그러나 거부 된 병합 요청에서 제안 된 것처럼 QMAKE_SUBSTITUTES를 사용하여 소스가 가능하지 않을 수도 있지만 이는 사실상 문서화되지 않은 기능입니다.

또는 코드를 사용하여 직접 시도하고 시도 할 수 있습니다. https://qt.gitorious.org/~phresnel/qt/add-some-qmake-to-autotools-glue 또는 더 구체적으로는 https://qt.gitorious.org/qt/qt/merge_requests/1040의 차이점을 확인하십시오. 파일 qmake/generators/special/filelist.cpp은 대부분의 작업을 수행합니다.

Imho, qmake의 확장이 쉽지 않다는 것이 정말로 유감입니다. CMake의 유연성이 커짐에 따라 Qmake를 완전히 사용하지 않고 전환 한 이유이기도합니다.

+0

링크를 많이 가져 주셔서 감사합니다. 나는 우리가 어떻게 든 scons에 대한 작업을 활용할 수 있기를 기대하면서, 그들을 보게 될 것입니다. –