build_paddle2onnx.cmake 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. add_definitions(-DMAX_ONNX_OPSET_VERSION=16)
  2. add_definitions(-DPADDLE2ONNX_LIB)
  3. # Third dependency: onnx
  4. if(NOT TARGET onnx_proto)
  5. if(NOT ONNX_NAMESPACE)
  6. set(ONNX_NAMESPACE "paddle2onnx")
  7. endif()
  8. add_definitions("-DONNX_NAMESPACE=${ONNX_NAMESPACE}")
  9. set(MSVC_STATIC_CRT ON)
  10. if(ONNX_CUSTOM_PROTOC_PATH)
  11. if(WIN32)
  12. if(MSVC_STATIC_CRT)
  13. # MT
  14. set(ONNX_USE_MSVC_STATIC_RUNTIME ON)
  15. else()
  16. # MD
  17. set(ONNX_USE_MSVC_STATIC_RUNTIME OFF)
  18. endif()
  19. set(ONNX_CUSTOM_PROTOC_PATH "${ONNX_CUSTOM_PROTOC_PATH};$ENV{PATH}")
  20. else()
  21. set(ONNX_CUSTOM_PROTOC_PATH "${ONNX_CUSTOM_PROTOC_PATH}:$ENV{PATH}")
  22. endif()
  23. set(ENV{PATH} ${ONNX_CUSTOM_PROTOC_PATH})
  24. endif()
  25. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  26. add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/onnx)
  27. endif()
  28. include_directories(${PROJECT_SOURCE_DIR})
  29. include_directories(${CMAKE_CURRENT_BINARY_DIR})
  30. include_directories(${CMAKE_CURRENT_BINARY_DIR}/third_party/onnx)
  31. include_directories(${PROJECT_SOURCE_DIR}/third_party/optimizer)
  32. add_subdirectory(${PROJECT_SOURCE_DIR}/paddle2onnx/proto)
  33. file(GLOB_RECURSE PADDLE2ONNX_ALL_SRCS ${PROJECT_SOURCE_DIR}/paddle2onnx/*.cc ${PROJECT_SOURCE_DIR}/third_party/optimizer/onnxoptimizer/*.cc)
  34. list(REMOVE_ITEM PADDLE2ONNX_ALL_SRCS ${PROJECT_SOURCE_DIR}/paddle2onnx/cpp2py_export.cc ${PROJECT_SOURCE_DIR}/third_party/optimizer/onnxoptimizer/cpp2py_export.cc)