cmake添加NO_MOC来应对直接粗暴include moc生成的源代码

master
18650180552 2021-04-06 13:18:39 +08:00
parent d29cee3d5a
commit 3fa6fe6b6a
2 changed files with 23 additions and 14 deletions

View File

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.5) cmake_minimum_required(VERSION 3.5)
message("CMAKE VERSION " ${VERSION})
include_directories(third/lua/include) include_directories(third/include)
link_directories(third/lua/lib) link_directories(third/lib)
link_libraries(lua) link_libraries(lua)
project(protoDebuger LANGUAGES CXX) project(protoDebuger LANGUAGES CXX)
@ -17,16 +17,15 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt5 COMPONENTS Core Quick Widgets REQUIRED) find_package(Qt5 COMPONENTS Core Quick Widgets REQUIRED)
include(D:\\project\\c++qt\\qsswraper\\CMakeLists.txt)
set(HEADERS # 待预编译的cpp头文件 set(HEADERS # 待预编译的cpp头文件
dialog.h
) )
set(SOURCES # 待预编译的cpp代码 set(SOURCES # 待预编译的cpp代码
dialog.cpp
main.cpp main.cpp
) )
set(NO_MOC_SOURCES
)
set(RESOURCES set(RESOURCES
qml.qrc qml.qrc
@ -37,23 +36,35 @@ set(QMLS
) )
set (UIS set (UIS
"dialog.ui" ${QsswraperUI}
${QsswraperUI}) )
include(D:\\project\\qt\\qsswraper\\CMakeLists.txt)
include(D:\\project\\qt\\qsswraper\\extserial\\src\\qextserialport.cmake)
QT5_WRAP_CPP(MOC ${SOURCES} ) # moc QT5_WRAP_CPP(MOC ${SOURCES} ) # moc
QT5_WRAP_CPP(MOCHEADER ${HEADERS} ) # moc QT5_WRAP_CPP(MOCHEADER ${HEADERS} ) # moc
QT5_ADD_RESOURCES(RCC ${RESOURCES}) # rcccpp QT5_ADD_RESOURCES(RCC ${RESOURCES}) # rcccpp
QT5_WRAP_UI(UIC ${UIS}) # uicui_x.h QT5_WRAP_UI(UIC ${UIS}) # uicui_x.h
message("MOC " ${MOC} ${MOCHEADER}) FOREACH(list ${SOURCES})
message("UIC " ${UIC}) message("SOURCES file " ${list})
message("RCC " ${RCC}) ENDFOREACH(list)
FOREACH(list ${MOCHEADER})
message("MOCHEADER file" ${list})
ENDFOREACH(list)
FOREACH(list ${NO_MOC_SOURCES})
message("NO_MOC_SOURCES file" ${list})
ENDFOREACH(list)
add_executable(protoDebuger #最后需要参与链接生成的是 add_executable(protoDebuger #最后需要参与链接生成的是
${SOURCES} #1. cpp ${SOURCES} #1. cpp
${MOC} #2. cpp ${MOC} #2. cpp
${RCC} #3. cpp ${RCC} #3. cpp
${UIC} ${UIC}
${NO_MOC_SOURCES}
) )
target_compile_definitions(protoDebuger target_compile_definitions(protoDebuger

View File

@ -17,8 +17,6 @@ int main(int argc, char *argv[])
QCoreApplication::exit(-1); QCoreApplication::exit(-1);
}, Qt::QueuedConnection); }, Qt::QueuedConnection);
engine.load(url); engine.load(url);
Dialog a;
a.show();
return app.exec(); return app.exec();
} }