Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Molkentin <danimo@owncloud.com>2014-07-11 02:31:24 +0400
committerDaniel Molkentin <danimo@owncloud.com>2014-07-11 13:07:31 +0400
commitdf3c3bca025a7cdb5f20e55fc2ecc37618e7cc8d (patch)
tree22fa58b5a09ec9f93ad376dce2edd6272483fc1a /src/CMakeLists.txt
parentd1b991e1984ef0c4ed803c5c5ead1ce3bfe00266 (diff)
Split into three separate projects: library, gui and cmd
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt445
1 files changed, 5 insertions, 440 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ec15a250a..118f47809 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,416 +1,11 @@
-set(CMAKE_AUTOMOC TRUE)
-include(GenerateExportHeader)
-
-include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
-
-qt_add_resources(MIRALL_RC_SRC ../mirall.qrc)
-if ( IS_DIRECTORY ${OEM_THEME_DIR} )
- qt_add_resources(MIRALL_RC_SRC ${OEM_THEME_DIR}/theme.qrc)
- set(theme_dir ${OEM_THEME_DIR}/theme)
-else()
- qt_add_resources(MIRALL_RC_SRC ../theme.qrc)
- set(theme_dir ${CMAKE_CURRENT_SOURCE_DIR}/../theme)
-endif()
+# TODO: OSX and LIB_ONLY seem to require this to go to binary dir only
+set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
-if ( APPLE )
- list(APPEND OS_SPECIFIC_LINK_LIBRARIES
- /System/Library/Frameworks/CoreServices.framework
- /System/Library/Frameworks/Foundation.framework
- /System/Library/Frameworks/AppKit.framework
- )
-endif()
-
-IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
- list(APPEND OS_SPECIFIC_LINK_LIBRARIES
- inotify
- )
-ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
-
-if(SPARKLE_FOUND AND NOT BUILD_LIBRARIES_ONLY)
- list (APPEND OS_SPECIFIC_LINK_LIBRARIES ${SPARKLE_LIBRARY})
-endif()
-
-set(3rdparty_SRC
-3rdparty/qtsingleapplication/qtsingleapplication.cpp
-3rdparty/qtsingleapplication/qtlocalpeer.cpp
-3rdparty/qtsingleapplication/qtsinglecoreapplication.cpp
-3rdparty/qtlockedfile/qtlockedfile.cpp
-3rdparty/fancylineedit/fancylineedit.cpp
-3rdparty/QProgressIndicator/QProgressIndicator.cpp
-)
-
-if (APPLE)
- list(APPEND 3rdparty_SRC
- 3rdparty/qtmacgoodies/src/macpreferenceswindow.mm
- 3rdparty/qtmacgoodies/src/macstandardicon.mm
- )
-endif()
-
-if(NOT WIN32)
- list(APPEND 3rdparty_SRC 3rdparty/qtlockedfile/qtlockedfile_unix.cpp)
-else()
- list(APPEND 3rdparty_SRC 3rdparty/qtlockedfile/qtlockedfile_win.cpp )
-endif()
-
-set(3rdparty_INC
- ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qtlockedfile
- ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qtsingleapplication
- ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/QProgressIndicator
- ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/fancylineedit
- ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qjson
- ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qtmacgoodies/src
- )
-
-set(libsync_SRCS
- mirall/syncresult.cpp
- mirall/mirallconfigfile.cpp
- mirall/syncengine.cpp
- mirall/owncloudpropagator.cpp
- mirall/propagatorjobs.cpp
- mirall/propagator_qnam.cpp
- mirall/propagator_legacy.cpp
- mirall/syncjournalfilerecord.cpp
- mirall/syncjournaldb.cpp
- mirall/theme.cpp
- mirall/owncloudtheme.cpp
- mirall/logger.cpp
- mirall/utility.cpp
- mirall/filesystem.cpp
- mirall/connectionvalidator.cpp
- mirall/progressdispatcher.cpp
- mirall/mirallaccessmanager.cpp
- mirall/networkjobs.cpp
- mirall/account.cpp
- mirall/quotainfo.cpp
- mirall/clientproxy.cpp
- mirall/cookiejar.cpp
- mirall/syncfilestatus.cpp
- creds/dummycredentials.cpp
- creds/abstractcredentials.cpp
- creds/credentialsfactory.cpp
- creds/http/httpconfigfile.cpp
- creds/credentialscommon.cpp
- 3rdparty/qjson/json.cpp
-)
-if(TOKEN_AUTH_ONLY)
- set (libsync_SRCS
- ${libsync_SRCS}
- creds/tokencredentials.cpp
- )
-else()
- set (libsync_SRCS
- ${libsync_SRCS}
- creds/httpcredentials.cpp
- creds/shibbolethcredentials.cpp
- creds/shibboleth/shibbolethwebview.cpp
- creds/shibboleth/shibbolethrefresher.cpp
- creds/shibboleth/authenticationdialog.cpp
- creds/shibboleth/shibbolethuserjob.cpp
- )
-endif()
-
-# These headers are installed for libowncloudsync to be used by 3rd party apps
-set(owncloudsync_HEADERS
- mirall/account.h
- mirall/syncengine.h
- mirall/mirallconfigfile.h
- mirall/networkjobs.h
- mirall/progressdispatcher.h
- mirall/syncfileitem.h
- mirall/syncjournaldb.h
- mirall/syncresult.h
-)
-
-set(creds_HEADERS
- creds/abstractcredentials.h
- creds/httpcredentials.h
-)
-
-IF (NOT APPLE)
- INSTALL(
- FILES ${owncloudsync_HEADERS}
- DESTINATION ${INCLUDE_INSTALL_DIR}/${synclib_NAME}/mirall
- )
- INSTALL(
- FILES ${creds_HEADERS}
- DESTINATION ${INCLUDE_INSTALL_DIR}/${synclib_NAME}/creds
- )
-ENDIF(NOT APPLE)
-
-list(APPEND libsync_LINK_TARGETS
- ${QT_LIBRARIES}
- ocsync
- httpbf
- ${OS_SPECIFIC_LINK_LIBRARIES}
-)
-
-if(QTKEYCHAIN_FOUND OR QT5KEYCHAIN_FOUND)
- list(APPEND libsync_LINK_TARGETS ${QTKEYCHAIN_LIBRARY})
- include_directories(${QTKEYCHAIN_INCLUDE_DIR})
-endif()
-
-if(NEON_FOUND)
- list(APPEND libsync_LINK_TARGETS ${NEON_LIBRARIES})
- include_directories(${NEON_INCLUDE_DIRS})
-
- if(NEON_WITH_LFS)
- add_definitions(-DNE_LFS)
- endif()
-
-endif()
-
-add_library(${synclib_NAME} SHARED ${libsync_SRCS} ${syncMoc})
-GENERATE_EXPORT_HEADER( ${synclib_NAME}
- BASE_NAME ${synclib_NAME}
- EXPORT_MACRO_NAME OWNCLOUDSYNC_EXPORT
- EXPORT_FILE_NAME owncloudlib.h
- STATIC_DEFINE OWNCLOUD_BUILT_AS_STATIC
-)
-
-
-if(TOKEN_AUTH_ONLY)
- qt5_use_modules(${synclib_NAME} Network Xml Sql)
-else()
- qt5_use_modules(${synclib_NAME} Widgets Network Xml WebKitWidgets Sql)
-endif()
-
-set_target_properties( ${synclib_NAME} PROPERTIES
- VERSION ${MIRALL_VERSION}
- SOVERSION ${MIRALL_SOVERSION}
-)
-set_target_properties( ${synclib_NAME} PROPERTIES
- INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE}" )
-
-target_link_libraries(${synclib_NAME} ${libsync_LINK_TARGETS} )
-
-if(BUILD_LIBRARIES_ONLY)
- #add_library(${synclib_NAME}_static STATIC ${libsync_SRCS} ${syncMoc})
- #qt5_use_modules(${synclib_NAME}_static Widgets Network Xml Sql)
-
- #set_target_properties( ${synclib_NAME}_static PROPERTIES
- # VERSION ${MIRALL_VERSION}
- # SOVERSION ${MIRALL_SOVERSION}
- #)
-
- #target_link_libraries(${synclib_NAME}_static ${libsync_LINK_TARGETS} )
-endif()
-
-
-
-if(NOT BUILD_OWNCLOUD_OSX_BUNDLE)
- install(TARGETS ${synclib_NAME}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- )
- if(NOT WIN32)
- configure_file(${CMAKE_SOURCE_DIR}/mirall.desktop.in
- ${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_EXECUTABLE}.desktop)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_EXECUTABLE}.desktop DESTINATION share/applications )
- endif()
-else()
- install(TARGETS ${synclib_NAME} DESTINATION ${OWNCLOUD_OSX_BUNDLE}/Contents/MacOS)
- if (SPARKLE_FOUND)
- install(DIRECTORY "${SPARKLE_LIBRARY}"
- DESTINATION "${OWNCLOUD_OSX_BUNDLE}/Contents/Frameworks")
- endif (SPARKLE_FOUND)
-
-endif()
-
-set(mirall_UI
-mirall/folderwizardsourcepage.ui
-mirall/folderwizardtargetpage.ui
-mirall/sslerrordialog.ui
-mirall/settingsdialog.ui
-mirall/generalsettings.ui
-mirall/networksettings.ui
-mirall/accountsettings.ui
-mirall/ignorelisteditor.ui
-mirall/protocolwidget.ui
-wizard/owncloudsetupnocredspage.ui
-wizard/owncloudhttpcredspage.ui
-wizard/owncloudwizardresultpage.ui
-wizard/owncloudadvancedsetuppage.ui
-)
-
-qt_wrap_ui(mirall_UI_SRCS ${mirall_UI})
-
-set(mirall_SRCS
- mirall/application.cpp
- mirall/systray.cpp
- mirall/folderman.cpp
- mirall/folder.cpp
- mirall/folderwatcher.cpp
- mirall/folderwizard.cpp
- mirall/folderstatusmodel.cpp
- mirall/protocolwidget.cpp
- mirall/openfilemanager.cpp
- wizard/owncloudwizard.cpp
- wizard/owncloudsetuppage.cpp
- wizard/owncloudhttpcredspage.cpp
- wizard/abstractcredswizardpage.cpp
- wizard/owncloudwizardresultpage.cpp
- wizard/owncloudwizardcommon.cpp
- wizard/owncloudshibbolethcredspage.cpp
- wizard/owncloudadvancedsetuppage.cpp
- mirall/owncloudsetupwizard.cpp
- mirall/sslerrordialog.cpp
- mirall/logbrowser.cpp
- mirall/settingsdialog.cpp
- mirall/generalsettings.cpp
- mirall/networksettings.cpp
- mirall/accountsettings.cpp
- mirall/ignorelisteditor.cpp
- mirall/owncloudgui.cpp
- mirall/socketapi.cpp
- mirall/sslbutton.cpp
- mirall/syncrunfilelog.cpp
-)
-
-
-set(updater_SRCS
- updater/updateinfo.cpp
- updater/updater.cpp
- updater/ocupdater.cpp
-)
-
-IF( APPLE )
- list(APPEND mirall_SRCS mirall/cocoainitializer_mac.mm)
-
- list(APPEND mirall_SRCS mirall/settingsdialogmac.cpp)
-
- if(SPARKLE_FOUND)
- # Define this, we need to check in updater.cpp
- add_definitions( -DHAVE_SPARKLE )
- list(APPEND updater_SRCS updater/sparkleupdater_mac.mm)
- endif()
-ENDIF()
-
-IF( NOT WIN32 AND NOT APPLE )
-set(mirall_SRCS ${mirall_SRCS} mirall/folderwatcher_linux.cpp)
-ENDIF()
-IF( WIN32 )
-set(mirall_SRCS ${mirall_SRCS} mirall/folderwatcher_win.cpp)
-ENDIF()
-IF( APPLE )
-list(APPEND mirall_SRCS mirall/folderwatcher_mac.cpp)
-ENDIF()
-
-# csync is required.
-include_directories(../csync/src ../csync/src/httpbf/src ${CMAKE_CURRENT_BINARY_DIR}/../csync ${CMAKE_CURRENT_BINARY_DIR}/../csync/src )
-include_directories(${3rdparty_INC})
-
-qt_add_translation(mirall_I18N ${TRANSLATIONS})
-
-set( final_src
- ${MIRALL_RC_SRC}
- ${mirall_SRCS}
- ${mirall_UI_SRCS}
- ${mirallMoc}
- ${mirall_I18N}
- ${3rdparty_SRC}
- ${3rdparty_MOC}
-)
-
-# add executable icon on windows and osx
-include( AddAppIconMacro )
-set(ownCloud_old ${ownCloud})
-
-# set an icon_app_name. For historical reasons we can not use the
-# application_shortname for ownCloud but must rather set it manually.
-if ( EXISTS ${OEM_THEME_DIR}/OEM.cmake )
- set(ICON_APP_NAME ${APPLICATION_SHORTNAME})
-else()
- set(ICON_APP_NAME "owncloud")
-endif()
-
-kde4_add_app_icon( ownCloud "${theme_dir}/colored/${ICON_APP_NAME}-icon*.png")
-list(APPEND final_src ${ownCloud})
-set(ownCloud ${ownCloud_old})
-
-if (WITH_DBUS)
- set(ADDITIONAL_APP_MODULES DBus)
-endif(WITH_DBUS)
-
-if(NOT BUILD_OWNCLOUD_OSX_BUNDLE AND NOT BUILD_LIBRARIES_ONLY)
- set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
-
- if(NOT WIN32)
- file( GLOB _icons "${theme_dir}/colored/${ICON_APP_NAME}-icon-*.png" )
- foreach( _file ${_icons} )
- string( REPLACE "${theme_dir}/colored/${ICON_APP_NAME}-icon-" "" _res ${_file} )
- string( REPLACE ".png" "" _res ${_res} )
- install( FILES ${_file} RENAME ${ICON_APP_NAME}.png DESTINATION ${DATADIR}/icons/hicolor/${_res}x${_res}/apps )
- endforeach( _file )
- endif(NOT WIN32)
-
- install(FILES ${mirall_I18N} DESTINATION share/${APPLICATION_EXECUTABLE}/i18n)
-
- # we may not add MACOSX_BUNDLE here, if not building one
-
- # add_executable( ${APPLICATION_EXECUTABLE} main.cpp ${final_src})
- add_executable( ${APPLICATION_EXECUTABLE} WIN32 main.cpp ${final_src})
- qt5_use_modules(${APPLICATION_EXECUTABLE} Widgets Network Xml WebKitWidgets Sql ${ADDITIONAL_APP_MODULES})
-elseif(NOT BUILD_LIBRARIES_ONLY)
- set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
- if (Qt5Core_FOUND)
- include(DeployQt5)
- else(Qt5Core_FOUND)
- include(DeployQt4)
- endif(Qt5Core_FOUND)
-
- set(CMAKE_INSTALL_PREFIX ".") # Examples use /Applications. hurmpf.
- set(MACOSX_BUNDLE_ICON_FILE "ownCloud.icns")
-
- # we must add MACOSX_BUNDLE only if building a bundle
- add_executable( ${APPLICATION_EXECUTABLE} WIN32 MACOSX_BUNDLE main.cpp ${final_src})
- qt5_use_modules(${APPLICATION_EXECUTABLE} Widgets Network Xml WebKitWidgets Sql ${ADDITIONAL_APP_MODULES})
-
- set (QM_DIR ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources/Translations)
- install(FILES ${mirall_I18N} DESTINATION ${QM_DIR})
- file(GLOB qt_I18N ${QT_TRANSLATIONS_DIR}/qt_??.qm ${QT_TRANSLATIONS_DIR}/qt_??_??.qm)
- install(FILES ${qt_I18N} DESTINATION ${QM_DIR})
- file(GLOB qtkeychain_I18N ${QT_TRANSLATIONS_DIR}/qtkeychain*.qm)
- install(FILES ${qtkeychain_I18N} DESTINATION ${QM_DIR})
-endif()
-
-if(NOT BUILD_LIBRARIES_ONLY)
- add_library(updater STATIC ${updater_SRCS} ${updaterMoc})
- target_link_libraries(updater ${synclib_NAME})
- qt5_use_modules(updater Widgets Network Xml)
-
- set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
- RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}
- )
- set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
- INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE}" )
-
- target_link_libraries( ${APPLICATION_EXECUTABLE} ${QT_LIBRARIES} )
- target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
- target_link_libraries( ${APPLICATION_EXECUTABLE} updater )
- target_link_libraries( ${APPLICATION_EXECUTABLE} ${OS_SPECIFIC_LINK_LIBRARIES} )
-
- install(TARGETS ${APPLICATION_EXECUTABLE}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- BUNDLE DESTINATION "."
- )
-endif()
-
-
-#FIXME: find a nice solution to make the second if(BUILD_OWNCLOUD_OSX_BUNDLE) unnecessary
-# currently it needs to be done because the code right above needs to be executed no matter
-# if building a bundle or not and the install_qt4_executable needs to be called afterwards
-if(BUILD_OWNCLOUD_OSX_BUNDLE AND NOT BUILD_LIBRARIES_ONLY)
- if(Qt5Core_FOUND)
- install_qt5_executable(${OWNCLOUD_OSX_BUNDLE} "qtaccessiblewidgets;qsqlite;qcocoa")
- else(Qt5Core_FOUND)
- install_qt4_executable(${OWNCLOUD_OSX_BUNDLE} "qtaccessiblewidgets;qsqlite")
- endif(Qt5Core_FOUND)
-endif()
+add_subdirectory(libsync)
+add_subdirectory(gui)
+add_subdirectory(cmd)
find_program(KRAZY2_EXECUTABLE krazy2)
if(KRAZY2_EXECUTABLE)
@@ -421,33 +16,3 @@ if(KRAZY2_EXECUTABLE)
${PROJECT_SOURCE_DIR}/src/mirall/*.cpp
)
endif()
-
-set(owncloudcmd_NAME ${APPLICATION_EXECUTABLE}cmd)
-set(OWNCLOUDCMD_SRC owncloudcmd/simplesslerrorhandler.cpp owncloudcmd/owncloudcmd.cpp)
-if(NOT BUILD_LIBRARIES_ONLY)
-
- add_executable(${owncloudcmd_NAME} ${OWNCLOUDCMD_SRC})
- qt5_use_modules(${owncloudcmd_NAME} Network Sql)
- set_target_properties(${owncloudcmd_NAME} PROPERTIES
- RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY} )
- set_target_properties(${owncloudcmd_NAME} PROPERTIES
- INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/${APPLICATION_EXECUTABLE}" )
-
- target_link_libraries(${owncloudcmd_NAME} ${synclib_NAME})
-endif()
-
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/mirall)
-if(BUILD_OWNCLOUD_OSX_BUNDLE AND NOT BUILD_LIBRARIES_ONLY)
- install(TARGETS ${owncloudcmd_NAME} DESTINATION ${OWNCLOUD_OSX_BUNDLE}/Contents/MacOS)
- if (SPARKLE_FOUND)
- install(FILES ${CMAKE_SOURCE_DIR}/admin/osx/deny_autoupdate_com.owncloud.desktopclient.plist
- DESTINATION ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources)
- install(FILES ${CMAKE_SOURCE_DIR}/admin/osx/sparkle/dsa_pub.pem
- DESTINATION ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources)
- endif()
-elseif(NOT BUILD_LIBRARIES_ONLY)
- install(TARGETS ${owncloudcmd_NAME}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-endif()