Allow building against system libs instead of bundled dependencies#76
Allow building against system libs instead of bundled dependencies#76milianw wants to merge 1 commit intoDIPlib:masterfrom
Conversation
|
I get these configuration errors (see also Travis logs): CMake Error at src/CMakeLists.txt:192 (add_executable):
Target "unit_tests" links to target "doctest::doctest" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at src/CMakeLists.txt:9 (add_library):
Target "DIP" links to target "doctest::doctest" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
CMake Error at src/CMakeLists.txt:9 (add_library):
Target "DIP" links to target "TIFF::TIFF" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?
CMake Error at src/CMakeLists.txt:9 (add_library):
Target "DIP" links to target "doctest::doctest" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
CMake Error at src/CMakeLists.txt:9 (add_library):
Target "DIP" links to target "TIFF::TIFF" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?I've made some changes to fix this, see this branch: https://github.com/DIPlib/diplib/tree/wip/cmake-external-dependencies (I wasn't able to push to your branch).
|
|
Hey @crisluengo - sorry for that, I now see some errors here too, which I seem to have missed previously when I tested this. That said, what configuration did you use exactly to trigger these warnings/errors, as I cannot reproduce all of them here. Regarding the other points:
|
a8d99e5 to
17edeb1
Compare
When DIP_BUILD_BUNDLED_DEPENDENCIES=OFF is passed to cmake, we will rely on find_package to find Eigen3, zlib, jpeg, ics and tiff libraries. The fftw_api.h header will always be used, as it's not public API that's included in the fftw3 package on ArchLinux e.g. The default for this option is still ON, i.e. this is an opt-in feature. To allow building against an externally provided doctest, the includes are normalized to follow the suggested upstream format: ``` #include <doctest/doctest.h> ``` Change-Id: I4ed9095eefbfd889642d1c3d42b3d9af0dfc15ae
17edeb1 to
9d7499b
Compare
|
|
|
Unfortunately adding such a constructor to In the Python interface we have already defined an explicit constructor that takes Though I think I've figured out how to fix Pybind11 for our use case in an acceptable manner. |
|
Milian, thanks for bringing this Pybind11 thing to my attention again. The next Pybind11 release will work for our Python bindings without a patch. Yay! |
When DIP_BUILD_BUNDLED_DEPENDENCIES=OFF is passed to cmake, we
will rely on find_package to find Eigen3, zlib, jpeg, ics and tiff
libraries. The fftw_api.h header will always be used, as it's not
public API that's included in the fftw3 package on ArchLinux e.g.
The default for this option is still ON, i.e. this is an opt-in
feature.
Change-Id: I4ed9095eefbfd889642d1c3d42b3d9af0dfc15ae