tinyrpc/CMakeLists.txt
2025-01-21 16:35:26 +08:00

49 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.0)
project(tinyrpc)
# set(CMAKE_CXX_STANDARD 14)
enable_language(CXX ASM)
add_compile_options(-g -Wall -std=c++17)
include_directories(includes/coroutine)
include_directories(includes/log)
include_directories(includes/net)
include_directories(includes/net/tcp)
include_directories(includes/net/tinypb)
aux_source_directory(${CMAKE_SOURCE_DIR}/src/coroutine COROUTINE_SRC_LIST)
aux_source_directory(${CMAKE_SOURCE_DIR}/src/net NET_SRC_LIST)
aux_source_directory(${CMAKE_SOURCE_DIR}/src/net/tcp TCP_SRC_LIST)
aux_source_directory(${CMAKE_SOURCE_DIR}/src/net/tinypb TINYPB_SRC_LIST)
set(ASM_FILES ${CMAKE_SOURCE_DIR}/src/coroutine/coctx_swap.S)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
# find_library(TINYRPC_LIB tinyrpc ${CMAKE_SOURCE_DIR}/lib)
add_library(tinyrpc
${COROUTINE_SRC_LIST}
${TCP_SRC_LIST}
${NET_SRC_LIST}
${TINYPB_SRC_LIST}
${ASM_FILES}
)
aux_source_directory(${CMAKE_SOURCE_DIR}/test/returntest TEST_SRC_LIST)
add_executable(test_tinyrpc
${TEST_SRC_LIST}
)
target_link_libraries(test_tinyrpc PRIVATE tinyrpc)
target_link_libraries(test_tinyrpc PUBLIC protobuf)
target_link_libraries(test_tinyrpc PUBLIC stdc++)