set(CMAKE_AUTOMOC TRUE)
set(cmd_NAME ${APPLICATION_EXECUTABLE}cmd)
-set(cmd_SRC
- cmd.cpp
- simplesslerrorhandler.cpp
- netrcparser.cpp
- )
+add_library(cmdCore STATIC simplesslerrorhandler.cpp netrcparser.cpp)
+
+target_link_libraries(cmdCore
+ PUBLIC
+ "${csync_NAME}"
+ "${synclib_NAME}"
+ Qt5::Core
+ Qt5::Network
+ )
+
+# Need tokenizer for netrc parser
+target_include_directories(cmdCore PRIVATE ${CMAKE_SOURCE_DIR}/src/3rdparty/qtokenizer)
if(UNIX AND NOT APPLE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
endif()
if(NOT BUILD_LIBRARIES_ONLY)
- add_executable(${cmd_NAME} ${cmd_SRC})
+ add_executable(${cmd_NAME} cmd.cpp)
set_target_properties(${cmd_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY} )
- target_link_libraries(${cmd_NAME} "${csync_NAME}" "${synclib_NAME}" Qt5::Core Qt5::Network)
-
- # Need tokenizer for netrc parser
- target_include_directories(${cmd_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/src/3rdparty/qtokenizer)
+ target_link_libraries(${cmd_NAME} cmdCore)
endif()
# OSX: Copy nextcloudcmd to app bundle, src/gui will run macdeployqt
set(CMAKE_AUTOMOC TRUE)
-add_library(syncenginetestutils STATIC syncenginetestutils.cpp)
-target_link_libraries(syncenginetestutils PUBLIC ${APPLICATION_EXECUTABLE}sync Qt5::Test)
-target_include_directories(syncenginetestutils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+add_library(testutils
+ STATIC
+ syncenginetestutils.cpp
+ pushnotificationstestutils.cpp
+)
-nextcloud_add_test(NextcloudPropagator "")
+target_link_libraries(testutils PUBLIC ${APPLICATION_EXECUTABLE}sync Qt5::Test)
+target_include_directories(testutils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+
+nextcloud_add_test(NextcloudPropagator)
IF(BUILD_UPDATER)
- nextcloud_add_test(Updater "")
+ nextcloud_add_test(Updater)
endif()
-nextcloud_add_test(NetrcParser ../src/cmd/netrcparser.cpp)
-nextcloud_add_test(OwnSql "")
-nextcloud_add_test(SyncJournalDB "")
-nextcloud_add_test(SyncFileItem "")
-nextcloud_add_test(ConcatUrl "")
-nextcloud_add_test(Cookies "")
-nextcloud_add_test(XmlParse "")
-nextcloud_add_test(ChecksumValidator "")
-
-nextcloud_add_test(ClientSideEncryption "")
-nextcloud_add_test(ExcludedFiles "")
-
-nextcloud_add_test(Utility "")
-nextcloud_add_test(SyncEngine "")
-nextcloud_add_test(SyncVirtualFiles "")
-nextcloud_add_test(SyncMove "")
-nextcloud_add_test(SyncDelete "")
-nextcloud_add_test(SyncConflict "")
-nextcloud_add_test(SyncFileStatusTracker "")
-nextcloud_add_test(Download "")
-nextcloud_add_test(ChunkingNg "")
-nextcloud_add_test(AsyncOp "")
-nextcloud_add_test(UploadReset "")
-nextcloud_add_test(AllFilesDeleted "")
-nextcloud_add_test(Blacklist "")
-nextcloud_add_test(LocalDiscovery "")
-nextcloud_add_test(RemoteDiscovery "")
-nextcloud_add_test(Permissions "")
-nextcloud_add_test(SelectiveSync "")
-nextcloud_add_test(DatabaseError "")
-nextcloud_add_test(LockedFiles "../src/gui/lockwatcher.cpp")
-nextcloud_add_test(FolderWatcher "")
-nextcloud_add_test(Capabilities "")
-nextcloud_add_test(PushNotifications "pushnotificationstestutils.cpp")
+nextcloud_add_test(NetrcParser)
+nextcloud_add_test(OwnSql)
+nextcloud_add_test(SyncJournalDB)
+nextcloud_add_test(SyncFileItem)
+nextcloud_add_test(ConcatUrl)
+nextcloud_add_test(Cookies)
+nextcloud_add_test(XmlParse)
+nextcloud_add_test(ChecksumValidator)
+
+nextcloud_add_test(ClientSideEncryption)
+nextcloud_add_test(ExcludedFiles)
+
+nextcloud_add_test(Utility)
+nextcloud_add_test(SyncEngine)
+nextcloud_add_test(SyncVirtualFiles)
+nextcloud_add_test(SyncMove)
+nextcloud_add_test(SyncDelete)
+nextcloud_add_test(SyncConflict)
+nextcloud_add_test(SyncFileStatusTracker)
+nextcloud_add_test(Download)
+nextcloud_add_test(ChunkingNg)
+nextcloud_add_test(AsyncOp)
+nextcloud_add_test(UploadReset)
+nextcloud_add_test(AllFilesDeleted)
+nextcloud_add_test(Blacklist)
+nextcloud_add_test(LocalDiscovery)
+nextcloud_add_test(RemoteDiscovery)
+nextcloud_add_test(Permissions)
+nextcloud_add_test(SelectiveSync)
+nextcloud_add_test(DatabaseError)
+nextcloud_add_test(LockedFiles)
+nextcloud_add_test(FolderWatcher)
+nextcloud_add_test(Capabilities)
+nextcloud_add_test(PushNotifications)
if( UNIX AND NOT APPLE )
- nextcloud_add_test(InotifyWatcher "${FolderWatcher_SRC}")
+ nextcloud_add_test(InotifyWatcher)
endif(UNIX AND NOT APPLE)
if (WIN32)
- nextcloud_add_test(LongWinPath "")
- nextcloud_add_test(SyncCfApi "")
+ nextcloud_add_test(LongWinPath)
+ nextcloud_add_test(SyncCfApi)
elseif(LINUX) # elseif(LINUX OR APPLE)
- nextcloud_add_test(SyncXAttr "")
+ nextcloud_add_test(SyncXAttr)
endif()
-nextcloud_add_benchmark(LargeSync "")
+nextcloud_add_benchmark(LargeSync)
-nextcloud_add_test(FolderMan "")
-nextcloud_add_test(RemoteWipe "")
+nextcloud_add_test(FolderMan)
+nextcloud_add_test(RemoteWipe)
-nextcloud_add_test(OAuth "../src/gui/creds/oauth.cpp")
+nextcloud_add_test(OAuth)
configure_file(test_journal.db "${PROJECT_BINARY_DIR}/bin/test_journal.db" COPYONLY)
find_package(Qt5 COMPONENTS Core Test Xml Network Qml Quick REQUIRED)
-macro(nextcloud_add_test test_class additional_cpp)
+macro(nextcloud_add_test test_class)
set(CMAKE_AUTOMOC TRUE)
set(OWNCLOUD_TEST_CLASS ${test_class})
string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
- add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
+ add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp)
set_target_properties(${OWNCLOUD_TEST_CLASS}Test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY})
target_link_libraries(${OWNCLOUD_TEST_CLASS}Test
${APPLICATION_EXECUTABLE}sync
- syncenginetestutils
+ testutils
nextcloudCore
+ cmdCore
Qt5::Test
Qt5::Quick
)
)
endmacro()
-macro(nextcloud_add_benchmark test_class additional_cpp)
+macro(nextcloud_add_benchmark test_class)
set(CMAKE_AUTOMOC TRUE)
set(OWNCLOUD_TEST_CLASS ${test_class})
string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
- add_executable(${OWNCLOUD_TEST_CLASS}Bench benchmarks/bench${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
+ add_executable(${OWNCLOUD_TEST_CLASS}Bench benchmarks/bench${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp)
set_target_properties(${OWNCLOUD_TEST_CLASS}Bench PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY})
target_link_libraries(${OWNCLOUD_TEST_CLASS}Bench
- ${APPLICATION_EXECUTABLE}sync syncenginetestutils
- Qt5::Core Qt5::Test Qt5::Xml Qt5::Network
+ ${APPLICATION_EXECUTABLE}sync
+ testutils
+ nextcloudCore
+ cmdCore
+ Qt5::Core
+ Qt5::Test
+ Qt5::Xml
+ Qt5::Network
)
IF(BUILD_UPDATER)