Make rapidjson dependency managed at cmake configure step#13
Make rapidjson dependency managed at cmake configure step#13blinard-BIOINFO wants to merge 1 commit into
Conversation
… more portable on different servers (contrary to boost, likely uninstalled)
|
Thanks for the request! There are a few things I have to mention:
" run: brew update && brew install cmake boost zlib rapidjson libomp && pip3 install click " So far CI is green with this pull request because everything is still tested with the version of rapidjson that is installed by apt/brew, and not the one that you pull from github. I am also not convinced that this change is required. Please tell me what system/package manager you use where Rapidjson is not present. |
|
I just read you clear answer, thanks. Other point to think : bioconda package. Right now, the recipe installs the rapidjson conda package, then compiles epik. Cmake finds the header in the include directory created by this package. |
rapidjsonis probably the least common dependency of EPIK.While a reasonable version of boost will be present on most servers, this library will not.
This PR makes the dependency managed at configure time by cmake.
It just clones a fixed version from its repository and link the headers.
For me, this approach worked well on 2 different INRAE servers. The library was absent from the system and adding it via some environment would have been time-consuming (no root access).
Changes:
epik/rapidjson.cmakemanages the cloning at configure step.set(RAPIDJSON_INCLUDE_DIRS ${source_dir}/include)makes sure it will be accessible byepik/CMakeLists.txtI'm just not sure why you used 2 variables on the following lines of this last file, but it did not interfere in my case: