From a9fbdbd29b32151d366123ca637b2a06736d6e05 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 26 Nov 2011 20:37:40 -0600 Subject: [PATCH] Initial attempt at using the standard CMake system --- CMakeLists.txt => CMakeLists.txt.orig | 0 ConfigureChecks.cmake | 30 +++++ admin | 2 +- config.h.cmake | 5 + src/CMakeLists.txt | 104 +++++++++------- src/helpers/CMakeLists.txt | 40 ++++-- src/icons/CMakeLists.txt | 12 +- src/kiosvn/CMakeLists.txt | 51 +++++--- src/ksvnwidgets/CMakeLists.txt | 73 +++++------ src/pics/CMakeLists.txt | 2 +- src/settings/CMakeLists.txt | 82 ++++++------ src/svnfrontend/CMakeLists.txt | 52 +++++--- src/svnqt/CMakeLists.txt | 42 +------ src/svnqt/CMakeLists.txt.orig | 171 ++++++++++++++++++++++++++ src/svnqt/ConfigureChecks.cmake | 30 +++++ src/svnqt/config.h.cmake | 5 + src/tdesvnd/CMakeLists.txt | 99 +++++++-------- 17 files changed, 533 insertions(+), 267 deletions(-) rename CMakeLists.txt => CMakeLists.txt.orig (100%) create mode 100644 ConfigureChecks.cmake create mode 100644 config.h.cmake create mode 100644 src/svnqt/CMakeLists.txt.orig create mode 100644 src/svnqt/ConfigureChecks.cmake create mode 100644 src/svnqt/config.h.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt.orig similarity index 100% rename from CMakeLists.txt rename to CMakeLists.txt.orig diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake new file mode 100644 index 0000000..16f316d --- /dev/null +++ b/ConfigureChecks.cmake @@ -0,0 +1,30 @@ +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +if( BUILD_TRANSLATIONS AND NOT DEFINED MSGFMT_EXECUTABLE ) + find_program( MSGFMT_EXECUTABLE msgfmt ) + if( NOT MSGFMT_EXECUTABLE ) + tde_message_fatal( "msgfmt program is required, but was not found on your system" ) + endif( ) +endif( ) + +check_type_size( "int" SIZEOF_INT BUILTIN_TYPES_ONLY ) +check_type_size( "long" SIZEOF_LONG BUILTIN_TYPES_ONLY ) + +check_include_file( stdint.h HAVE_STDINT_H ) +check_include_file( systems.h HAVE_SYSTEMS_H ) +check_include_file( linux/inotify.h HAVE_INOTIFY ) + +check_function_exists( statvfs HAVE_STATVFS ) + +# common required stuff +find_package( TQt ) +find_package( TDE ) diff --git a/admin b/admin index 26d642b..21cb4a9 160000 --- a/admin +++ b/admin @@ -1 +1 @@ -Subproject commit 26d642b2620397b76d5fbb64a9ef5ca8f2334f72 +Subproject commit 21cb4a9d2a0e083b10dee6d22958c4f58de6c5b2 diff --git a/config.h.cmake b/config.h.cmake new file mode 100644 index 0000000..d81a482 --- /dev/null +++ b/config.h.cmake @@ -0,0 +1,5 @@ +#cmakedefine SIZEOF_INT @SIZEOF_INT@ +#cmakedefine SIZEOF_LONG @SIZEOF_LONG@ +#cmakedefine HAVE_STDINT_H 1 +#cmakedefine HAVE_SYSTEMS_H 1 +#cmakedefine HAVE_STATVFS 1 \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a95b57c..65bf20e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,57 +1,73 @@ -ADD_EXECUTABLE(tdesvnaskpass askpass/tdesvn-askpass.cpp) -SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}/trinity) +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# -SET(tdesvnsrc - main.cpp - tdesvn.cpp - urldlg.cpp - commandline.cpp) +include_directories( + ${TQT_INCLUDE_DIRS} + ${TDE_INCLUDE_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src + ${CMAKE_SOURCE_DIR}/src +) -SET(partsrc - tdesvn_events.cpp - tdesvn_events.h - tdesvn_part.cpp - tdesvnview.cpp - commandline_part.cpp) +link_directories( + ${TQT_LIBRARY_DIRS} +) -KDE3_AUTOMOC(${tdesvnsrc}) -KDE3_AUTOMOC(${partsrc}) -SET(partsrc ${partsrc} tdesvn_part.h tdesvnview.h commandline_part.h) -SET(tdesvnsrc ${tdesvnsrc} tdesvn.h urldlg.h commandline.h) +##### other data ################################ -ADD_SUBDIRECTORY(svnqt) -ADD_SUBDIRECTORY(ksvnwidgets) -ADD_SUBDIRECTORY(settings) -ADD_SUBDIRECTORY(svnfrontend) -ADD_SUBDIRECTORY(helpers) -ADD_SUBDIRECTORY(tdesvnd) -ADD_SUBDIRECTORY(kiosvn) -ADD_SUBDIRECTORY(pics) -ADD_SUBDIRECTORY(icons) +INSTALL(FILES tdesvnui.rc DESTINATION ${DATA_INSTALL_DIR}/tdesvn) +INSTALL(FILES tdesvn_part.rc DESTINATION ${DATA_INSTALL_DIR}/tdesvnpart) +INSTALL(FILES tdesvn.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) -ADD_EXECUTABLE(tdesvn ${tdesvnsrc}) -KDE3_ADD_KPART(tdesvnpart WITH_PREFIX ${partsrc}) -TARGET_LINK_LIBRARIES(tdesvnpart svnfrontend tdesvnhelpers ksvnwidgets settingsdlgs tdesvncfgreader svnqt - ${QT_AND_TDECORE_LIBS} ${KDE3_KIO_LIBRARY} ${KDE3_PART_LIBRARY} ${KDE3_UI_LIBRARY} ${KDE3_WALLET_LIBRARY} ) -SET_TARGET_PROPERTIES(tdesvnpart - PROPERTIES - LINK_FLAGS "${_BASE_LDADD} ${APR_EXTRA_LIBFLAGS} ${APU_EXTRA_LIBFLAGS} ${LINK_NO_UNDEFINED}") +##### tdesvnaskpass ############################# -INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/src/svnqt) +tde_add_executable( tdesvnaskpass AUTOMOC + SOURCES askpass/tdesvn-askpass.cpp +# LINK tdecore-shared + DESTINATION ${BIN_INSTALL_DIR} +) -KDESVN_GENERATE_LIBTOOL_FILE(tdesvnpart) +##### tdesvn ##################################### -TARGET_LINK_LIBRARIES(tdesvnaskpass ${QT_AND_TDECORE_LIBS} ${KDE3_UI_LIBRARY}) -TARGET_LINK_LIBRARIES(tdesvn ${QT_AND_TDECORE_LIBS} ${KDE3_UI_LIBRARY} ${KDE3_PART_LIBRARY} ${KDE3_DCOP_LIBRARY} ${KDE3_KIO_LIBRARY}) +tde_add_executable( tdesvn AUTOMOC + SOURCES main.cpp tdesvn.cpp urldlg.cpp commandline.cpp + LINK tdecore-shared tdeui-shared kparts-shared DCOP-shared kio-shared) + DESTINATION ${BIN_INSTALL_DIR} +) -INSTALL(TARGETS tdesvn tdesvnaskpass tdesvnpart - RUNTIME DESTINATION ${BIN_INSTALL_DIR} - LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR}) -# the resources -INSTALL(FILES tdesvnui.rc DESTINATION ${DATA_INSTALL_DIR}/tdesvn) -INSTALL(FILES tdesvn_part.rc DESTINATION ${DATA_INSTALL_DIR}/tdesvnpart) -INSTALL(FILES tdesvn.desktop DESTINATION ${XDG_APPS_DIR}) +##### tdesvnpart ################################# + +set( target tdesvnpart ) + +set( ${target}_SRCS + tdesvn_events.cpp tdesvn_events.h tdesvn_part.cpp + tdesvnview.cpp commandline_part.cpp +) + +tde_add_kpart( ${target} AUTOMOC + SOURCES ${${target}_SRCS} + LINK tdecore-shared kio-shared kparts-shared tdeui-shared kwallet-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) + +add_subdirectory( svnqt ) +add_subdirectory( ksvnwidgets ) +add_subdirectory( settings ) +add_subdirectory( svnfrontend ) +add_subdirectory( helpers ) +add_subdirectory( tdesvnd ) +add_subdirectory( kiosvn ) +add_subdirectory( pics ) +add_subdirectory( icons ) diff --git a/src/helpers/CMakeLists.txt b/src/helpers/CMakeLists.txt index cce4bbe..82fa5f8 100644 --- a/src/helpers/CMakeLists.txt +++ b/src/helpers/CMakeLists.txt @@ -1,14 +1,32 @@ -SET(helperssrc - ktranslateurl.cpp - sshagent.cpp - sub2qt.cpp) +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# -FILE(GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") +include_directories( + ${TQT_INCLUDE_DIRS} + ${TDE_INCLUDE_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src + ${CMAKE_SOURCE_DIR}/src +) -KDE3_AUTOMOC(${helperssrc} ) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) -ADD_LIBRARY(tdesvnhelpers STATIC ${helperssrc} ${hdr}) +link_directories( + ${TQT_LIBRARY_DIRS} +) -SET_TARGET_PROPERTIES(tdesvnhelpers - PROPERTIES - COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) +##### tdesvnhelpers ############################## + +file (GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") + +tde_add_library( tdesvnhelpers STATIC AUTOMOC + SOURCES helperssrc ktranslateurl.cpp sshagent.cpp sub2qt.cpp ${hdr} +# LINK kio-shared + DESTINATION ${LIB_INSTALL_DIR} +) \ No newline at end of file diff --git a/src/icons/CMakeLists.txt b/src/icons/CMakeLists.txt index e70476e..9c5d529 100644 --- a/src/icons/CMakeLists.txt +++ b/src/icons/CMakeLists.txt @@ -1,2 +1,12 @@ -KDESVN_INSTALL_ICONS(hicolor) +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# +tde_install_icons( DESTINATION ${DATA_INSTALL_DIR}/tdesvn/icons ) diff --git a/src/kiosvn/CMakeLists.txt b/src/kiosvn/CMakeLists.txt index 396e8b5..7c77f2a 100644 --- a/src/kiosvn/CMakeLists.txt +++ b/src/kiosvn/CMakeLists.txt @@ -1,26 +1,39 @@ -INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/src/svnqt -${CMAKE_BINARY_DIR}/src/ksvnwidgets) +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# -SET(kiosvn_src kiosvn.cpp kiolistener.cpp kiobytestream.cpp ../ksvnwidgets/pwstorage.cpp) -FILE(GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") +include_directories( + ${TQT_INCLUDE_DIRS} + ${TDE_INCLUDE_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src + ${CMAKE_SOURCE_DIR}/src +) -KDE3_ADD_KPART(kio_ksvn ${kiosvn_src} ${hdr}) +link_directories( + ${TQT_LIBRARY_DIRS} +) -TARGET_LINK_LIBRARIES(kio_ksvn - svnqt - tdesvnhelpers - tdesvncfgreader - ${QT_AND_TDECORE_LIBS} - ${KDE3_UI_LIBRARY} ${KDE3_DCOP_LIBRARY} ${KDE3_KIO_LIBRARY} ${KDE3_WALLET_LIBRARY}) -SET_TARGET_PROPERTIES(kio_ksvn - PROPERTIES - LINK_FLAG "${LINK_NO_UNDEFINED} ${_BASE_LDADD}") +##### kio_ksvn ################################## -INSTALL(TARGETS kio_ksvn - LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR}) +file (GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") -FILE(GLOB PROTFILES *.protocol) +tde_add_kpart( kio_ksvn AUTOMOC + SOURCES kiosvn.cpp kiolistener.cpp kiobytestream.cpp ../ksvnwidgets/pwstorage.cpp ${hdr} + LINK kio_ksvn svnqt tdesvnhelpers tdesvncfgreader tdecore-shared tdeui-shared DCOP-shared kio-shared kwallet-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) -INSTALL(FILES ${PROTFILES} - DESTINATION ${SERVICES_INSTALL_DIR}) + +##### protocol files ############################ + +file( GLOB PROTFILES *.protocol ) +install( FILES ${PROTFILES} DESTINATION ${SERVICES_INSTALL_DIR} ) diff --git a/src/ksvnwidgets/CMakeLists.txt b/src/ksvnwidgets/CMakeLists.txt index 0e2eabe..063fc95 100644 --- a/src/ksvnwidgets/CMakeLists.txt +++ b/src/ksvnwidgets/CMakeLists.txt @@ -1,46 +1,41 @@ -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR}/src/svnqt) +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# -KDE3_ADD_UI_FILES( - tdesvn_shared_ui - logmessage.ui - ssltrustprompt.ui - authdlg.ui - encodingselector.ui - depthform.ui - revertform.ui +include_directories( + ${TQT_INCLUDE_DIRS} + ${TDE_INCLUDE_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src/svnqt ) -SET(ksvnwidgetsrc - authdialogimpl.cpp - logmsg_impl.cpp - ssltrustprompt_impl.cpp - pwstorage.cpp - diffbrowser.cpp - diffbrowserdata.cpp - diffsyntax.cpp - encodingselector_impl.cpp - depthselector.cpp - revertform_impl.cpp - ) - -SET(ksvnwidgethdr - authdialogimpl.h - logmsg_impl.h - ssltrustprompt_impl.h - pwstorage.h - diffbrowser.h - diffbrowserdata.h - diffsyntax.h - encodingselector_impl.h - depthselector.h - revertform_impl.h +link_directories( + ${TQT_LIBRARY_DIRS} ) -KDE3_AUTOMOC(${ksvnwidgetsrc}) +##### ksvnwidgets ############################### + +file (GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") -ADD_LIBRARY(ksvnwidgets STATIC ${ksvnwidgetsrc} ${tdesvn_shared_ui} ${ksvnwidgethdr}) -SET_TARGET_PROPERTIES(ksvnwidgets - PROPERTIES - COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) +tde_add_library( ksvnwidgets STATIC AUTOMOC + SOURCES authdialogimpl.cpp logmsg_impl.cpp ssltrustprompt_impl.cpp + pwstorage.cpp diffbrowser.cpp diffbrowserdata.cpp + diffsyntax.cpp encodingselector_impl.cpp depthselector.cpp + revertform_impl.cpp tdesvn_shared_ui logmessage.ui + ssltrustprompt.ui authdlg.ui encodingselector.ui + depthform.ui revertform.ui ${hdr} +# LINK kio-shared + DESTINATION ${LIB_INSTALL_DIR} +) -ADD_DEPENDENCIES(ksvnwidgets tdesvncfgreader) +ADD_DEPENDENCIES(ksvnwidgets tdesvncfgreader) \ No newline at end of file diff --git a/src/pics/CMakeLists.txt b/src/pics/CMakeLists.txt index e70476e..cea1294 100644 --- a/src/pics/CMakeLists.txt +++ b/src/pics/CMakeLists.txt @@ -1,2 +1,2 @@ -KDESVN_INSTALL_ICONS(hicolor) +tde_install_icons( ) diff --git a/src/settings/CMakeLists.txt b/src/settings/CMakeLists.txt index 7894082..d4c9b4a 100644 --- a/src/settings/CMakeLists.txt +++ b/src/settings/CMakeLists.txt @@ -1,50 +1,50 @@ -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) - -KDE3_ADD_KCFG_FILES(cfgsrc - tdesvnsettings.kcfgc) -ADD_LIBRARY(tdesvncfgreader STATIC ${cfgsrc}) - -KDE3_ADD_UI_FILES( - settings_ui_sources - dispcolor_settings.ui - display_settings.ui - revisiontree_settings.ui - subversion_settings.ui - cmdexecsettings.ui - diffmergesettings.ui +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${TQT_INCLUDE_DIRS} + ${TDE_INCLUDE_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_CURRENT_BINARY_DIR} ) -SET(settings_sources - dispcolorsettings_impl.cpp - displaysettings_impl.cpp - revisiontreesettingsdlg_impl.cpp - subversionsettings_impl.cpp - cmdexecsettings_impl.cpp - diffmergesettings_impl.cpp) - -FILE(GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") +link_directories( + ${TQT_LIBRARY_DIRS} +) -KDE3_AUTOMOC(${settings_sources}) -ADD_LIBRARY(settingsdlgs STATIC ${settings_ui_sources} ${settings_sources} ${hdr}) -ADD_DEPENDENCIES(settingsdlgs tdesvncfgreader) -SET_TARGET_PROPERTIES(tdesvncfgreader settingsdlgs - PROPERTIES - COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) +##### tdesvncfgreader ########################### -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tdesvn_part.kcfg DESTINATION ${KCFG_INSTALL_DIR}) +file (GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") -INSTALL( - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/tdesvnpartrc-use-external.upd - DESTINATION - ${DATA_INSTALL_DIR}/kconf_update +tde_add_library( tdesvncfgreader STATIC AUTOMOC + SOURCES settings_ui_sources dispcolor_settings.ui + display_settings.ui revisiontree_settings.ui + subversion_settings.ui cmdexecsettings.ui + diffmergesettings.ui dispcolorsettings_impl.cpp + displaysettings_impl.cpp revisiontreesettingsdlg_impl.cpp + subversionsettings_impl.cpp cmdexecsettings_impl.cpp + diffmergesettings_impl.cpp tdesvnsettings.kcfgc ${hdr} +# LINK kio-shared + DESTINATION ${LIB_INSTALL_DIR} ) -INSTALL( - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/tdesvn-use-external-update.sh - DESTINATION - ${DATA_INSTALL_DIR}/kconf_update - PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ + +##### data files ################################ + +install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/tdesvn_part.kcfg DESTINATION ${KCFG_INSTALL_DIR} ) +install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/tdesvnpartrc-use-external.upd DESTINATION ${DATA_INSTALL_DIR}/kconf_update ) +install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/tdesvn-use-external-update.sh + DESTINATION ${DATA_INSTALL_DIR}/kconf_update + PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ ) diff --git a/src/svnfrontend/CMakeLists.txt b/src/svnfrontend/CMakeLists.txt index d418547..81ef448 100644 --- a/src/svnfrontend/CMakeLists.txt +++ b/src/svnfrontend/CMakeLists.txt @@ -1,7 +1,35 @@ -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/svnfrontend/fronthelpers ${CMAKE_BINARY_DIR}/src/svnqt) +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# -SET(svnfrontendsrc - ccontextlistener.cpp +include_directories( + ${TQT_INCLUDE_DIRS} + ${TDE_INCLUDE_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/src/svnfrontend/fronthelpers + ${CMAKE_BINARY_DIR}/src/svnqt +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + +##### svnfrontend ############################### + +file (GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") + +tde_add_library( svnfrontend STATIC AUTOMOC + SOURCES ccontextlistener.cpp commandexec.cpp copymoveview_impl.cpp createrepo_impl.cpp @@ -56,9 +84,6 @@ SET(svnfrontendsrc threadcontextlistenerdata.cpp fillcachethread.cpp fillcachethread.h - ) - -SET(svnfrontendui copymoveview.ui createrepo_dlg.ui dumprepo_dlg.ui @@ -71,16 +96,9 @@ SET(svnfrontendui merge_dlg.ui blamedisplay.ui svnlogdlg.ui - ) - -FILE(GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") - -KDE3_AUTOMOC(${svnfrontendsrc}) -KDE3_ADD_UI_FILES(frontend_ui_sources ${svnfrontendui}) - -ADD_LIBRARY(svnfrontend STATIC ${svnfrontendsrc} ${frontend_ui_sources} ${hdr}) -SET_TARGET_PROPERTIES(svnfrontend - PROPERTIES - COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) + ${hdr} +# LINK kio-shared + DESTINATION ${LIB_INSTALL_DIR} +) ADD_DEPENDENCIES(svnfrontend ksvnwidgets) diff --git a/src/svnqt/CMakeLists.txt b/src/svnqt/CMakeLists.txt index a6212fd..d8fd1a0 100644 --- a/src/svnqt/CMakeLists.txt +++ b/src/svnqt/CMakeLists.txt @@ -45,7 +45,6 @@ SET(SOURCES cache/DatabaseException.cpp ) -IF (NOT QT4_FOUND) IF (SQLITE_FOUND) MESSAGE(STATUS "Build own sqlite3 database modul") SET(SOURCES @@ -58,10 +57,6 @@ IF (NOT QT4_FOUND) ELSE (SQLITE_FOUND) MESSAGE(SEND_ERROR "The QT3 version requires sqlite3 but could not found") ENDIF (SQLITE_FOUND) -ELSE (NOT QT4_FOUND) - MESSAGE(STATUS "Build with QT4.") - ADD_DEFINITIONS(-DNO_SQLITE3) -ENDIF (NOT QT4_FOUND) SET(CACHEINST_HEADERS cache/LogCache.hpp @@ -108,19 +103,7 @@ SET(INST_HEADERS FILE(GLOB svnhdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.hpp") SET(svnhdr ${svnhdr} ${CACHE_INST_HEADERS}) -#IF(QT4_FOUND) -# MESSAGE(STATUS "Qt: ${QT_LIBRARY_DIR}") -# MESSAGE(STATUS "Qt: ${QT_QTCORE_LIBRARY}") -# SET(TOUTF8 "toUtf8") -# SET(FROMUTF8 "fromUtf8") -# SET(QLIST "QList") -# SET(TOASCII "toAscii") -# SET(HOMEDIR "homePath") -# SET(svnqt-name svnqt-qt4) -# SET(QDATABASE "QSqlDatabase") -# SET(QLONG "qlonglong") -#ELSE(QT4_FOUND) -# IF(QT_FOUND) + SET(TOUTF8 "utf8") SET(FROMUTF8 "fromUtf8") SET(QLIST "TQValueList") @@ -128,17 +111,12 @@ SET(svnhdr ${svnhdr} ${CACHE_INST_HEADERS}) SET(HOMEDIR "homeDirPath") SET(QDATABASE "TQSqlDatabase*") SET(QLONG "Q_LLONG") -# ENDIF(QT_FOUND) SET(svnqt-name svnqt) -#ENDIF(QT4_FOUND) IF (HAVE_GCC_VISIBILITY) SET(_SVNQT_EXPORT "__attribute__ ((visibility(\"default\")))") SET(_SVNQT_NOEXPORT "__attribute__ ((visibility(\"hidden\")))") ENDIF (HAVE_GCC_VISIBILITY) -IF (WIN32) - SET(_SVNQT_EXPORT "__declspec(dllexport)") -ENDIF (WIN32) CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/svnqt_defines.hpp.in" @@ -150,14 +128,10 @@ SET(INST_HEADERS ${INST_HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/svnqt_defines.hpp) INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) ADD_LIBRARY(${svnqt-name} SHARED ${SOURCES} ${svnhdr}) -IF(WIN32) - ADD_DEFINITIONS(-D_USE_32BIT_TIME_T) -ELSE(WIN32) SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}) SET_TARGET_PROPERTIES(${svnqt-name} PROPERTIES COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) -ENDIF(WIN32) SET(LIB_MAJOR 4) SET(LIB_MINOR 2) @@ -174,16 +148,12 @@ SET(ALL_LINKFLAGS "${ALL_LINKFLAGS} ${APU_EXTRA_LIBFLAGS}") SET_TARGET_PROPERTIES(${svnqt-name} PROPERTIES LINK_FLAGS "${ALL_LINKFLAGS} ${LINK_NO_UNDEFINED}") TARGET_LINK_LIBRARIES(${svnqt-name} ${QT_LIBRARIES} ${SUBVERSION_ALL_LIBS}) -IF (SQLITE_FOUND AND NOT QT4_FOUND) +IF (SQLITE_FOUND) TARGET_LINK_LIBRARIES(${svnqt-name} ${SQLITE_LIBRARIES}) INCLUDE_DIRECTORIES(SQLITE_INCLUDE_DIR) -ELSE (SQLITE_FOUND AND NOT QT4_FOUND) +ELSE (SQLITE_FOUND) TARGET_LINK_LIBRARIES(${svnqt-name} ${QT_QTSQL_LIBRARY}) -ENDIF (SQLITE_FOUND AND NOT QT4_FOUND) - -IF (WIN32) - TARGET_LINK_LIBRARIES( ${svnqt-name} wsock32.lib ) -ENDIF (WIN32) +ENDIF (SQLITE_FOUND) # Just a small linking test IF (BUILD_TESTS) @@ -191,13 +161,9 @@ IF (BUILD_TESTS) TARGET_LINK_LIBRARIES(testlink ${svnqt-name}) ENDIF (BUILD_TESTS) -# install rules -# in win32 we don't install it -IF(NOT WIN32) INSTALL(TARGETS ${svnqt-name} DESTINATION ${LIB_INSTALL_DIR}) INSTALL(FILES ${INST_HEADERS} DESTINATION include/${svnqt-name}) INSTALL(FILES ${CACHEINST_HEADERS} DESTINATION include/${svnqt-name}/cache) -ENDIF(NOT WIN32) IF (BUILD_TESTS) ADD_SUBDIRECTORY(tests) diff --git a/src/svnqt/CMakeLists.txt.orig b/src/svnqt/CMakeLists.txt.orig new file mode 100644 index 0000000..d8fd1a0 --- /dev/null +++ b/src/svnqt/CMakeLists.txt.orig @@ -0,0 +1,171 @@ +SET(SOURCES + apr.cpp + client_annotate.cpp + client_cat.cpp + client.cpp + client_diff.cpp + client_ls.cpp + client_modify.cpp + client_property.cpp + client_status.cpp + context.cpp + datetime.cpp + dirent.cpp + entry.cpp + exception.cpp + log_entry.cpp + path.cpp + pool.cpp + revision.cpp + status.cpp + targets.cpp + url.cpp + version_check.cpp + wc.cpp + lock_entry.cpp + client_lock.cpp + info_entry.cpp + client_impl.cpp + contextdata.cpp + commititem.cpp + repository.cpp + repositorydata.cpp + repositorylistener.cpp + svnstream.cpp + diff_data.cpp + svnfilestream.cpp + stringarray.cpp + diffoptions.cpp + conflictdescription.cpp + conflictresult.cpp + client_merge.cpp + cache/LogCache.cpp + cache/ReposLog.cpp + cache/DatabaseException.hpp + cache/DatabaseException.cpp + ) + + IF (SQLITE_FOUND) + MESSAGE(STATUS "Build own sqlite3 database modul") + SET(SOURCES + ${SOURCES} + cache/sqlite3/qsqlcachedresult.cpp + cache/sqlite3/qsql_sqlite3.cpp + cache/sqlite3/qsqlcachedresult.h + cache/sqlite3/qsql_sqlite3.h + ) + ELSE (SQLITE_FOUND) + MESSAGE(SEND_ERROR "The QT3 version requires sqlite3 but could not found") + ENDIF (SQLITE_FOUND) + +SET(CACHEINST_HEADERS + cache/LogCache.hpp + cache/ReposLog.hpp + cache/DatabaseException.hpp +) + +SET(INST_HEADERS + annotate_line.hpp + apr.hpp + check.hpp + client.hpp + commititem.hpp + context.hpp + context_listener.hpp + datetime.hpp + dirent.hpp + entry.hpp + exception.hpp + info_entry.hpp + lock_entry.hpp + log_entry.hpp + path.hpp + pool.hpp + repository.hpp + repositorylistener.hpp + revision.hpp + smart_pointer.hpp + shared_pointer.hpp + status.hpp + svnfilestream.hpp + svnstream.hpp + svnqttypes.hpp + targets.hpp + url.hpp + version_check.hpp + wc.hpp + stringarray.hpp + diffoptions.hpp + conflictdescription.hpp + conflictresult.hpp + ) + +FILE(GLOB svnhdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.hpp") +SET(svnhdr ${svnhdr} ${CACHE_INST_HEADERS}) + + + SET(TOUTF8 "utf8") + SET(FROMUTF8 "fromUtf8") + SET(QLIST "TQValueList") + SET(TOASCII "latin1") + SET(HOMEDIR "homeDirPath") + SET(QDATABASE "TQSqlDatabase*") + SET(QLONG "Q_LLONG") + SET(svnqt-name svnqt) + +IF (HAVE_GCC_VISIBILITY) + SET(_SVNQT_EXPORT "__attribute__ ((visibility(\"default\")))") + SET(_SVNQT_NOEXPORT "__attribute__ ((visibility(\"hidden\")))") +ENDIF (HAVE_GCC_VISIBILITY) + +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/svnqt_defines.hpp.in" + "${CMAKE_CURRENT_BINARY_DIR}/svnqt_defines.hpp" + IMMEDIATE + @ONLY) + +SET(INST_HEADERS ${INST_HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/svnqt_defines.hpp) +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) + +ADD_LIBRARY(${svnqt-name} SHARED ${SOURCES} ${svnhdr}) + SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}) + SET_TARGET_PROPERTIES(${svnqt-name} + PROPERTIES + COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) + +SET(LIB_MAJOR 4) +SET(LIB_MINOR 2) +SET(LIB_RELEASE 2) + +SET(_soversion ${LIB_MAJOR}.${LIB_MINOR}.${LIB_RELEASE}) + +SET_TARGET_PROPERTIES(${svnqt-name} PROPERTIES + SOVERSION ${LIB_MAJOR} + VERSION ${_soversion}) + +SET(ALL_LINKFLAGS ${APR_EXTRA_LIBFLAGS}) +SET(ALL_LINKFLAGS "${ALL_LINKFLAGS} ${APU_EXTRA_LIBFLAGS}") +SET_TARGET_PROPERTIES(${svnqt-name} PROPERTIES LINK_FLAGS "${ALL_LINKFLAGS} ${LINK_NO_UNDEFINED}") +TARGET_LINK_LIBRARIES(${svnqt-name} ${QT_LIBRARIES} ${SUBVERSION_ALL_LIBS}) + +IF (SQLITE_FOUND) + TARGET_LINK_LIBRARIES(${svnqt-name} ${SQLITE_LIBRARIES}) + INCLUDE_DIRECTORIES(SQLITE_INCLUDE_DIR) +ELSE (SQLITE_FOUND) + TARGET_LINK_LIBRARIES(${svnqt-name} ${QT_QTSQL_LIBRARY}) +ENDIF (SQLITE_FOUND) + +# Just a small linking test +IF (BUILD_TESTS) + ADD_EXECUTABLE(testlink testmain.cpp) + TARGET_LINK_LIBRARIES(testlink ${svnqt-name}) +ENDIF (BUILD_TESTS) + + INSTALL(TARGETS ${svnqt-name} DESTINATION ${LIB_INSTALL_DIR}) + INSTALL(FILES ${INST_HEADERS} DESTINATION include/${svnqt-name}) + INSTALL(FILES ${CACHEINST_HEADERS} DESTINATION include/${svnqt-name}/cache) + +IF (BUILD_TESTS) + ADD_SUBDIRECTORY(tests) + ADD_SUBDIRECTORY(cache/test) +ENDIF (BUILD_TESTS) diff --git a/src/svnqt/ConfigureChecks.cmake b/src/svnqt/ConfigureChecks.cmake new file mode 100644 index 0000000..16f316d --- /dev/null +++ b/src/svnqt/ConfigureChecks.cmake @@ -0,0 +1,30 @@ +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +if( BUILD_TRANSLATIONS AND NOT DEFINED MSGFMT_EXECUTABLE ) + find_program( MSGFMT_EXECUTABLE msgfmt ) + if( NOT MSGFMT_EXECUTABLE ) + tde_message_fatal( "msgfmt program is required, but was not found on your system" ) + endif( ) +endif( ) + +check_type_size( "int" SIZEOF_INT BUILTIN_TYPES_ONLY ) +check_type_size( "long" SIZEOF_LONG BUILTIN_TYPES_ONLY ) + +check_include_file( stdint.h HAVE_STDINT_H ) +check_include_file( systems.h HAVE_SYSTEMS_H ) +check_include_file( linux/inotify.h HAVE_INOTIFY ) + +check_function_exists( statvfs HAVE_STATVFS ) + +# common required stuff +find_package( TQt ) +find_package( TDE ) diff --git a/src/svnqt/config.h.cmake b/src/svnqt/config.h.cmake new file mode 100644 index 0000000..d81a482 --- /dev/null +++ b/src/svnqt/config.h.cmake @@ -0,0 +1,5 @@ +#cmakedefine SIZEOF_INT @SIZEOF_INT@ +#cmakedefine SIZEOF_LONG @SIZEOF_LONG@ +#cmakedefine HAVE_STDINT_H 1 +#cmakedefine HAVE_SYSTEMS_H 1 +#cmakedefine HAVE_STATVFS 1 \ No newline at end of file diff --git a/src/tdesvnd/CMakeLists.txt b/src/tdesvnd/CMakeLists.txt index 87f7c6e..f686fed 100644 --- a/src/tdesvnd/CMakeLists.txt +++ b/src/tdesvnd/CMakeLists.txt @@ -1,55 +1,44 @@ -INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/src/svnqt) -FILE(GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") -SET(kded_tdesvnd_src - tdesvnd_dcop.cpp - ${hdr} - ) - -KDE3_ADD_MOC_FILES(kded_tdesvnd_src tdesvnd_dcop.h) - -KDE3_ADD_DCOP_SKELS(kded_tdesvnd_src - tdesvnd_dcop.h) - -KDE3_ADD_KPART(kded_tdesvnd ${kded_tdesvnd_src}) - -TARGET_LINK_LIBRARIES(kded_tdesvnd - svnqt - ksvnwidgets - tdesvnhelpers - tdesvncfgreader - ${QT_AND_TDECORE_LIBS} ${KDE3_KIO_LIBRARY} ${KDE3_DCOP_LIBRARY} - ${KDE3_UI_LIBRARY} ${KDE3_WALLET_LIBRARY} - ${KDE3_KINIT_KDED_LIBRARY}) - -SET_TARGET_PROPERTIES(kded_tdesvnd - PROPERTIES - LINK_FLAGS "${LINK_NO_UNDEFINED} ${_BASE_LDADD} ${APR_EXTRA_LIBFLAGS} ${APU_EXTRA_LIBFLAGS} -module") - -INSTALL(TARGETS kded_tdesvnd - RUNTIME DESTINATION ${BIN_INSTALL_DIR} - LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR}) - -KDESVN_GENERATE_LIBTOOL_FILE(kded_tdesvnd) - -IF(KDE3_KDECONFIG_EXECUTABLE) - EXECUTE_PROCESS(COMMAND ${KDE3_KDECONFIG_EXECUTABLE} "--version" OUTPUT_VARIABLE output) - STRING(REGEX MATCH "KDE: [0-9]+\\.[0-9]+\\.[0-9]+" KDEVERSION "${output}") - STRING(REGEX REPLACE "^KDE: " "" KDEVERSION "${KDEVERSION}") -ENDIF(KDE3_KDECONFIG_EXECUTABLE) -SET(KDE_MIN_VERSION "3.5.0") -MACRO_ENSURE_VERSION(${KDE_MIN_VERSION} ${KDEVERSION} VERSION_OK) - -IF(VERSION_OK) - SET(ACTION_MENU "X-KDE-GetActionMenu=kded tdesvnd getActionMenu(KURL::List)") -ELSE(VERSION_OK) - SET(ACTION_MENU "Actions=Update;Commit;Add;Delete;Blame;Log;Diff;Checkout;Export;Info;Addnew;Switch;Revert;Rename;Tree") -ENDIF(VERSION_OK) - -CONFIGURE_FILE(tdesvn_subversion.desktop.in - ${CMAKE_CURRENT_BINARY_DIR}/tdesvn_subversion.desktop @ONLY) - -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/tdesvn_subversion.desktop - DESTINATION ${DATA_INSTALL_DIR}/konqueror/servicemenus) - -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tdesvnd.desktop - DESTINATION ${SERVICES_INSTALL_DIR}/kded) +################################################# +# +# (C) 2011 Timothy Pearson +# kb9vqf (AT) pearsoncomputing.net +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${TQT_INCLUDE_DIRS} + ${TDE_INCLUDE_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_BINARY_DIR}/src/svnqt +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### kio_ksvn ################################## + +file (GLOB hdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") + +tde_add_kpart( kio_ksvn AUTOMOC + SOURCES kded_tdesvnd_src tdesvnd_dcop.cpp ${hdr} + LINK kio_ksvn kded_tdesvnd svnqt ksvnwidgets tdesvnhelpers tdesvncfgreader tdecore-shared tdeui-shared DCOP-shared kio-shared kwallet-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) + + +##### other files ############################### + +set( ACTION_MENU "X-KDE-GetActionMenu=kded tdesvnd getActionMenu(KURL::List)" ) + +configure_file (tdesvn_subversion.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/tdesvn_subversion.desktop @ONLY ) + +install (FILES ${CMAKE_CURRENT_BINARY_DIR}/tdesvn_subversion.desktop DESTINATION ${DATA_INSTALL_DIR}/konqueror/servicemenus ) +install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/tdesvnd.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kded )