mirror of https://github.com/microsoft/vcpkg.git
130 lines
3.6 KiB
Diff
130 lines
3.6 KiB
Diff
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
index 7c2d5b3..32a2f40 100644
|
|
--- a/src/CMakeLists.txt
|
|
+++ b/src/CMakeLists.txt
|
|
@@ -13,11 +13,9 @@ endif ()
|
|
find_package(OpenSSL REQUIRED)
|
|
|
|
set(protobuf_MODULE_COMPATIBLE ON CACHE BOOL "")
|
|
-if (WIN32)
|
|
- find_package(Protobuf REQUIRED CONFIG)
|
|
-else ()
|
|
- find_package(Protobuf 3.5.0 REQUIRED)
|
|
-endif ()
|
|
+find_package(Protobuf CONFIG REQUIRED)
|
|
+# Use target in order to carry link libraries
|
|
+set(Protobuf_LIBRARY protobuf::libprotobuf)
|
|
|
|
if (WIN32)
|
|
set (HAVE_SYS_UIO_H_01 false)
|
|
@@ -39,12 +37,21 @@ else ()
|
|
configure_file(${SNAPPY_DIR}/snappy-stubs-public.h.in ${SNAPPY_DIR}/snappy-stubs-public.h)
|
|
else ()
|
|
find_package(Snappy 1.1.6 REQUIRED CONFIG)
|
|
+ add_library(snappy ALIAS Snappy::snappy)
|
|
set(SNAPPY_LIB snappy)
|
|
endif ()
|
|
|
|
if (LZ4_INSTALLED)
|
|
+ find_package(lz4 CONFIG REQUIRED)
|
|
+ add_library(lz4 ALIAS lz4::lz4)
|
|
set(LZ4_LIB lz4)
|
|
endif ()
|
|
+
|
|
+ find_package(ZLIB REQUIRED)
|
|
+ add_library(z ALIAS ZLIB::ZLIB)
|
|
+
|
|
+ find_package(Threads REQUIRED)
|
|
+ add_library(pthread ALIAS Threads::Threads)
|
|
endif()
|
|
|
|
include_directories(
|
|
@@ -57,11 +64,10 @@ include_directories(
|
|
|
|
if (WIN32)
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP /wd4200")
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /wd4200 /Zc:__cplusplus /std:c++14")
|
|
-else ()
|
|
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fPIC -pipe -std=gnu90")
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIC -pipe -std=c++14 -fno-exceptions")
|
|
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /wd4200 /Zc:__cplusplus")
|
|
endif ()
|
|
+set(CMAKE_C_STANDARD 90)
|
|
+set(CMAKE_CXX_STANDARD 17)
|
|
|
|
add_subdirectory(generator)
|
|
|
|
@@ -108,6 +114,8 @@ if (WIN32)
|
|
strncasecmp=_strnicmp
|
|
)
|
|
|
|
+ target_link_libraries(${PROJECT_NAME} PRIVATE protobuf::libprotobuf)
|
|
+
|
|
install(
|
|
TARGETS ${PROJECT_NAME}
|
|
ARCHIVE
|
|
@@ -118,7 +126,7 @@ if (WIN32)
|
|
else ()
|
|
set(STATIC_LIB_NAME ${PROJECT_NAME}-static)
|
|
set(SHARED_LIB_NAME ${PROJECT_NAME}-shared)
|
|
- get_filename_component(Protobuf_LIB_DIR ${Protobuf_LIBRARY} DIRECTORY)
|
|
+ set(Protobuf_LIB_DIR "")
|
|
link_directories(${OPENSSL_LINK_DIR} ${WORKFLOW_LIB_DIR} ${Protobuf_LIB_DIR})
|
|
|
|
add_library(
|
|
@@ -143,8 +151,18 @@ else ()
|
|
$<TARGET_OBJECTS:http>
|
|
)
|
|
|
|
- if (APPLE)
|
|
+ if (NOT BUILD_SHARED_LIBS)
|
|
+ target_link_libraries(${STATIC_LIB_NAME}
|
|
+ PRIVATE
|
|
+ OpenSSL::SSL
|
|
+ OpenSSL::Crypto
|
|
+ pthread
|
|
+ ${Protobuf_LIBRARY}
|
|
+ workflow
|
|
+ z ${SNAPPY_LIB} ${LZ4_LIB})
|
|
+ elseif (1)
|
|
target_link_libraries(${SHARED_LIB_NAME}
|
|
+ PRIVATE
|
|
OpenSSL::SSL
|
|
OpenSSL::Crypto
|
|
pthread
|
|
@@ -161,17 +179,22 @@ else ()
|
|
add_dependencies(${STATIC_LIB_NAME} LINK_HEADERS)
|
|
add_dependencies(${SHARED_LIB_NAME} LINK_HEADERS)
|
|
|
|
+ if(NOT BUILD_SHARED_LIBS)
|
|
+ set_target_properties(${SHARED_LIB_NAME} PROPERTIES EXCLUDE_FROM_ALL 1)
|
|
install(
|
|
TARGETS ${STATIC_LIB_NAME}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
COMPONENT devel
|
|
)
|
|
|
|
+ else()
|
|
+ set_target_properties(${STATIC_LIB_NAME} PROPERTIES EXCLUDE_FROM_ALL 1)
|
|
install(
|
|
TARGETS ${SHARED_LIB_NAME}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
COMPONENT devel
|
|
)
|
|
+ endif()
|
|
|
|
endif ()
|
|
|
|
diff --git a/srpc-config.cmake.in b/srpc-config.cmake.in
|
|
index 54b4323..1cdb97f 100644
|
|
--- a/srpc-config.cmake.in
|
|
+++ b/srpc-config.cmake.in
|
|
@@ -3,7 +3,6 @@
|
|
set(SRPC_VERSION "@srpc_VERSION@")
|
|
set_and_check(SRPC_INCLUDE_DIR "@PACKAGE_CONFIG_INC_DIR@")
|
|
set_and_check(SRPC_LIB_DIR "@PACKAGE_CONFIG_LIB_DIR@")
|
|
-set_and_check(SRPC_BIN_DIR "@PACKAGE_CONFIG_BIN_DIR@")
|
|
|
|
if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/srpc-targets.cmake")
|
|
include ("${CMAKE_CURRENT_LIST_DIR}/srpc-targets.cmake")
|