cmake_minimum_required(VERSION 3.3) project(rpc) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(SOURCE_FILES include/base64.h include/rpc.h include/rpc_client.h include/rpc_dispatch.h include/rpc_exception.h include/rpc_server.h include/rpc_server_connection.h include/rpc_server_method.h include/rpc_socket.h include/rpc_source.h include/rpc_util.h include/rpc_value.h src/rpc_client.cpp src/rpc_dispatch.cpp src/rpc_server.cpp src/rpc_server_connection.cpp src/rpc_server_method.cpp src/rpc_socket.cpp src/rpc_source.cpp src/rpc_util.cpp src/rpc_value.cpp) #----------------build lib #add_executable(rpc SHARED ${SOURCE_FILES}) #ADD_LIBRARY(rpc STATIC ${SOURCE_FILES}) ADD_LIBRARY(rpc SHARED ${SOURCE_FILES}) ADD_LIBRARY(rpc_static STATIC ${SOURCE_FILES}) SET_TARGET_PROPERTIES(rpc_static PROPERTIES OUTPUT_NAME "rpc") set_target_properties(rpc PROPERTIES CLEAN_DIRECT_OUTPUT 1) set_target_properties(rpc_static PROPERTIES CLEAN_DIRECT_OUTPUT 1) set_target_properties(rpc PROPERTIES VERSION 1.0 SOVERSION 1) #----------------source target #add_executable(s test/server.cpp ${SOURCE_FILES}) #add_executable(c test/client.cpp ${SOURCE_FILES}) #----------------link lib add_executable(s test/server.cpp) target_link_libraries(s rpc) add_executable(c test/client.cpp) target_link_libraries(c rpc)
cmake 生成目标三种方式
最新推荐文章于 2024-07-04 14:31:55 发布