Skip to content
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

Modernize Eigen3, GLEW and OpenGL use as imported targets #1267

Merged
merged 5 commits into from
Apr 20, 2023

Conversation

cryos
Copy link
Member

@cryos cryos commented Apr 19, 2023

Eigen3 is a header only template library, adopt an updated FindEigen.cmake that creates an imported target. Note that include directories from imported targets are automatically treated as system includes on compilers that support the concept.

The core header only Avogadro library exposes it as part of its interface, and then we are able to remove a huge amount of duplicated code. Still need to look at the other side to ensure the exported targets find all targets like Eigen they depend upon.

cryos added 3 commits April 19, 2023 17:49
Eigen3 is a header only template library, adopt an updated
FindEigen.cmake that creates an imported target. Note that include
directories from imported targets are automatically treated as system
includes on compilers that support the concept.

The core header only Avogadro library exposes it as part of its
interface, and then we are able to remove a huge amount of duplicated
code. Still need to look at the other side to ensure the exported
targets find all targets like Eigen they depend upon.

Signed-off-by: Marcus D. Hanwell <marcus@cryos.net>
We can migrate to the CMake version that provides imported target, and
stop carrying around our own version now that our CMake minimum has been
bumped.

Signed-off-by: Marcus D. Hanwell <marcus@cryos.net>
Remove a bunch of unused/duplicated CMake calls, and use the new
imported targets for GLEW and OpenGL. Also add Avogadro::Headers to the
Avogadro::Rendering public interface.

Signed-off-by: Marcus D. Hanwell <marcus@cryos.net>
@cryos cryos changed the title Modernize Eigen3 use as an imported target Modernize Eigen3, GLEW and OpenGL use as imported targets Apr 20, 2023
cryos added 2 commits April 19, 2023 20:37
Signed-off-by: Marcus D. Hanwell <marcus@cryos.net>
Signed-off-by: Marcus D. Hanwell <marcus@cryos.net>
@ghutchis
Copy link
Member

Looks like the wheel builds are failing due to use of older Cmake:

    CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
      CMake 3.23 or higher is required.  You are running version 3.19.4

@cryos
Copy link
Member Author

cryos commented Apr 20, 2023

Thanks, I am going to look at the wheels in a separate PR, but I wanted to separate that work out. The cibuildwheel needs updating quite a bit as do the Python versions.

@github-actions
Copy link
Contributor

Here are the build results
Avogadro2.AppImage
macOS.dmg
Ubuntu-Latest.tar.gz
Win64.exe
Artifacts will only be retained for 90 days.

@cryos cryos merged commit 1da4c24 into OpenChemistry:master Apr 20, 2023
@github-actions
Copy link
Contributor

Here are the build results
Avogadro2.AppImage
macOS.dmg
Ubuntu-Latest.tar.gz
Artifacts will only be retained for 90 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants