49 lines
1.3 KiB
CMake
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++)
|