Commit ceb4509e authored by Artur Wojcik's avatar Artur Wojcik
Browse files

cmake_onnx

parent 6387ef42
......@@ -21,13 +21,33 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#####################################################################################
find_package(Protobuf REQUIRED)
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS onnx.proto)
add_library(onnx-proto STATIC ${PROTO_SRCS})
target_include_directories(onnx-proto SYSTEM PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${PROTOBUF_INCLUDE_DIR})
target_compile_options(onnx-proto PRIVATE -w)
target_link_libraries(onnx-proto PRIVATE ${PROTOBUF_LIBRARY})
add_library(onnx-proto STATIC onnx.proto)
if(WIN32)
include(${protobuf_DIR}/protobuf-generate.cmake)
add_dependencies(onnx-proto protobuf::protoc)
target_compile_options(onnx-proto
PRIVATE
-Wno-used-but-marked-unused
-Wno-switch-enum
-Wno-reserved-identifier
-Wno-inconsistent-missing-destructor-override
-Wno-suggest-destructor-override
-Wno-zero-as-null-pointer-constant
-Wno-undef
-Wno-unused-parameter
-Wno-shadow-field-in-constructor
-Wno-covered-switch-default)
protobuf_generate(TARGET onnx-proto)
else()
find_package(Protobuf REQUIRED)
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS onnx.proto)
target_sources(onnx-proto PRIVATE ${PROTO_SRCS} ${PROTO_HDRS})
target_include_directories(onnx-proto SYSTEM PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${PROTOBUF_INCLUDE_DIR})
target_compile_options(onnx-proto PRIVATE -w)
endif()
target_link_libraries(onnx-proto PRIVATE protobuf::libprotobuf)
set_target_properties(onnx-proto PROPERTIES POSITION_INDEPENDENT_CODE On)
file(GLOB ONNX_SRCS CONFIGURE_DEPENDS *.cpp)
......@@ -37,7 +57,26 @@ set_target_properties(migraphx_onnx PROPERTIES EXPORT_NAME onnx)
migraphx_generate_export_header(migraphx_onnx)
rocm_set_soversion(migraphx_onnx ${MIGRAPHX_SO_VERSION})
rocm_clang_tidy_check(migraphx_onnx)
target_link_libraries(migraphx_onnx PRIVATE onnx-proto "-Wl,--exclude-libs,ALL")
if(WIN32)
# (!!!) Link protobuf statically on Windows (!!!)
# Refer to protobuf/cmake/README.md for details.
target_link_libraries(migraphx_onnx PRIVATE onnx-proto protobuf::libprotobuf)
target_include_directories(migraphx_onnx SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_compile_options(migraphx_onnx
PRIVATE
-Wno-used-but-marked-unused
-Wno-switch-enum
-Wno-reserved-identifier
-Wno-inconsistent-missing-destructor-override
-Wno-suggest-destructor-override
-Wno-zero-as-null-pointer-constant
-Wno-undef
-Wno-unused-parameter
-Wno-shadow-field-in-constructor
-Wno-covered-switch-default)
else()
target_link_libraries(migraphx_onnx PRIVATE onnx-proto "-Wl,--exclude-libs,ALL")
endif()
target_link_libraries(migraphx_onnx PUBLIC migraphx)
rocm_install_targets(
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment