-
Notifications
You must be signed in to change notification settings - Fork 134
/
Copy pathCMakeLists.txt
75 lines (54 loc) · 1.99 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
cmake_minimum_required(VERSION 3.22)
project(pcloudcc)
#INCLUDE(CPack)
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
unset(Boost_INCLUDE_DIR CACHE)
unset(Boost_LIBRARY_DIRS CACHE)
find_package(Boost COMPONENTS system program_options REQUIRED)
include_directories(${Boost_INCLUDE_DIR})
link_directories(${Boost_LIBRARY_DIR})
#set (CMAKE_CXX_FLAGS "-static -Wl,-Bstatic")
#set (CMAKE_CXX_FLAGS "-Wl,-Bstatic")
set (CMAKE_C_FLAGS "-fPIC")
set (PCLSYNC_PATH ${CMAKE_SOURCE_DIR}/lib/pclsync)
set (MBEDTLS_PATH ${CMAKE_SOURCE_DIR}/lib/mbedtls)
set (SQLITE3_PATH ${CMAKE_SOURCE_DIR}/lib/sqlite)
#add_subdirectory(${MBEDTLS_PATH})
include_directories(${SQLITE3_PATH})
# add_custom_target(
# sqlite3_lib
# COMMAND ./configure && make
# WORKING_DIRECTORY ${SQLITE3_PATH}
# )
include_directories(${PCLSYNC_PATH})
# add_custom_target(
# pclsync_clean
# COMMAND make clean
# WORKING_DIRECTORY ${PCLSYNC_PATH}
# )
add_custom_target(
pclsync
COMMAND make fs
WORKING_DIRECTORY ${PCLSYNC_PATH}
)
add_custom_target(
mbedtls
COMMAND cmake . && make
WORKING_DIRECTORY ${MBEDTLS_PATH}
)
set (OVERLAY_CLENT_PATH ${CMAKE_SOURCE_DIR}/lib/poverlay_linux)
include_directories(${OVERLAY_CLENT_PATH})
add_library(sqlite3 STATIC ${SQLITE3_PATH}/sqlite3.c)
target_link_libraries(sqlite3 z dl)
add_library(pcloudcc_lib SHARED pclsync_lib_c.cpp pclsync_lib.cpp control_tools.cpp ${OVERLAY_CLENT_PATH}/overlay_client.c ${OVERLAY_CLENT_PATH}/debug.c )
target_link_libraries(pcloudcc_lib ${PCLSYNC_PATH}/psynclib.a ${MBEDTLS_PATH}/library/libmbedtls.a fuse3 pthread sqlite3 udev
)
add_executable(pcloudcc main.cpp)
target_link_libraries(pcloudcc pcloudcc_lib)
target_link_libraries(pcloudcc ${Boost_LIBRARIES})
link_directories(${PCLSYNC_PATH} ${MBEDTLS_PATH}/library ${SQLITE3_PATH} ${OVERLAY_CLENT_PATH})
#add_dependencies(pclsync sqlite3_lib)
#add_dependencies(pcloudcc sqlite3_lib mbedtls pclsync )
install(TARGETS pcloudcc RUNTIME DESTINATION bin)
install(TARGETS pcloudcc_lib LIBRARY DESTINATION lib)