cmake_minimum_required(VERSION 3.10) project(MotifQtApp LANGUAGES CXX) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt5 COMPONENTS Widgets X11Extras REQUIRED) # Motif find_package(X11 REQUIRED) find_package(PkgConfig REQUIRED) pkg_check_modules(XCB REQUIRED xcb) find_library(MOTIF_LIB Xm) message(STATUS "MOTIF_LIBRARIES = ${MOTIF_LIBRARIES}\n" "X11_LIBRARIES = ${X11_LIBRARIES}\n" "X11_Xt_LIB = ${X11_Xt_LIB}" ) # 源文件 set(SOURCES motif_app.cpp qt_dialog.cpp qt_dialog.h ) # 可执行文件 add_executable(MotifQtApp ${SOURCES}) # 链接库 target_link_libraries(MotifQtApp PRIVATE Qt5::Widgets ${MOTIF_LIB} X11::X11 ${X11_Xt_LIB} ${XCB_LIBRARIES} Qt5::X11Extras) target_include_directories(MotifQtApp PRIVATE ${X11_INCLUDE_DIR} ${XCB_INCLUDE_DIRS} ) # 处理可能的编译器参数 target_compile_options(MotifQtApp PRIVATE ${XCB_CFLAGS_OTHER})