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 REQUIRED) include(${QT_USE_FILE}) add_definitions(${QT_DEFINITIONS}) endif() set(SQLB_SRC ../src/sqlitetypes.cpp ../src/grammar/Sqlite3Lexer.cpp ../src/grammar/Sqlite3Parser.cpp ../src/tests/testsqlobjects.cpp) set(SQLB_HDR ../src/grammar/sqlite3TokenTypes.hpp ../src/grammar/Sqlite3Lexer.hpp ../src/grammar/Sqlite3Parser.hpp ../src/sqlitetypes.h) set(SQLB_MOC_HDR ../src/tests/testsqlobjects.h) if(NOT USE_QT5) QT4_WRAP_CPP(SQLB_MOC ${SQLB_MOC_HDR}) endif() include_directories(${ANTLR_DIR}) add_executable(${PROJECT_NAME} ${SQLB_MOC} ${SQLB_HDR} ${SQLB_SRC}) if(USE_QT5) qt5_use_modules(${PROJECT_NAME} Test) set(QT_LIBRARIES "") endif() add_dependencies(${PROJECT_NAME} antlr) target_link_libraries(${PROJECT_NAME} antlr ${QT_LIBRARIES}) MESSAGE(STATUS "Build type is ${CMAKE_BUILD_TYPE}")