Files
sqlitebrowser/tests/CMakeLists.txt
Martin Kleusberg 42a2faf411 Tests: Simplify the cmake file
Now that the dependeny to the main window is removed from the
DBBrowserDB class we can get rid of all the dialogs and widget related
stuff in the cmake file used for the unit test project. Because our
Application class depends on the main window, too, the code for the CSV
tests is changed to use Qt's standard QApplication class.
2014-07-12 16:21:08 +02:00

70 lines
1.7 KiB
CMake

project(sqlb-unittests)
cmake_minimum_required(VERSION 2.8.9)
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/grammar/Sqlite3Lexer.cpp
../src/grammar/Sqlite3Parser.cpp
../src/tests/TestImport.cpp
../src/tests/testsqlobjects.cpp
../src/tests/TestMain.cpp)
set(SQLB_HDR
../src/grammar/sqlite3TokenTypes.hpp
../src/grammar/Sqlite3Lexer.hpp
../src/grammar/Sqlite3Parser.hpp
../src/sqlitetypes.h)
set(SQLB_MOC_HDR
../src/sqlitedb.h
../src/sqlitetablemodel.h
../src/tests/TestImport.h
../src/tests/testsqlobjects.h)
if(NOT USE_QT5)
QT4_WRAP_CPP(SQLB_MOC ${SQLB_MOC_HDR})
endif()
include_directories(${ANTLR_DIR} ../src)
add_executable(${PROJECT_NAME} ${SQLB_MOC} ${SQLB_HDR} ${SQLB_SRC})
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}")