uonedb-qt team mailing list archive
-
uonedb-qt team
-
Mailing list archive
-
Message #00113
[Merge] lp:~kalikiana/u1db-qt/doch into lp:u1db-qt
Christian Dywan has proposed merging lp:~kalikiana/u1db-qt/doch into lp:u1db-qt.
Commit message:
Packaging refactoring
Requested reviews:
U1DB Qt developers (uonedb-qt)
For more details, see:
https://code.launchpad.net/~kalikiana/u1db-qt/doch/+merge/160334
Packaging refactoring
--
https://code.launchpad.net/~kalikiana/u1db-qt/doch/+merge/160334
Your team U1DB Qt developers is requested to review the proposed merge of lp:~kalikiana/u1db-qt/doch into lp:u1db-qt.
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2013-04-22 14:36:13 +0000
+++ CMakeLists.txt 2013-04-23 11:19:23 +0000
@@ -11,113 +11,19 @@
add_definitions(-DWITHQT5=1)
set(U1DB_QT_LIBNAME u1db-qt5)
-set(OUR_QT_INCLUDES ${Qt5Core_INCLUDE_DIRS} ${Qt5Sql_INCLUDE_DIRS})
-set(OUR_QT_CORE_LIB ${Qt5Core_LIBRARIES})
-set(OUR_QT_SQL_LIB ${Qt5Sql_LIBRARIES})
set(QT_PKGCONFIG_DEPENDENCIES "Qt5Core Qt5Quick Qt5Sql")
-
set(QT_U1DB_PKGCONFIG_FILE lib${U1DB_QT_LIBNAME}.pc)
# Build flags
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -Wundef -std=c++0x")
-
-# Sources
-set(U1DB_QT_SRCS
- src/database.cpp
- src/document.cpp
- src/index.cpp
- src/query.cpp
- )
-
-# Generated files
-set(U1DB_QT_GENERATED
- src/moc_database.cpp
- src/moc_document.cpp
- src/moc_index.cpp
- src/moc_query.cpp
- )
-
-set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${U1DB_QT_GENERATED}")
-
-# Resources
-set(U1DB_QT_RESOURCES
- sql.qrc
- )
-
-QT5_ADD_RESOURCES(U1DB_QT_RCC ${U1DB_QT_RESOURCES})
-
-# Build
add_definitions(-DQT_NO_KEYWORDS)
-include_directories(
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${OUR_QT_INCLUDES}
- ${U1DB_INCLUDE_DIRS}
- )
-
-add_library(${U1DB_QT_LIBNAME} SHARED ${U1DB_QT_SRCS} ${U1DB_QT_RCC})
-target_link_libraries(${U1DB_QT_LIBNAME}
- ${OUR_QT_CORE_LIB}
- ${OUR_QT_SQL_LIB}
- ${U1DB_LDFLAGS}
- )
-
-set_target_properties(${U1DB_QT_LIBNAME} PROPERTIES
- SOVERSION 3
- VERSION 3.0.0
- )
-
-# Unit-Test
-enable_testing()
-add_custom_target(check COMMAND "env" "CTEST_OUTPUT_ON_FAILURE=1" "${CMAKE_CTEST_COMMAND}")
-
-option(BUILD_DOCS "Build documentation" OFF)
-if (BUILD_DOCS)
- set(ALL "ALL")
-endif ()
-set(U1DB_DOCS "${PROJECT_BINARY_DIR}/documentation/output")
-add_custom_target(doc ${ALL} "mkdir" "-p" "${U1DB_DOCS}"
- COMMAND "qdoc" "-outputdir" "${U1DB_DOCS}" "${CMAKE_SOURCE_DIR}/documentation/u1db.qdocconf" "1>/dev/null" "2>/dev/null"
- COMMAND "sed" "-r" "-i" "'s@(</head>)@<link rel=\"stylesheet\" type=\"text/css\" href=\"style/base.css\" />\\1@'" "${U1DB_DOCS}/*.html"
- COMMAND "qhelpgenerator" "${U1DB_DOCS}/u1dbqt.qhp"
- COMMAND "assistant" "-register" "${U1DB_DOCS}/u1dbqt.qch"
- SOURCES "${CMAKE_SOURCE_DIR}/documentation/u1db.qdocconf"
- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/documentation")
+add_subdirectory(src)
+add_subdirectory(tests)
add_subdirectory(modules)
-add_subdirectory(tests)
add_subdirectory(examples)
add_subdirectory(gallery)
-
-# Install
-set(INCLUDE_INSTALL_DIR include/lib${U1DB_QT_LIBNAME})
-
-install(TARGETS ${U1DB_QT_LIBNAME}
- LIBRARY DESTINATION lib${LIB_SUFFIX}
- )
-
-if (BUILD_DOCS)
- install(FILES "${U1DB_DOCS}/u1dbqt.qch"
- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/qt5/phrasebooks/"
- )
- install(DIRECTORY "${U1DB_DOCS}/"
- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/u1db-qt/doc/html"
- FILES_MATCHING PATTERN "*.html"
- )
- install(DIRECTORY "${U1DB_DOCS}/style/"
- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/u1db-qt/doc/html/style"
- FILES_MATCHING PATTERN "*.css"
- )
- install(DIRECTORY
- DESTINATION ${CMAKE_INSTALL_PREFIX}/share/u1db-qt/examples
- FILES_MATCHING PATTERN "*example-*.html"
- )
-endif ()
-
-
-install(FILES src/global.h src/database.h src/document.h src/index.h src/query.h
- DESTINATION ${INCLUDE_INSTALL_DIR}
- )
+add_subdirectory(documentation)
# PkgConfig file
set (PREFIX "${CMAKE_INSTALL_PREFIX}")
=== modified file 'debian/changelog'
--- debian/changelog 2013-03-27 11:39:41 +0000
+++ debian/changelog 2013-04-23 11:19:23 +0000
@@ -1,3 +1,8 @@
+u1db-qt (0.1.2) quantal; urgency=low
+ * Documentation packages -doc and -examples
+
+ -- Christian Dywan <christian.dywan@xxxxxxxxxxxxx> Tue, 23 Apr 2013 12:58:11 +0100
+
u1db-qt (0.1.1-0ubuntu1) quantal; urgency=low
* Added .install files
* Corrected dependencies
=== added file 'documentation/CMakeLists.txt'
--- documentation/CMakeLists.txt 1970-01-01 00:00:00 +0000
+++ documentation/CMakeLists.txt 2013-04-23 11:19:23 +0000
@@ -0,0 +1,32 @@
+option(BUILD_DOCS "Build documentation" OFF)
+if (BUILD_DOCS)
+ set(ALL "ALL")
+endif ()
+
+set(U1DB_DOCS "${CMAKE_CURRENT_BINARY_DIR}/output")
+add_custom_target(doc ${ALL} "mkdir" "-p" "${U1DB_DOCS}"
+ COMMAND "qdoc" "-outputdir" "${U1DB_DOCS}" "${CMAKE_CURRENT_SOURCE_DIR}/u1db.qdocconf"
+ COMMAND "sed" "-r" "-i" "'s@(</head>)@<link rel=\"stylesheet\" type=\"text/css\" href=\"style/base.css\" />\\1@'" "${U1DB_DOCS}/*.html"
+ COMMAND "qhelpgenerator" "${U1DB_DOCS}/u1dbqt.qhp"
+ COMMAND "assistant" "-register" "${U1DB_DOCS}/u1dbqt.qch"
+ SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/u1db.qdocconf"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
+
+if (BUILD_DOCS)
+ install(FILES "${U1DB_DOCS}/u1dbqt.qch"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/qt5/phrasebooks/"
+ )
+ install(DIRECTORY "${U1DB_DOCS}/"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/u1db-qt/doc/html"
+ FILES_MATCHING PATTERN "*.html"
+ )
+ install(DIRECTORY "${U1DB_DOCS}/style/"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/u1db-qt/doc/html/style"
+ FILES_MATCHING PATTERN "*.css"
+ )
+ install(DIRECTORY
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/u1db-qt/examples
+ FILES_MATCHING PATTERN "*example-*.html"
+ )
+endif ()
+
=== modified file 'modules/U1db/CMakeLists.txt'
--- modules/U1db/CMakeLists.txt 2013-04-12 12:26:52 +0000
+++ modules/U1db/CMakeLists.txt 2013-04-23 11:19:23 +0000
@@ -1,5 +1,4 @@
find_package(Qt5Quick REQUIRED)
-set(OUR_QT_QUICK_LIB ${Qt5Quick_LIBRARIES})
get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
# See http://doc-snapshot.qt-project.org/5.0/qtcore/qlibraryinfo.html#LibraryLocation-enum
@@ -7,25 +6,28 @@
exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" OUTPUT_VARIABLE QT_IMPORTS_DIR)
file(TO_CMAKE_PATH "${QT_IMPORTS_DIR}" QT_IMPORTS_DIR)
-set(OUR_QT_QUICK_INCLUDE ${Qt5Quick_INCLUDE_DIRS})
-
set(U1DBPlugin_SRCS
plugin.cpp
)
+include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${Qt5Sql_INCLUDE_DIRS}
+ )
+
add_library(U1DBPlugin SHARED ${U1DBPlugin_SRCS})
add_dependencies(check U1DBPlugin)
target_link_libraries(U1DBPlugin
${U1DB_QT_LIBNAME}
- ${OUR_QT_QUICK_LIB}
+ ${Qt5Quick_LIBRARIES}
)
include_directories(
${CMAKE_SOURCE_DIR}/src
${U1DB_INCLUDE_DIRS}
${CMAKE_CURRENT_BINARY_DIR}
- ${OUR_QT_QUICK_INCLUDE}
+ ${Qt5Quick_INCLUDE_DIRS}
)
# copy qmldir file into build directory for shadow builds
=== added file 'src/CMakeLists.txt'
--- src/CMakeLists.txt 1970-01-01 00:00:00 +0000
+++ src/CMakeLists.txt 2013-04-23 11:19:23 +0000
@@ -0,0 +1,56 @@
+set(U1DB_QT_LIBNAME u1db-qt5)
+
+# Sources
+set(U1DB_QT_SRCS
+ database.cpp
+ document.cpp
+ index.cpp
+ query.cpp
+ )
+
+# Generated files
+set(U1DB_QT_GENERATED
+ moc_database.cpp
+ moc_document.cpp
+ moc_index.cpp
+ moc_query.cpp
+ )
+set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${U1DB_QT_GENERATED}")
+
+# Resources
+set(U1DB_QT_RESOURCES
+ sql.qrc
+ )
+QT5_ADD_RESOURCES(U1DB_QT_RCC ${U1DB_QT_RESOURCES})
+
+include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${Qt5Core_INCLUDE_DIRS}
+ ${Qt5Sql_INCLUDE_DIRS}
+ ${U1DB_INCLUDE_DIRS}
+ )
+
+add_library(${U1DB_QT_LIBNAME} SHARED ${U1DB_QT_SRCS} ${U1DB_QT_RCC})
+target_link_libraries(${U1DB_QT_LIBNAME}
+ ${Qt5Core_LIBRARIES}
+ ${Qt5Sql_LIBRARIES}
+ ${U1DB_LDFLAGS}
+ )
+
+set_target_properties(${U1DB_QT_LIBNAME} PROPERTIES
+ SOVERSION 3
+ VERSION 3.0.0
+ )
+
+# Install
+set(INCLUDE_INSTALL_DIR include/lib${U1DB_QT_LIBNAME})
+
+install(TARGETS ${U1DB_QT_LIBNAME}
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ )
+
+install(FILES global.h database.h document.h index.h query.h
+ DESTINATION ${INCLUDE_INSTALL_DIR}
+ )
+
=== renamed file 'dbschema.sql' => 'src/dbschema.sql'
=== renamed file 'sql.qrc' => 'src/sql.qrc'
=== modified file 'tests/CMakeLists.txt'
--- tests/CMakeLists.txt 2013-04-12 12:26:52 +0000
+++ tests/CMakeLists.txt 2013-04-23 11:19:23 +0000
@@ -1,34 +1,49 @@
+enable_testing()
+add_custom_target(check COMMAND "env" "CTEST_OUTPUT_ON_FAILURE=1" "${CMAKE_CTEST_COMMAND}")
+
find_package(Qt5Test REQUIRED)
-set(OUR_QT_TEST_LIB ${Qt5Test_LIBRARIES})
-set(OUR_QT_TEST_INCLUDES ${Qt5Test_INCLUDE_DIRS})
add_test(NAME plugintest COMMAND "qmltestrunner" "-maxwarnings" "20" "-platform" "minimal" "-import" "../modules" "-xunitxml" "-o" "plugintest-xunit.xml" "-input" "${CMAKE_CURRENT_SOURCE_DIR}")
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
- ${OUR_QT_TEST_INCLUDES}
+ ${Qt5Test_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}/src
- ${OUR_QT_QUICK_INCLUDE}
+ ${Qt5Sql_INCLUDE_DIRS}
+ ${Qt5Quick_INCLUDE_DIRS}
)
add_executable(test-database test-database.cpp)
-target_link_libraries(test-database ${OUR_QT_WIDGETS_LIB} ${OUR_QT_TEST_LIB} ${OUR_QT_QUICK_LIB} ${OUR_QT_SQL_LIB} ${U1DB_QT_LIBNAME})
+target_link_libraries(test-database
+ ${Qt5Test_LIBRARIES}
+ ${Qt5Quick_LIBRARIES}
+ ${Qt5Sql_LIBRARIES}
+ ${U1DB_QT_LIBNAME}
+ )
set_target_properties(test-database PROPERTIES COMPILE_FLAGS -fPIC)
add_test(NAME test-database COMMAND "dbus-test-runner" "--task" "${CMAKE_CURRENT_BINARY_DIR}/test-database" "-p" "-xunitxml" "-p" "-o" "-p" "test-database-xunit.xml")
set_property(TEST test-database PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=.")
set_property(TEST test-database PROPERTY ENVIRONMENT "QT_QPA_PLATFORM=minimal")
add_dependencies(check test-database)
-# pkg_search_module(PYTHON REQUIRED python-2.7)
-# if (PYTHON_FOUND)
-find_package(PythonLibs)
-if (PYTHONLIBS_FOUND)
- set(U1DB_QT_PY_SRCS qt-backend-wrapper.cpp)
- include_directories(${PYTHON_INCLUDE_DIRS})
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default -Wall -Wundef -std=c++0x")
- add_library(u1dbqt SHARED ${U1DB_QT_PY_SRCS})
- target_link_libraries(u1dbqt ${OUR_QT_CORE_LIB} ${OUR_QT_SQL_LIB} ${U1DB_QT_LIBNAME} ${PYTHON_LDFLAGS})
- # target_link_libraries(u1dbqt ${OUR_QT_CORE_LIB} ${OUR_QT_SQL_LIB} ${U1DB_QT_LIBNAME} ${PYTHON_LIBRARIES})
- add_custom_command(TARGET u1dbqt POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink libu1dbqt.so u1dbqt.so)
+option(BUILD_PYTHON "Build Python wrapper" OFF)
+if (BUILD_PYTHON)
+ find_package(PythonLibs)
+ if (PYTHONLIBS_FOUND)
+ set(U1DB_QT_PY_SRCS qt-backend-wrapper.cpp)
+ include_directories(
+ ${PYTHON_INCLUDE_DIRS}
+ ${Qt5Sql_INCLUDE_DIRS}
+ )
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default -Wall -Wundef -std=c++0x")
+ add_library(u1dbqt SHARED ${U1DB_QT_PY_SRCS})
+ target_link_libraries(u1dbqt
+ ${Qt5Core_LIBRARIES}
+ ${Qt5Sql_LIBRARIES}
+ ${U1DB_QT_LIBNAME}
+ ${PYTHON_LDFLAGS}
+ )
+ add_custom_command(TARGET u1dbqt POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink libu1dbqt.so u1dbqt.so)
+ endif ()
endif ()
Follow ups