initial
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
project(tw_protocol)
|
||||
|
||||
file(GLOB FILES
|
||||
./src/messages/*.cpp
|
||||
./src/*.cc
|
||||
)
|
||||
|
||||
file(GLOB HEADERS
|
||||
./src/messages/*.hpp
|
||||
./src/*.pb.h
|
||||
./src/messages/*.h
|
||||
)
|
||||
|
||||
file(GLOB PROTO_FILES
|
||||
${CMAKE_CURRENT_LIST_DIR}/proto/*.proto
|
||||
)
|
||||
|
||||
set(PROTO_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
|
||||
|
||||
add_library(${PROJECT_NAME} OBJECT ./src/Protocol.cpp ${PROTO_FILES})
|
||||
add_library(tw::protocol ALIAS ${PROJECT_NAME})
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
glm::glm
|
||||
protobuf::libprotobuf
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
"$<BUILD_INTERFACE:${PROTO_BINARY_DIR}>"
|
||||
${CMAKE_CURRENT_BINARY_DIR}/generated
|
||||
./src/
|
||||
)
|
||||
|
||||
file(MAKE_DIRECTORY "${PROTO_BINARY_DIR}")
|
||||
|
||||
include(FindProtobuf)
|
||||
find_package(Protobuf CONFIG REQUIRED)
|
||||
protobuf_generate(
|
||||
TARGET ${PROJECT_NAME}
|
||||
IMPORT_DIRS "${CMAKE_CURRENT_LIST_DIR}/proto"
|
||||
PROTOC_OUT_DIR "${PROTO_BINARY_DIR}")
|
||||
|
||||
|
||||
#set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
# POSITION_INDEPENDENT_CODE 1
|
||||
#)
|
||||
|
||||
#set_source_files_properties(PROTO_SRC PROTO_HDRS PROPERTIES GENERATED TRUE)
|
||||
|
||||
target_sources(${PROJECT_NAME}
|
||||
PUBLIC FILE_SET HEADERS
|
||||
BASE_DIRS ${CMAKE_CURRENT_LIST_DIR}
|
||||
FILES ${HEADERS} ${PROTO_HDRS})
|
||||
Reference in New Issue
Block a user