summaryrefslogtreecommitdiff
path: root/client/CMakeLists.txt
blob: 1a8eb2a2240d470f48ebc03a3ce1f8f77d5bd0e1 (plain)
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
set (DORIS_CLIENT_SRC doris_client_fetch.cpp doris_client_produce.cpp doris_client_http.cpp  doris_client_transfer.cpp  nirvana_conhash.cpp nirvana_murmurhash.cpp)

add_definitions(-fPIC -Wall -g)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_CURRENT_SOURCE_DIR}/,,$(abspath $<))\"'")

add_library(doris_client_static STATIC ${DORIS_CLIENT_SRC})
set_target_properties(doris_client_static PROPERTIES LINKER_LANGUAGE CXX)
set_target_properties(doris_client_static PROPERTIES OUTPUT_NAME doris_client)
set_target_properties(doris_client_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
target_link_libraries(doris_client_static libevent-static libcurl-static libevent-openssl-static openssl-ssl-static openssl-crypto-static cjson)
target_link_libraries(doris_client_static MESA_handle_logger MESA_prof_load MESA_field_stat2 pthread)
target_include_directories(doris_client_static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(doris_client_static PUBLIC ${PROJECT_SOURCE_DIR}/include)
set_property(TARGET doris_client_static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/include)

add_library(doris_client_dynamic SHARED ${DORIS_CLIENT_SRC})
set_target_properties(doris_client_dynamic PROPERTIES LINKER_LANGUAGE CXX)
set_target_properties(doris_client_dynamic PROPERTIES OUTPUT_NAME doris_client)
set_target_properties(doris_client_dynamic PROPERTIES CLEAN_DIRECT_OUTPUT 1)
target_link_libraries(doris_client_dynamic libevent-dynamic libcurl-dynamic libevent-openssl-dynamic openssl-ssl-dynamic openssl-crypto-dynamic cjson-dynamic)
target_link_libraries(doris_client_dynamic MESA_handle_logger MESA_prof_load MESA_field_stat2 pthread)
target_include_directories(doris_client_dynamic PUBLIC ${PROJECT_SOURCE_DIR}/include)
target_include_directories(doris_client_dynamic PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
set_property(TARGET doris_client_dynamic PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/include)

INSTALL (TARGETS doris_client_static doris_client_dynamic
	LIBRARY DESTINATION lib
	ARCHIVE DESTINATION lib)
#INSTALL (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include)
#INSTALL (FILES doris_client_threads.h doris_conhash.h doris_murmurhash.h DESTINATION include)