From 11c4cf423a1f70da2af67e22640f9bb1c1ca8d05 Mon Sep 17 00:00:00 2001 From: Peinthor Rene Date: Thu, 11 Jul 2013 16:15:51 +0200 Subject: [PATCH] cmake: fix a few warnings and add an option to build unittests --- CMakeLists.txt | 122 +++++++++++++++++++---------------- libs/qhexedit/CMakeLists.txt | 15 +++-- 2 files changed, 75 insertions(+), 62 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d097efc..e1d1df87 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ project(sqlitebrowser) cmake_minimum_required(VERSION 2.6) +option(UNITTEST OFF "Build unittest") set(ANTLR_DIR libs/antlr-2.7.7) set(QHEXEDIT_DIR libs/qhexedit) @@ -8,79 +9,88 @@ set(QHEXEDIT_DIR libs/qhexedit) add_subdirectory(${ANTLR_DIR}) add_subdirectory(${QHEXEDIT_DIR}) -FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui REQUIRED) +find_package(Qt4 COMPONENTS QtCore QtGui QtTest REQUIRED) include(${QT_USE_FILE}) add_definitions(${QT_DEFINITIONS}) set(SQLB_HDR - src/AboutDialog.h - src/CreateIndexDialog.h - src/EditDialog.h - src/EditTableDialog.h - src/ExportCsvDialog.h - src/ExtendedTableWidget.h - src/FilterTableHeader.h - src/ImportCsvDialog.h - src/MainWindow.h - src/PreferencesDialog.h - src/SQLiteSyntaxHighlighter.h - src/SqlExecutionArea.h - src/VacuumDialog.h - src/gen_version.h - src/sqlitedb.h - src/sqlitetablemodel.h - src/sqlitetypes.h - src/sqltextedit.h - ) + src/gen_version.h + src/sqlitedb.h + src/sqlitetypes.h +) + +set(SQLB_MOC_HDR + src/AboutDialog.h + src/CreateIndexDialog.h + src/EditDialog.h + src/EditTableDialog.h + src/ExportCsvDialog.h + src/ExtendedTableWidget.h + src/FilterTableHeader.h + src/ImportCsvDialog.h + src/MainWindow.h + src/PreferencesDialog.h + src/SQLiteSyntaxHighlighter.h + src/SqlExecutionArea.h + src/VacuumDialog.h + src/sqlitetablemodel.h + src/sqltextedit.h +) set(SQLB_SRC - src/AboutDialog.cpp - src/CreateIndexDialog.cpp - src/EditDialog.cpp - src/EditTableDialog.cpp - src/ExportCsvDialog.cpp - src/ExtendedTableWidget.cpp - src/FilterTableHeader.cpp - src/ImportCsvDialog.cpp - src/MainWindow.cpp - src/PreferencesDialog.cpp - src/SQLiteSyntaxHighlighter.cpp - src/SqlExecutionArea.cpp - src/VacuumDialog.cpp - src/main.cpp - src/sqlitedb.cpp - src/sqlitetablemodel.cpp - src/sqlitetypes.cpp - src/sqltextedit.cpp - src/grammar/Sqlite3Lexer.cpp - src/grammar/Sqlite3Parser.cpp - ) + src/AboutDialog.cpp + src/CreateIndexDialog.cpp + src/EditDialog.cpp + src/EditTableDialog.cpp + src/ExportCsvDialog.cpp + src/ExtendedTableWidget.cpp + src/FilterTableHeader.cpp + src/ImportCsvDialog.cpp + src/MainWindow.cpp + src/PreferencesDialog.cpp + src/SQLiteSyntaxHighlighter.cpp + src/SqlExecutionArea.cpp + src/VacuumDialog.cpp + src/sqlitedb.cpp + src/sqlitetablemodel.cpp + src/sqlitetypes.cpp + src/sqltextedit.cpp + src/grammar/Sqlite3Lexer.cpp + src/grammar/Sqlite3Parser.cpp +) + +if(UNITTEST) + set(SQLB_SRC ${SQLB_SRC} src/tests/testsqlobjects.cpp) + set(SQLB_MOC_HDR ${SQLB_MOC_HDR} src/tests/testsqlobjects.h) +else(UNITTEST) + set(SQLB_SRC ${SQLB_SRC} src/main.cpp) +endif(UNITTEST) set(SQLB_FORMS - src/AboutDialog.ui - src/CreateIndexDialog.ui - src/EditDialog.ui - src/EditTableDialog.ui - src/ExportCsvDialog.ui - src/ImportCsvDialog.ui - src/MainWindow.ui - src/PreferencesDialog.ui - src/SqlExecutionArea.ui - src/VacuumDialog.ui - ) + src/AboutDialog.ui + src/CreateIndexDialog.ui + src/EditDialog.ui + src/EditTableDialog.ui + src/ExportCsvDialog.ui + src/ImportCsvDialog.ui + src/MainWindow.ui + src/PreferencesDialog.ui + src/SqlExecutionArea.ui + src/VacuumDialog.ui +) set(SQLB_RESOURCES - src/icons/icons.qrc - ) + src/icons/icons.qrc +) -QT4_WRAP_CPP(SQLB_HDR_MOC ${SQLB_HDR}) +QT4_WRAP_CPP(SQLB_MOC ${SQLB_MOC_HDR}) QT4_WRAP_UI(SQLB_FORM_HDR ${SQLB_FORMS}) QT4_ADD_RESOURCES(SQLB_RESOURCES_RCC ${SQLB_RESOURCES}) include_directories(${CMAKE_CURRENT_BINARY_DIR} ${ANTLR_DIR} ${QHEXEDIT_DIR} src) -add_executable(${PROJECT_NAME} ${SQLB_HDR} ${SQLB_SRC} ${SQLB_FORM_HDR} ${SQLB_HDR_MOC} ${SQLB_RESOURCES_RCC}) +add_executable(${PROJECT_NAME} ${SQLB_HDR} ${SQLB_SRC} ${SQLB_FORM_HDR} ${SQLB_MOC} ${SQLB_RESOURCES_RCC}) add_dependencies(${PROJECT_NAME} antlr qhexedit) diff --git a/libs/qhexedit/CMakeLists.txt b/libs/qhexedit/CMakeLists.txt index 0c5b73f6..d637108a 100644 --- a/libs/qhexedit/CMakeLists.txt +++ b/libs/qhexedit/CMakeLists.txt @@ -10,16 +10,19 @@ set(QHEXEDIT_SRC src/qhexedit.cpp src/qhexedit_p.cpp src/xbytearray.cpp - ) +) set(QHEXEDIT_HDR src/commands.h - src/qhexedit.h - src/qhexedit_p.h src/xbytearray.h - ) +) -QT4_WRAP_CPP(QHEXEDIT_HDR_MOC ${QHEXEDIT_HDR}) +set(QHEXEDIT_MOC_HDR + src/qhexedit.h + src/qhexedit_p.h +) -add_library(qhexedit ${QHEXEDIT_SRC} ${QHEXEDIT_HDR} ${QHEXEDIT_HDR_MOC}) +QT4_WRAP_CPP(QHEXEDIT_MOC ${QHEXEDIT_MOC_HDR}) + +add_library(qhexedit ${QHEXEDIT_SRC} ${QHEXEDIT_HDR} ${QHEXEDIT_MOC})