cppcheck/gui/CMakeLists.txt

153 lines
3.1 KiB
CMake

# Minimal CMake build file to build cppcheck Qt GUI
find_package(PCRE REQUIRED)
# find and setup Qt4 for this project
find_package(Qt4)
IF(QT4_FOUND)
# Add needed Qt modules
set(QT_USE_QTHELP TRUE)
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
"${CPPCHECK_SOURCE_DIR}/gui"
# Include binary directory where code from UI files gets created
"${CMAKE_CURRENT_BINARY_DIR}"
"${PCRE_INCLUDE_DIR}")
# Header files - listed for mocking
SET(CHECK_HEADERS
aboutdialog.h
applicationdialog.h
applicationlist.h
checkstatistics.h
checkthread.h
common.h
csvreport.h
erroritem.h
filelist.h
fileviewdialog.h
helpwindow.h
logview.h
mainwindow.h
project.h
projectfile.h
projectfiledialog.h
report.h
resultstree.h
resultsview.h
settingsdialog.h
statsdialog.h
threadhandler.h
threadresult.h
translationhandler.h
txtreport.h
xmlreport.h
)
# Source files
SET(CHECKGUI_SRCS
aboutdialog.cpp
applicationdialog.cpp
applicationlist.cpp
checkstatistics.cpp
checkthread.cpp
csvreport.cpp
erroritem.cpp
filelist.cpp
fileviewdialog.cpp
helpwindow.cpp
logview.cpp
main.cpp
mainwindow.cpp
project.cpp
projectfile.cpp
projectfiledialog.cpp
report.cpp
resultstree.cpp
resultsview.cpp
settingsdialog.cpp
statsdialog.cpp
threadhandler.cpp
threadresult.cpp
translationhandler.cpp
txtreport.cpp
xmlreport.cpp
)
# UI files
SET(CHECK_UIS
about.ui
application.ui
file.ui
helpwindow.ui
logview.ui
main.ui
projectfile.ui
resultsview.ui
settings.ui
stats.ui
)
# Translation files
SET(CHECK_TRANS
cppcheck_de.ts
cppcheck_en.ts
cppcheck_fi.ts
cppcheck_fr.ts
cppcheck_ja.ts
cppcheck_nl.ts
cppcheck_pl.ts
cppcheck_ru.ts
cppcheck_se.ts
cppcheck_sr.ts
)
SET(CHECK_RCCS gui.qrc)
set(CPPCHECK_LIB_DIR "${CPPCHECK_SOURCE_DIR}/lib/")
include("${CPPCHECK_LIB_DIR}library_sources.cmake")
if(WIN32)
# Add Windows resource file
set(CHECKGUI_SRCS ${CHECKGUI_SRCS} cppcheck-gui.rc)
if(NOT CYGWIN)
# Windows needs additional shlwapi library.
set(CHECK_LIBS ${CHECK_LIBS} shlwapi htmlhelp)
endif()
endif()
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$")
ADD_EXECUTABLE(gui WIN32 ${CHECKGUI_SRCS} ${CHECK_MOC_SRCS} ${CHECK_HEADERS}
${CHECK_UIS_H} ${CHECK_RCC_SRCS} ${CPPCHECK_LIB_SOURCES})
TARGET_LINK_LIBRARIES(gui ${CHECK_LIBS} ${PCRE_LIBRARIES} ${QT_LIBRARIES})
ELSE(QT4_FOUND)
message("GUI not built since QT4 not found.")
ENDIF(QT4_FOUND)