4paradigm / OpenMLDB

OpenMLDB is an open-source machine learning database that provides a feature platform computing consistent features for training and inference.
https://openmldb.ai
Apache License 2.0
1.59k stars 321 forks source link

build: swig and contrib/rapidjson #3863

Open vagetablechicken opened 7 months ago

vagetablechicken commented 7 months ago

we set swig dir before find swig package, the var SWIG_DIR will be set by find cmake, no need to set here, and we have already set .deps/usr/ to be find path.

-- Adding contrib module rapidjson (configuring with rapidjson)
CMake Deprecation Warning at contrib/rapidjson/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
-- why trigger again?
-- CMAKE_PREFIX_PATH: /root/OpenMLDB/.deps/usr
-- CMAKE_BUILD_TYPE: RelWithDebInfo
-- MAC_TABLET_ENABLE: ON
-- hw test /root/OpenMLDB/.deps/usr/share/swig/4.0.1
-- Found Protobuf Libraries: /root/OpenMLDB/.deps/usr/lib/libprotobuf.a;-lpthread
-- Adding contrib module simdjson (configuring with simdjson)
CMake Error at contrib/simdjson/CMakeLists.txt:1 (add_library):
  add_library cannot create target "_simdjson" because another target with
  the same name already exists.  The existing target is a static library
  created in source directory "/root/OpenMLDB/contrib/simdjson".  See
  documentation for policy CMP0002 for more details.

-- Adding contrib module rapidjson (configuring with rapidjson)
CMake Deprecation Warning at contrib/rapidjson/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Error at contrib/rapidjson/doc/CMakeLists.txt:21 (add_custom_target):
  add_custom_target cannot create target "doc" because another target with
  the same name already exists.  The existing target is a custom target
  created in source directory "/root/OpenMLDB/contrib/rapidjson/doc".  See
  documentation for policy CMP0002 for more details.

contrib projects are not robust, rerun cmake may got dup targets. The cmake log shows it re-run after rapidjson module, so I make rapidjson thinner, don't build test or doc in it. Then cmake will be fine.