기존 QMake 프로젝트 (.pro 프로젝트 파일)를 CMake에서 "외부 프로젝트"로 사용하는 방법은 무엇입니까?

피터 카라 세프

.pro 프로젝트 파일이있는 기존 QMake 프로젝트를 CMake에서 "외부 프로젝트"로 사용하는 방법에 대한 간결한 문서 또는 예제가 있습니까? 이것은 한 프로젝트를 다른 프로젝트의 종속성으로 표시하여 qtcreator에서 다소 수행 할 수 있지만 ExternalProject () CMake 구문을 사용하여보다 명시 적으로 정의하는 것이 좋습니다.

관련 질문 : CMake : 외부 프로젝트를 빌드하고 대상을 포함하는 방법

피터 카라 세프

이와 같은 것이 작동합니다. 그런 다음 기본 CMake 프로젝트 트리의 qtcreator 또는 .pro 파일 열기 에서 파일을 편집 할 수 있습니다 . 큰 cmake 빌드 트리의 일부인 SomeGarbageApplication의 QT 위젯에서 빠르게 반복하는 데 좋습니다.

macro(DeclareProjectFiles  Tag  Filez)
######### Trick: use this syntax to make arbitrary files
#########             appear in IDE project. #######################
### Note: pass in the raw name of a list variable,
###   since it will get expanded here in this macro.
  add_custom_target(${Tag}_files  ALL
                    pwd
                    COMMAND ls -ltrh
                    COMMENT  " ${Tag} files thunk... got list: [ ${${Filez}} ]"
                    VERBATIM
                    SOURCES  ${${Filez}}
                   )    
endmacro()

    message(STATUS "QT_QMAKE_EXE is:  ${QT_QMAKE_EXECUTABLE}")

set(Z  SomeGarbageApplication)
file(GLOB  ${Z}_Files
            ./*.cpp
            ./*.h
            ./*.ui
            ./*.pro
            ./*.png
            ./*.jpg)

DeclareProjectFiles( ${Z}_grbg  ${Z}_Files )

add_custom_target(${Z}_pro  ALL)

set(ExtraQMakeArgs  -r -spec linux-g++ CONFIG+=release)

# note: use killall because this can/will fail if the exe is running
#       But, need || true to not fail build when it's not running. 

add_custom_command(TARGET  ${Z}_pro
                   COMMAND  killall
                   ARGS     -q -9 -v ${Z} || true
                   COMMAND  ${QT_QMAKE_EXECUTABLE}
                   ARGS     -query
                   COMMAND  ${QT_QMAKE_EXECUTABLE}
                   ARGS     ${CMAKE_CURRENT_SOURCE_DIR}/${Z}.pro ${ExtraQMakeArgs}
                   COMMAND  make  ${Z}
                   ARGS     -j4
                   COMMAND  cp
                   ARGS     ${Z} ${CMAKE_CURRENT_SOURCE_DIR}/${${Z}_config}  ${CMAKE_BINARY_DIR}/bin/
                   WORKING_DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR}
                   VERBATIM
                   )    
#################################################################

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관