Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何将现有QMake项目(.pro项目文件)用作;“外部项目”;在CMake?_Qt_Cmake_Qmake_Projects And Solutions_External Project - Fatal编程技术网

Qt 如何将现有QMake项目(.pro项目文件)用作;“外部项目”;在CMake?

Qt 如何将现有QMake项目(.pro项目文件)用作;“外部项目”;在CMake?,qt,cmake,qmake,projects-and-solutions,external-project,Qt,Cmake,Qmake,Projects And Solutions,External Project,是否有一个简明的文档或示例,说明如何在CMake中将带有.pro项目文件的现有QMake项目用作“外部项目”?这可以在qtcreator中通过将一个项目标记为另一个项目的依赖项来完成,但最好使用ExternalProject()CMake语法更明确地定义它 相关问题:类似的方法很有效。然后,您可以从主CMake项目树中的qtcreator或打开.pro文件编辑文件;非常适合在大型cmake构建树中的一些垃圾应用程序中快速迭代QT小部件 macro(DeclareProjectFiles Tag

是否有一个简明的文档或示例,说明如何在CMake中将带有.pro项目文件的现有QMake项目用作“外部项目”?这可以在qtcreator中通过将一个项目标记为另一个项目的依赖项来完成,但最好使用ExternalProject()CMake语法更明确地定义它


相关问题:

类似的方法很有效。然后,您可以从主CMake项目树中的qtcreator或打开.pro文件编辑文件;非常适合在大型cmake构建树中的一些垃圾应用程序中快速迭代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
                   )    
#################################################################