4paradigm / 4paradigm/OpenMLDB

build: swig and contrib/rapidjson

Abierto
#3,863 0 comentarios 0 reacciones 1 asignado Reclamado por @vagetablechicken Ver en GitHub
build
Lenguaje dominante
C++
Estrellas
1.7k
Forks
331
Merge medio
12 d 12 h
PR fusionados (30 d)
1

Descripción

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.
- [ ] may failed on hybridsql, but it can be find without swig_dir in centos6?

```
-- 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 value or use a ... 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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

The issue is about CMake configuration problems with the swig directory and duplicate targets in contrib/rapidjson and contrib/simdjson. Look at the CMakeLists.txt files in the contrib/ directory, especially rapidjson and simdjson. The goal is to modify the rapidjson CMake configuration to avoid building tests and docs, and ensure targets are not duplicated on reruns. Run cmake from the project root to reproduce the errors and verify the fix.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cmake, cpp
Área
build-system
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
40/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.