Skip to content

Drop conan, use cpm for cpp deps during building wheels#3814

Merged
MridulS merged 3 commits intoscipp:mainfrom
MridulS:remove-conan
Jan 21, 2026
Merged

Drop conan, use cpm for cpp deps during building wheels#3814
MridulS merged 3 commits intoscipp:mainfrom
MridulS:remove-conan

Conversation

@MridulS
Copy link
Copy Markdown
Member

@MridulS MridulS commented Jan 19, 2026

No description provided.

@MridulS MridulS changed the title Trigger builds without conan Drop conan, use cpm for cpp deps during building wheels Jan 20, 2026
@MridulS MridulS marked this pull request as ready for review January 21, 2026 09:04
@MridulS
Copy link
Copy Markdown
Member Author

MridulS commented Jan 21, 2026

Copy link
Copy Markdown
Member

@jl-wynen jl-wynen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From what I can tell, this looks good. And judging by the comments, this must have been very frustrating to set up correctly. So well done!

GIT_TAG
v1.15.0
VERSION
1.15.0
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an easy way to use the versions from the buildconfig files? We risk them diverging by specifying versions here and in the buildconfig. (This is not new, I am just wondering if we now have a better alternative.)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I'm not really sure and they have been diverging for some time I think?

Like here boost 1.90 is available direct from source but the latest boost on conda-forge is 1.88

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I asked claude and one of the suggestions is:

Single YAML/JSON source file - Create a versions.yml or versions.json that both CMake (via file(READ)

  • parsing) and conda configs reference. CMake can parse simple formats.

But this also means creating a python script that reads the file and creates the build config envs.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But this also means creating a python script that reads the file and creates the build config envs.

That wouldn't be great. Then you would need python to install python.

@MridulS MridulS merged commit de7ccf6 into scipp:main Jan 21, 2026
4 checks passed
Comment on lines +96 to +101
set(BOOST_INCLUDE_LIBRARIES container iterator)
cpmaddpackage(
NAME
Boost
VERSION
1.90.0
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here the version 1.90 is required, and indeed since it is required for the boost component boost::container. However the file lib/CMakeLists.txt requires a boost of version 1.67 or above. lib/CMakeLists.txt should have been updated to require boost 1.90 or above.

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.

3 participants