mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-20 19:11:39 -06:00
106 lines
2.6 KiB
CMake
106 lines
2.6 KiB
CMake
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)
|
|
|
|
add_subdirectory(${ANTLR_DIR})
|
|
add_subdirectory(${QHEXEDIT_DIR})
|
|
|
|
find_package(Qt4 COMPONENTS QtCore QtGui QtTest REQUIRED)
|
|
|
|
include(${QT_USE_FILE})
|
|
add_definitions(${QT_DEFINITIONS})
|
|
|
|
set(SQLB_HDR
|
|
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/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
|
|
)
|
|
|
|
set(SQLB_RESOURCES
|
|
src/icons/icons.qrc
|
|
)
|
|
|
|
QT4_WRAP_CPP(SQLB_MOC ${SQLB_MOC_HDR})
|
|
QT4_WRAP_UI(SQLB_FORM_HDR ${SQLB_FORMS})
|
|
QT4_ADD_RESOURCES(SQLB_RESOURCES_RCC ${SQLB_RESOURCES})
|
|
|
|
# get git version hash
|
|
if(EXISTS ${CMAKE_SOURCE_DIR}/.git)
|
|
add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/src/gen_version.h COMMAND ${CMAKE_SOURCE_DIR}/src/version.sh ${CMAKE_SOURCE_DIR}/src DEPENDS .git/HEAD)
|
|
endif(EXISTS ${CMAKE_SOURCE_DIR}/.git)
|
|
set_source_files_properties(src/AboutDialog.cpp PROPERTIES OBJECT_DEPENDS ${CMAKE_SOURCE_DIR}/src/gen_version.h)
|
|
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${ANTLR_DIR} ${QHEXEDIT_DIR} src)
|
|
|
|
add_executable(${PROJECT_NAME} ${SQLB_HDR} ${SQLB_SRC} ${SQLB_FORM_HDR} ${SQLB_MOC} ${SQLB_RESOURCES_RCC})
|
|
|
|
add_dependencies(${PROJECT_NAME} antlr qhexedit)
|
|
|
|
link_directories(${CMAKE_CURRENT_BINARY_DIR}/${ANTLR_DIR} ${CMAKE_CURRENT_BINARY_DIR}/${QHEXEDIT_DIR})
|
|
|
|
target_link_libraries(${PROJECT_NAME} antlr qhexedit ${QT_LIBRARIES} sqlite3)
|