mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-05-05 11:29:22 -05:00
tests: merge build of tests within main build
Instead of a separate CMakeLists.txt for the tests, make them built together with the rest of the main project. This behaviour is off by default, and can be enabled using ENABLE_TESTING. Furthermore, the testing facilities of cmake are now used, so ctest (invoked by `make test`) knows about the sqlb-unittests. Thus, adapt the Travis build steps, building the main sources and executing the tests twice, one for sqlite and one for sqlcipher.
This commit is contained in:
@@ -1,84 +0,0 @@
|
||||
project(sqlb-unittests)
|
||||
cmake_minimum_required(VERSION 2.8.7)
|
||||
|
||||
OPTION(USE_QT5 FALSE "Build with qt5")
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
endif()
|
||||
|
||||
set(ANTLR_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../libs/antlr-2.7.7")
|
||||
add_subdirectory("${ANTLR_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/antlr")
|
||||
|
||||
if(USE_QT5)
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
else()
|
||||
find_package(Qt4 COMPONENTS QtCore QtTest QtGui REQUIRED)
|
||||
include("${QT_USE_FILE}")
|
||||
add_definitions(${QT_DEFINITIONS})
|
||||
endif()
|
||||
|
||||
# add extra library path for MacOS
|
||||
if(APPLE)
|
||||
find_library(LIBSQLITE sqlite3 HINTS /usr/local/lib /usr/local/opt/sqlite/lib)
|
||||
set(ADDITIONAL_INCLUDE_PATHS /usr/local/include /usr/local/opt/sqlite/include)
|
||||
else(APPLE)
|
||||
find_library(LIBSQLITE sqlite3)
|
||||
endif(APPLE)
|
||||
|
||||
set(SQLB_SRC
|
||||
../src/sqlitedb.cpp
|
||||
../src/sqlitetablemodel.cpp
|
||||
../src/sqlitetypes.cpp
|
||||
../src/csvparser.cpp
|
||||
../src/grammar/Sqlite3Lexer.cpp
|
||||
../src/grammar/Sqlite3Parser.cpp
|
||||
../src/PreferencesDialog.cpp
|
||||
../src/tests/TestImport.cpp
|
||||
../src/tests/testsqlobjects.cpp
|
||||
../src/tests/TestMain.cpp
|
||||
../src/FileDialog.cpp
|
||||
)
|
||||
|
||||
set(SQLB_HDR
|
||||
../src/grammar/sqlite3TokenTypes.hpp
|
||||
../src/grammar/Sqlite3Lexer.hpp
|
||||
../src/grammar/Sqlite3Parser.hpp
|
||||
../src/csvparser.h
|
||||
../src/sqlitetypes.h)
|
||||
|
||||
set(SQLB_FORMS
|
||||
../src/PreferencesDialog.ui)
|
||||
|
||||
set(SQLB_MOC_HDR
|
||||
../src/sqlitedb.h
|
||||
../src/sqlitetablemodel.h
|
||||
../src/PreferencesDialog.h
|
||||
../src/tests/TestImport.h
|
||||
../src/tests/testsqlobjects.h
|
||||
../src/FileDialog.h
|
||||
)
|
||||
|
||||
if(USE_QT5)
|
||||
QT5_WRAP_CPP(SQLB_MOC ${SQLB_MOC_HDR})
|
||||
QT5_WRAP_UI(SQLB_FORM_HDR ${SQLB_FORMS})
|
||||
else()
|
||||
QT4_WRAP_CPP(SQLB_MOC ${SQLB_MOC_HDR})
|
||||
QT4_WRAP_UI(SQLB_FORM_HDR ${SQLB_FORMS})
|
||||
endif()
|
||||
|
||||
include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${ANTLR_DIR}" ../src)
|
||||
|
||||
add_executable(${PROJECT_NAME} ${SQLB_MOC} ${SQLB_HDR} ${SQLB_SRC} ${SQLB_FORM_HDR})
|
||||
|
||||
if(USE_QT5)
|
||||
qt5_use_modules(${PROJECT_NAME} Test Widgets Gui)
|
||||
set(QT_LIBRARIES "")
|
||||
endif()
|
||||
|
||||
add_dependencies(${PROJECT_NAME} antlr)
|
||||
target_link_libraries(${PROJECT_NAME} antlr ${QT_LIBRARIES} ${LIBSQLITE})
|
||||
|
||||
MESSAGE(STATUS "Build type is ${CMAKE_BUILD_TYPE}")
|
||||
Reference in New Issue
Block a user