Files
mediafire-fuse/CMakeLists.txt

106 lines
3.1 KiB
CMake
Raw Normal View History

2014-09-16 08:04:06 +02:00
cmake_minimum_required(VERSION 2.8)
project(mediafire-tools)
# creates file compile_commands.json in build directory which is used
# to feed iwyu during tests
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
2014-09-16 08:04:06 +02:00
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -Werror -fms-extensions")
2014-10-02 08:20:08 +02:00
# the following is until we learn how to reorder the gcc arguments to correctly link on Ubuntu
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-as-needed")
2014-12-09 09:07:47 +01:00
# ensure large file support (also necessary for fuse)
add_definitions("-D_FILE_OFFSET_BITS=64")
find_package(OpenSSL REQUIRED)
include_directories(${OPENSSL_INCLUDE_DIR})
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/3rdparty/cmake)
find_package(FUSE 2.9 REQUIRED)
include_directories(${FUSE_INCLUDE_DIRS})
find_package(Jansson 2.5 REQUIRED)
2014-12-09 09:07:47 +01:00
include_directories(${JANSSON_INCLUDE_DIRS})
2014-12-02 07:36:00 +01:00
add_library(mfapi SHARED
mfapi/mfconn.c
mfapi/file.c
mfapi/folder.c
mfapi/patch.c
mfapi/apicalls.c
2014-12-02 07:36:00 +01:00
mfapi/apicalls/file_get_info.c
mfapi/apicalls/file_move.c
mfapi/apicalls/file_update.c
2014-12-02 07:36:00 +01:00
mfapi/apicalls/user_get_info.c
mfapi/apicalls/file_get_links.c
mfapi/apicalls/file_delete.c
mfapi/apicalls/user_get_session_token.c
2014-12-02 07:36:00 +01:00
mfapi/apicalls/folder_get_info.c
mfapi/apicalls/folder_create.c
mfapi/apicalls/folder_get_content.c
mfapi/apicalls/folder_delete.c
mfapi/apicalls/folder_move.c
mfapi/apicalls/folder_update.c
2014-12-02 07:36:00 +01:00
mfapi/apicalls/device_get_status.c
mfapi/apicalls/device_get_changes.c
mfapi/apicalls/device_get_patch.c
mfapi/apicalls/device_get_updates.c
mfapi/apicalls/upload_simple.c
2014-12-07 15:38:50 +01:00
mfapi/apicalls/upload_patch.c
mfapi/apicalls/upload_poll_upload.c
)
2014-09-16 08:04:06 +02:00
2014-12-02 07:36:00 +01:00
add_library(mfutils SHARED
utils/http.c
utils/strings.c
utils/stringv.c
utils/xdelta3.c
utils/hash.c)
2014-12-02 07:36:00 +01:00
add_executable(mediafire-shell
mfshell/main.c
mfshell/mfshell.c
mfshell/commands/folder.c
mfshell/commands/auth.c
mfshell/commands/chdir.c
mfshell/commands/debug.c
mfshell/commands/file.c
mfshell/commands/get.c
mfshell/commands/put.c
2014-12-02 07:36:00 +01:00
mfshell/commands/help.c
mfshell/commands/host.c
mfshell/commands/lcd.c
mfshell/commands/links.c
mfshell/commands/list.c
mfshell/commands/lpwd.c
mfshell/commands/mkdir.c
mfshell/commands/pwd.c
mfshell/commands/whoami.c
mfshell/commands/rmdir.c
mfshell/commands/rm.c
2014-12-02 07:36:00 +01:00
mfshell/commands/status.c
mfshell/commands/changes.c
mfshell/config.c
mfshell/options.c
mfshell/commands/updates.c)
2014-12-09 09:07:47 +01:00
target_link_libraries(mediafire-shell ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} ${JANSSON_LIBRARIES} mfapi mfutils)
enable_testing()
2014-12-02 07:36:00 +01:00
add_executable(mediafire-fuse
fuse/main.c
fuse/hashtbl.c
fuse/filecache.c
fuse/operations.c)
2014-12-09 09:07:47 +01:00
target_link_libraries(mediafire-fuse ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} ${FUSE_LIBRARIES} ${JANSSON_LIBRARIES} mfapi mfutils)
2014-09-23 15:12:19 +02:00
2014-09-21 00:03:20 +02:00
add_test(iwyu ${CMAKE_SOURCE_DIR}/tests/iwyu.py ${CMAKE_BINARY_DIR})
add_test(indent ${CMAKE_SOURCE_DIR}/tests/indent.sh ${CMAKE_SOURCE_DIR})
add_test(valgrind_fuse ${CMAKE_SOURCE_DIR}/tests/valgrind_fuse.sh ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
add_test(valgrind_shell ${CMAKE_SOURCE_DIR}/tests/valgrind_shell.sh ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})