-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Add TinyAD #24655
Add TinyAD #24655
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The project relies on OpenMP and warns when it is unavailable. The package would really benefit from #22360. For now you will have to export the appropriate compiler and linker flags for each separate compiler to make sure it's enabled and linked against by the consuming projects. |
recipes/tinyad/all/conanfile.py
Outdated
|
||
def generate(self): | ||
deps = CMakeDeps(self) | ||
deps.generate() | ||
|
||
tc = CMakeToolchain(self) | ||
tc.generate() |
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.
def generate(self): | |
deps = CMakeDeps(self) | |
deps.generate() | |
tc = CMakeToolchain(self) | |
tc.generate() |
The recipe is not building anything so these are not needed.
recipes/tinyad/all/conanfile.py
Outdated
self.cpp_info.set_property("cmake_target_name", "TinyAD") | ||
self.cpp_info.components["tinyad"].set_property("cmake_target_name", "TinyAD::TinyAD") | ||
|
||
self.cpp_info.components["tinyad"].bindirs = [] | ||
self.cpp_info.components["tinyad"].libdirs = [] | ||
self.cpp_info.components["tinyad"].includedirs = [os.path.join(self.package_folder, "include")] | ||
self.cpp_info.components["tinyad"].requires = ["eigen::eigen"] | ||
|
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.
self.cpp_info.set_property("cmake_target_name", "TinyAD") | |
self.cpp_info.components["tinyad"].set_property("cmake_target_name", "TinyAD::TinyAD") | |
self.cpp_info.components["tinyad"].bindirs = [] | |
self.cpp_info.components["tinyad"].libdirs = [] | |
self.cpp_info.components["tinyad"].includedirs = [os.path.join(self.package_folder, "include")] | |
self.cpp_info.components["tinyad"].requires = ["eigen::eigen"] | |
self.cpp_info.set_property("cmake_target_name", "TinyAD") | |
self.cpp_info.bindirs = [] | |
self.cpp_info.libdirs = [] | |
if is_msvc(self): | |
# https://github.com/patr-schm/TinyAD/blob/29417031c185b6dc27b6d4b684550d844459b735/CMakeLists.txt#L35 | |
self.cpp_info.cxxflags.append("/bigobj") |
Creating a component is not really beneficial in any way.
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.
Should also add /bigobj
to self.cpp_info.cxxflags
for MSVC to match the CMake config in the project.
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.
The cmake_target_name should be TinyAD alone, as that is the one used in the upstream CMake.
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.
Correct. I adjusted my adjusted change accordingly.
This comment has been minimized.
This comment has been minimized.
1 similar comment
This comment has been minimized.
This comment has been minimized.
Is the CI not working? |
@jjcasmar we're under maintenance, the service should be available again soon, thanks for your patience :) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Any update on this? |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️All green in build 13 (
Conan v2 pipeline ✔️
All green in build 13 (
|
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.
Finally!
* Add TinyAD * [TinyAD] Add bigobj for msvc * fixes * Fixes * fix syntax error --------- Co-authored-by: Luis Caro Campos <[email protected]>
Summary
Changes to recipe: tinyad/cci.20240718
Motivation
TinyAD is a library for automatic differentiation, presented at Eurographics Symposium on Geometry Processing 2022
Details
Add the library