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
97 stars 44 forks source link

Replace submodules by CMake's FetchContent #494

Open mmoelle1 opened 11 months ago

mmoelle1 commented 11 months 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.