24 lines
725 B
CMake
24 lines
725 B
CMake
cmake_minimum_required(VERSION 3.10)
|
|
project(hpsocket)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
file(GLOB_RECURSE ALL_SRC_FILES CONFIGURE_DEPENDS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/*.cpp"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/*.c"
|
|
)
|
|
|
|
add_library(hpsocket STATIC ${ALL_SRC_FILES})
|
|
target_include_directories(hpsocket PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
# 解包 brotli 的 .a 为 .o 文件
|
|
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/brotli_objects)
|
|
execute_process(
|
|
COMMAND ${CMAKE_AR} -x ${CMAKE_CURRENT_SOURCE_DIR}/libbrotli.a
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/brotli_objects
|
|
)
|
|
|
|
file(GLOB BROTLI_OBJECTS "${CMAKE_BINARY_DIR}/brotli_objects/*.o")
|
|
target_sources(hpsocket PRIVATE ${BROTLI_OBJECTS})
|