Skip to content

Commit 843f355

Browse files
committed
cmake: macos grpc and protobuf compile
1 parent 1fa76f9 commit 843f355

File tree

2 files changed

+26
-16
lines changed

2 files changed

+26
-16
lines changed

CMakeLists.txt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,18 @@ set(CMAKE_CXX_STANDARD 17)
2020
set(CMAKE_CXX_STANDARD_REQUIRED True)
2121
set(CMAKE_CXX_EXTENSIONS OFF)
2222

23-
set(CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -Werror")
23+
set(CMAKE_CXX_FLAGS "-Wall -Wextra")
2424
set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline -fno-omit-frame-pointer -fmax-errors=10")
2525
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-ggdb3 -O3 -DNDEBUG")
2626
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
2727

28-
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
29-
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed")
30-
set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--as-needed")
28+
if(NOT APPLE)
29+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Werror")
30+
31+
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
32+
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed")
33+
set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--as-needed")
34+
endif()
3135

3236
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
3337

@@ -61,11 +65,14 @@ endif()
6165

6266
#
6367
#--- DEPENDENCIES --------------------------------------------------------------------
68+
message(STATUS "Looking for dependencies.")
69+
message(STATUS "CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS}")
70+
message(STATUS "CMAKE_CXX_STANDARD = ${CMAKE_CXX_STANDARD}")
6471

65-
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
6672

67-
include(FindThreads) # create Threads::Threads target
73+
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
6874

75+
find_package(Threads REQUIRED)
6976
find_package(FairMQ 1.4 REQUIRED)
7077
find_package(FairLogger ${FairMQ_FairLogger_VERSION} REQUIRED)
7178

src/common/discovery/CMakeLists.txt

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,38 +12,41 @@ set (LIB_DISCOVERY_PROTOS
1212
)
1313

1414
protobuf_generate_cpp(PB_SRCS PB_HDRS ${LIB_DISCOVERY_PROTOS})
15-
# GRPC_GENERATE_CPP(GRPC_SRCS GRPC_HDRS ${CMAKE_CURRENT_BINARY_DIR} ${LIB_DISCOVERY_PROTOS})
16-
1715

1816

1917
set(_PROTOBUF_PROTOC $<TARGET_FILE:protobuf::protoc>)
2018
set(_GRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:gRPC::grpc_cpp_plugin>)
2119

2220

21+
if(APPLE)
22+
set(gRPC_LIB_DIR DYLD_LIBRARY_PATH=$<TARGET_FILE_DIR:gRPC::grpc++>:$<TARGET_FILE_DIR:protobuf::libprotobuf>)
23+
endif()
2324

2425
# get_filename_component(DISCOVERY_PROTO_PATH "${hw_proto}" PATH)
2526
set(GRPC_SRCS "${CMAKE_CURRENT_BINARY_DIR}/discovery.grpc.pb.cc")
2627
set(GRPC_HDRS "${CMAKE_CURRENT_BINARY_DIR}/discovery.grpc.pb.h")
2728
add_custom_command(
2829
OUTPUT "${GRPC_SRCS}" "${GRPC_HDRS}"
29-
COMMAND ${_PROTOBUF_PROTOC}
30+
COMMAND ${gRPC_LIB_DIR} ${_PROTOBUF_PROTOC}
3031
ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
3132
-I "${CMAKE_CURRENT_SOURCE_DIR}"
32-
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
33+
--plugin=protoc-gen-grpc=${_GRPC_CPP_PLUGIN_EXECUTABLE}
3334
"${CMAKE_CURRENT_SOURCE_DIR}/${LIB_DISCOVERY_PROTOS}"
34-
DEPENDS "${LIB_DISCOVERY_PROTOS}"
35+
DEPENDS ${LIB_DISCOVERY_PROTOS} protobuf::protoc gRPC::grpc_cpp_plugin
36+
VERBATIM
3537
)
36-
#-I "${hw_proto_path}"
37-
3838

3939

4040
add_library(discovery OBJECT ${LIB_DISCOVERY_SOURCES} ${PB_SRCS} ${PB_HDRS} ${GRPC_SRCS} ${GRPC_HDRS})
4141

4242

43+
4344
# protobuf triggers warning, disable strict no-warning policy here
44-
set_target_properties(discovery PROPERTIES
45-
COMPILE_FLAGS "-Wno-error -Wno-useless-cast"
46-
)
45+
if(NOT APPLE)
46+
set_target_properties(discovery PROPERTIES
47+
COMPILE_FLAGS "-Wno-error -Wno-useless-cast"
48+
)
49+
endif()
4750

4851
set_target_properties(discovery PROPERTIES
4952
PB_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}

0 commit comments

Comments
 (0)