QuTech-Delft / OpenQL

OpenQL: A Portable Quantum Programming Framework for Quantum Accelerators. https://dl.acm.org/doi/10.1145/3474222
https://openql.readthedocs.io
Other
100 stars 45 forks source link

Replace submodules by CMake's FetchContent #494

Open mmoelle1 opened 1 year ago

mmoelle1 commented 1 year ago

Dear OpenQL developers,

may I suggest to replace the git submodules in the deps directory by CMake's FetchContent mechanism. It is as easy as potting the following code snippet into your CMakeLists.txt file

include(FetchContent)
FetchContent_Declare(openql
  URL https://github.com/QuTech-Delft/OpenQL/archive/refs/tags/v0.11.1.zip
  )

# Here you can `set` Make variables if needed

FetchContent_MakeAvailable(openql)
FetchContent_GetProperties(openql)
include_directories(${openql_SOURCE_DIR}/include)

This will download the archive, unpack it, and configure it to be used within the CMake project.

The problem with the current submodule approach is that tar.gz and zip archives of OpenQL are basically unusable due to the missing and not-obtainable submodule dependencies.