Skip to content

Commit

Permalink
added nanopb as target under FRIClient::
Browse files Browse the repository at this point in the history
  • Loading branch information
mhubii committed Sep 11, 2024
1 parent 8d5df30 commit 68697bc
Showing 1 changed file with 25 additions and 2 deletions.
27 changes: 25 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,24 +82,40 @@ file(GLOB_RECURSE FRI_SOURCES RELATIVE ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}/${FRIClient_SDK_NAME}/src/protobuf_gen/*.pb.c
)

# add FRI library target
add_library(FRIClient SHARED
${FRI_SOURCES}
)

# add nanopb library target under common namespace
add_library(nanopb STATIC
${NANOPB_SOURCES}
)

add_library(FRIClient::FRIClient ALIAS FRIClient) # alias for anyone adding this as a submodule
add_library(FRIClient::nanopb ALIAS nanopb) # alias for anyone adding this as a submodule

target_include_directories(FRIClient
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/${FRIClient_SDK_NAME}/include>
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}/${FRIClient_SDK_NAME}/src/base
${CMAKE_CURRENT_BINARY_DIR}/${FRIClient_SDK_NAME}/src/nanopb-${NANOPB_VERSION}
${CMAKE_CURRENT_BINARY_DIR}/${FRIClient_SDK_NAME}/src/protobuf_gen
${CMAKE_CURRENT_BINARY_DIR}/${FRIClient_SDK_NAME}/src/protobuf
)

target_include_directories(nanopb
PUBLIC
$<INSTALL_INTERFACE:${FRIClient_SDK_NAME}/src/nanopb-${NANOPB_VERSION}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/${FRIClient_SDK_NAME}/src/nanopb-${NANOPB_VERSION}>
)

target_link_libraries(FRIClient
PRIVATE
nanopb
)

if(MSVC)
target_compile_options(FRIClient
PRIVATE
Expand Down Expand Up @@ -136,7 +152,7 @@ write_basic_package_version_file(
COMPATIBILITY SameMajorVersion
)

install(TARGETS FRIClient
install(TARGETS FRIClient nanopb
EXPORT FRIClientTargets
LIBRARY DESTINATION lib
INCLUDES DESTINATION include
Expand All @@ -147,6 +163,13 @@ install(
DESTINATION include
)

install(
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${FRIClient_SDK_NAME}/src/nanopb-${NANOPB_VERSION}/
DESTINATION include
FILES_MATCHING
PATTERN *.h
)

install(EXPORT FRIClientTargets
FILE FRIClientConfig.cmake
NAMESPACE FRIClient::
Expand Down

0 comments on commit 68697bc

Please sign in to comment.