← Back to team overview

uonedb-qt team mailing list archive

[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