Skip to content

Commit

Permalink
build(proto): create object library: rime-proto-objs
Browse files Browse the repository at this point in the history
  • Loading branch information
lotem committed Sep 7, 2020
1 parent f90180e commit 7b64262
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 5 deletions.
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,9 @@ else()
set(rime_library rime-static)
endif()

add_subdirectory(proto)
include_directories(${RIME_PROTO_INCLUDE_DIR})

add_subdirectory(plugins)
message(STATUS "rime_plugins_libs: ${rime_plugins_deps}")
message(STATUS "rime_plugins_modules: ${rime_plugins_modules}")
Expand Down
22 changes: 22 additions & 0 deletions proto/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# search path for capnp schemata: *.capnp
set(RIME_PROTO_SCHEMA_DIR ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
# search path for generated capnp binding headers: *.capnp.h
set(RIME_PROTO_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)

capnp_generate_cpp(
CAPNP_SRCS
CAPNP_HDRS
rime_proto.capnp
)
message(STATUS "compiled capnproto schemata (sources): ${CAPNP_SRCS}")
message(STATUS "compiled capnproto schemata (headers): ${CAPNP_HDRS}")

add_library(rime-proto-objs OBJECT ${CAPNP_SRCS})
target_include_directories(rime-proto-objs PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
if(BUILD_SHARED_LIBS)
set_target_properties(rime-proto-objs
PROPERTIES
POSITION_INDEPENDENT_CODE ON)
endif()

set(rime_proto_objs $<TARGET_OBJECTS:rime-proto-objs> PARENT_SCOPE)
File renamed without changes.
6 changes: 1 addition & 5 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

capnp_generate_cpp(CAPNP_SRCS CAPNP_HDRS rime_proto.capnp)
message(STATUS "compiled capnproto schema: ${CAPNP_SRCS} ${CAPNP_HDRS}")

aux_source_directory(. rime_api_src)
aux_source_directory(rime rime_base_src)
aux_source_directory(rime/algo rime_algo_src)
Expand All @@ -18,7 +15,7 @@ set(rime_core_module_src
${rime_api_src}
${rime_base_src}
${rime_config_src}
${CAPNP_SRCS})
${rime_proto_objs})
set(rime_dict_module_src
${rime_algo_src}
${rime_dict_src})
Expand Down Expand Up @@ -74,7 +71,6 @@ endif()
if(BUILD_SHARED_LIBS)
add_library(rime ${rime_src})
target_link_libraries(rime ${rime_deps})
target_include_directories(rime PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
set_target_properties(rime PROPERTIES
DEFINE_SYMBOL "RIME_EXPORTS"
VERSION ${rime_version}
Expand Down

0 comments on commit 7b64262

Please sign in to comment.