summaryrefslogtreecommitdiff
path: root/qt4/cmake/modules/TelepathyDist.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'qt4/cmake/modules/TelepathyDist.cmake')
-rw-r--r--qt4/cmake/modules/TelepathyDist.cmake110
1 files changed, 110 insertions, 0 deletions
diff --git a/qt4/cmake/modules/TelepathyDist.cmake b/qt4/cmake/modules/TelepathyDist.cmake
new file mode 100644
index 000000000..37b7e69c7
--- /dev/null
+++ b/qt4/cmake/modules/TelepathyDist.cmake
@@ -0,0 +1,110 @@
+# setup make dist
+add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz
+ COMMAND git archive --format=tar --prefix=${PACKAGE_NAME}-${PACKAGE_VERSION}/ HEAD |
+ gzip > ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+
+add_custom_target(create-source-working-dir
+ rm -rf ${PACKAGE_NAME}-${PACKAGE_VERSION} &&
+ gzip -df ${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz &&
+ tar -xf ${PACKAGE_NAME}-${PACKAGE_VERSION}.tar &&
+ rm ${PACKAGE_NAME}-${PACKAGE_VERSION}.tar* &&
+ cd ${PACKAGE_NAME}-${PACKAGE_VERSION}/ &&
+ rm -rf doc && mkdir doc && cp -R ${CMAKE_BINARY_DIR}/doc/html doc/
+
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ DEPENDS ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz
+ COMMENT "Generating working source dir for the dist tarball")
+add_dependencies(create-source-working-dir doxygen-doc)
+
+add_custom_target(dist-hook
+ chmod u+w ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}/ChangeLog &&
+ git log --stat > ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}/ChangeLog ||
+ git log > ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}/ChangeLog
+
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ COMMENT "Updating Changelog")
+add_dependencies(dist-hook create-source-working-dir)
+
+add_custom_target(dist tar --format=ustar -chf - ${PACKAGE_NAME}-${PACKAGE_VERSION} |
+ GZIP=--best gzip -c > ${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ COMMENT "Generating dist tarball")
+add_dependencies(dist dist-hook)
+
+# setup make distcheck
+add_custom_target(distcheck rm -rf build && mkdir build && cd build && cmake .. && make && make check
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}/
+ COMMENT "Testing successful tarball build")
+add_dependencies(distcheck dist)
+
+# CPack
+set(ENABLE_CPACK OFF CACHE BOOL "Enables CPack targets generation")
+if (ENABLE_CPACK)
+
+ include(InstallRequiredSystemLibraries)
+
+ SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A high-level binding for Telepathy in Qt4")
+ SET(CPACK_PACKAGE_VENDOR "Collabora Ltd.")
+ SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README")
+ SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
+ SET(CPACK_PACKAGE_VERSION_MAJOR ${TP_QT4_MAJOR_VERSION})
+ SET(CPACK_PACKAGE_VERSION_MINOR ${TP_QT4_MINOR_VERSION})
+ SET(CPACK_PACKAGE_VERSION_PATCH ${TP_QT4_MICRO_VERSION})
+ SET(CPACK_PACKAGE_INSTALL_DIRECTORY "TelepathyQt4")
+ SET(CPACK_PACKAGE_CONTACT "telepathy@lists.freedesktop.org")
+ set(CPACK_SOURCE_IGNORE_FILES
+ "/build/;/.bzr/;~$;/.git/;/.kdev4/;${CPACK_SOURCE_IGNORE_FILES}")
+ IF(WIN32 AND NOT UNIX)
+ # There is a bug in NSI that does not handle full unix paths properly. Make
+ # sure there is at least one set of four (4) backlasshes.
+ #SET(CPACK_PACKAGE_ICON "${CMake_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp")
+ #SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe")
+ SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} TelepathyQt4")
+ #SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.github.com")
+ #SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.my-personal-home-page.com")
+ #SET(CPACK_NSIS_CONTACT "me@my-personal-home-page.com")
+ SET(CPACK_NSIS_MODIFY_PATH ON)
+ ELSE(WIN32 AND NOT UNIX)
+ #SET(CPACK_STRIP_FILES "bin/MyExecutable")
+ SET(CPACK_SOURCE_STRIP_FILES "")
+ ENDIF(WIN32 AND NOT UNIX)
+ #SET(CPACK_PACKAGE_EXECUTABLES "MyExecutable" "My Executable")
+
+ if (APPLE)
+ set(CPACK_SET_DESTDIR ON)
+ set(CPACK_PACKAGE_RELOCATABLE OFF)
+ endif (APPLE)
+
+ #name components
+ set(CPACK_COMPONENT_MAINLIBRARY_DISPLAY_NAME "TelepathyQt4 main components")
+ set(CPACK_COMPONENT_FARSIGHT_DISPLAY_NAME "TelepathyQt4 Farsight support")
+ set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "Development files for TelepathyQt4")
+ set(CPACK_COMPONENT_FARSIGHT_HEADERS_DISPLAY_NAME "Development files for TelepathyQt4-Farsight")
+
+ #components description
+ set(CPACK_COMPONENT_MAINLIBRARY_DESCRIPTION
+ "The main TelepathyQt4 library")
+ set(CPACK_COMPONENT_FARSIGHT_DESCRIPTION
+ "The TelepathyQt4-Farsight library")
+ set(CPACK_COMPONENT_HEADERS_DESCRIPTION
+ "Development files for TelepathyQt4")
+ set(CPACK_COMPONENT_FARSIGHT_HEADERS_DESCRIPTION
+ "Development files for TelepathyQt4-Farsight")
+
+ set(CPACK_COMPONENT_HEADERS_DEPENDS mainlibrary)
+ set(CPACK_COMPONENT_FARSIGHT_DEPENDS mainlibrary)
+ set(CPACK_COMPONENT_FARSIGHT_HEADERS_DEPENDS mainlibrary farsight)
+
+ #installation types
+ set(CPACK_ALL_INSTALL_TYPES User Developer Minimal)
+
+ set(CPACK_COMPONENT_MAINLIBRARY_INSTALL_TYPES User Developer Minimal)
+ set(CPACK_COMPONENT_FARSIGHT_INSTALL_TYPES User Developer)
+ set(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer)
+ set(CPACK_COMPONENT_FARSIGHT_HEADERS_INSTALL_TYPES Developer)
+
+ # Leave this as the last declaration, always!!!
+ include(CPack)
+
+endif (ENABLE_CPACK)