changh95 / cpp-cv-project-template

C++ project template for developing computer vision applications
MIT License
64 stars 13 forks source link

Make a setup configuration file to replace long optional arguments for `setup.py` #31

Closed changh95 closed 3 years ago

changh95 commented 3 years ago

현재의 방식

현재의 setup 방식은 아래와 같이 python argparse를 이용하여 optional argument로 설치할 라이브러리들을 고르게 됩니다.

./setup.py --toolchain --utils --opencv 4.5.1 --opencv_contrib --eigen 3.3.9 --pcl 1.11.1 --ceres 2.0.0 --gtsam 4.0.3 --python3 --open3d

제안하는 방식

추후 라이브러리들이 더 추가된다면 이 커맨드가 너무 길어질 가능성이 있다고 봅니다. 이를 위해 다음과 optional argument로 받는 방식이 아닌, 외부 파일에 저장된 config 내용을 통해 빌드 옵션을 선택하는 방식을 제안합니다. 외부 파일은 JSON이나 YAML 파일이 될 수 있을 것 같습니다.

./setup.py ./config_json.json

config_json.json
{
    "opencv": "4.5.2",
    "opencv-contrib": true,
    "eigen": "3.3.9"
}
pacientes commented 3 years ago

음 좋습니다. 패키지 버전관리가 중요할듯 하네요.