-
Notifications
You must be signed in to change notification settings - Fork 49
Refactor CMake with JRL CMake Modules v2 #612
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: devel
Are you sure you want to change the base?
Conversation
e114b10 to
7d7943a
Compare
jorisv
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, the CMakeLists are way clearer.
unittest/cpp/CMakeLists.txt
Outdated
|
|
||
| set(TEST_TYPE "boost::optional") | ||
| set(MODNAME boost_optional) | ||
| configure_file(optional.cpp.in ${CMAKE_CURRENT_SOURCE_DIR}/boost_optional.cpp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a huge fan of generating file in the source directory. It can be commited by mistake.
Maybe allow eigenpy_add_test to have a SOURCE_FILE optional argument that can take absolute path source file as argument.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was intentional as configure_file checks for the content before writing the file. I reverted to generating in the build dir. That's OK as well.
unittest/cpp/boost_optional.cpp
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
commited by mistake
unittest/cpp/.clang-format-ignore
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To remove when generated in binary dir
unittest/cpp/boost_variant.cpp
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
commited by mistake
unittest/cpp/std_optional.cpp
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
commited by mistake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Prefix all options with EIGENPY_ when jrl_option support back compatibility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's do that in another PR.
CMakeLists.txt
Outdated
| export_boost_default_options() | ||
| find_package(Boost REQUIRED) | ||
| search_for_boost_python(REQUIRED) | ||
| jrl_find_package(Python 3.8 REQUIRED COMPONENTS Interpreter Development.Module NumPy) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why you don't use jrl_find_python ?
unittest/cpp/CMakeLists.txt
Outdated
| TEST ${test_name} | ||
| PROPERTY | ||
| ENVIRONMENT_MODIFICATION | ||
| "PYTHONPATH=path_list_prepend:$<TARGET_FILE_DIR:eigenpy>/.." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this one is useful.
This give the build/lib/.. directory where no imported lib can be found.
| include/eigenpy/decompositions/SVDBase.hpp | ||
| include/eigenpy/decompositions/BDCSVD.hpp | ||
| include/eigenpy/decompositions/JacobiSVD.hpp | ||
| include/eigenpy/decompositions/minres.hpp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| include/eigenpy/decompositions/minres.hpp | |
| include/eigenpy/decompositions/minres.hpp | |
| # Eigen | |
| include/eigenpy/eigen/EigenBase.hpp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add ament support before we allow to merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
original is from templates/deprecated.hpp.in
they are now autogenerated by jrl v2
configure_file will overrite boost_optional.cpp only if the content changes. This allow to a quick check on the actual code, and simplifies the cmake
linux: tests and installs, uses cache others: minor cosmetic changes

This PR is a full rewrite of the CMake files with the JRL CMake Modules v2.
c++17minimum required