# Minimal CMake build file to build cppcheck Qt GUI # find and setup Qt4 for this project find_package(Qt4) IF(QT4_FOUND) # Add needed Qt modules set(QT_USE_QTMAIN TRUE) set(QT_USE_QTXML TRUE) include(${QT_USE_FILE}) include_directories (${CPPCHECK_SOURCE_DIR}/lib) # Generated files (in build directory) need to know gui directory include_directories (${CPPCHECK_SOURCE_DIR}/gui) # Header files - listed for mocking SET(CHECK_HEADERS aboutdialog.h applicationdialog.h applicationlist.h checkthread.h common.h csvreport.h fileviewdialog.h mainwindow.h projectfile.h report.h resultstree.h resultsview.h settingsdialog.h threadhandler.h threadresult.h translationhandler.h txtreport.h xmlreport.h ) # Source files SET(CHECKGUI_SRCS aboutdialog.cpp applicationdialog.cpp applicationlist.cpp checkthread.cpp csvreport.cpp fileviewdialog.cpp main.cpp mainwindow.cpp projectfile.cpp report.cpp resultstree.cpp resultsview.cpp settingsdialog.cpp threadhandler.cpp threadresult.cpp translationhandler.cpp txtreport.cpp xmlreport.cpp ) # Add Windows resource file if (WIN32) SET(CHECKGUI_SRCS ${CHECKGUI_SRCS} cppcheck-gui.rc ) endif (WIN32) # UI files SET(CHECK_UIS about.ui application.ui file.ui main.ui resultsview.ui settings.ui ) # Translation files SET(CHECK_TRANS cppcheck_de.ts cppcheck_fi.ts cppcheck_pl.ts cppcheck_se.ts cppcheck_en.ts cppcheck_nl.ts cppcheck_ru.ts ) SET(CHECK_RCCS gui.qrc) # Libraries to link set(CHECK_LIBS checklib ) # Windows needs additional shlwapi library if (WIN32 AND NOT CYGWIN) set(CHECK_LIBS ${CHECK_LIBS} shlwapi ) endif (WIN32 AND NOT CYGWIN) if (CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-Wall" ) endif (CMAKE_COMPILER_IS_GNUCXX) # Generate rules for building source files from the resources QT4_ADD_RESOURCES(CHECK_RCC_SRCS ${CHECK_RCCS}) # Process UI files QT4_WRAP_UI(CHECK_UIS_H ${CHECK_UIS}) # Mock header files QT4_WRAP_CPP(CHECK_MOC_SRCS ${CHECK_HEADERS}) # add translations ... QT4_ADD_TRANSLATION(CHECK_QM ${CHECK_TRANS}) # Create folders for Visual Studio IDE SOURCE_GROUP("Header Files" FILES ${CHECK_HEADERS}) SOURCE_GROUP("Ui Files" ".ui$") SOURCE_GROUP("Moc Files" "moc_.*cxx$") # Include binary directory where code from UI files gets created include_directories(${CMAKE_CURRENT_BINARY_DIR}) ADD_EXECUTABLE(gui WIN32 ${CHECKGUI_SRCS} ${CHECK_MOC_SRCS} ${CHECK_HEADERS} ${CHECK_UIS_H} ${CHECK_RCC_SRCS}) TARGET_LINK_LIBRARIES(gui ${CHECK_LIBS} ${QT_LIBRARIES}) ELSE(QT4_FOUND) message("GUI not built since QT4 not found.") ENDIF(QT4_FOUND)