cmake_minimum_required(VERSION 3.0) project(tinyrpc) enable_language(CXX ASM) add_compile_options(-g -Wall -std=c++11) include_directories(includes/coroutine) include_directories(includes/log) include_directories(includes/net) include_directories(includes/net/tcp) 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) 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} ${ASM_FILES} ) aux_source_directory(${CMAKE_SOURCE_DIR}/test/cor_reactortest TEST_SRC_LIST) add_executable(test_tinyrpc ${TEST_SRC_LIST} ) target_link_libraries(test_tinyrpc PRIVATE tinyrpc) target_link_libraries(test_tinyrpc PUBLIC stdc++)