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

Select specific version of CMake to use #317

Closed
henryborchers opened this Issue May 7, 2018 · 2 comments

Comments

2 participants
@henryborchers

henryborchers commented May 7, 2018

Maybe this already exists and I can't find the information on how to do it.

When building Python extensions with Scikit build on Jenkins CI node, I might have multiple versions of CMake installed. I would like to know if there is a way, perhaps with an environment variable, to override the version on CMake on the path to another version installed somewhere else? Appending the path before running each job is getting really annoying,

@jcfr

This comment has been minimized.

Contributor

jcfr commented May 9, 2018

Appending the path before running each job is getting really annoying,

Do you mean that doing something like this is not very practical:

PATH=/path/to/cmake-X.Y.Z:$PATH  test.sh

and you would prefer:

SKBUILD_CMAKE_EXECUTABLE=/path/to/cmake test.sh

or

python setup.py --cmake-executable /path/to/cmake   # done within test.sh

@jcfr jcfr added the question label May 9, 2018

@henryborchers

This comment has been minimized.

henryborchers commented May 15, 2018

That would be AWESOME!!!

Either method is fine but I think this one is is a cleaner.

python setup.py --cmake-executable /path/to/cmake

When creating a Jenkinsfile script for the CI, it makes calling it's as easy as...

${tool 'Python3.6.3_Win64'} setup.py --cmake-executable ${tool 'CMake3.11.1'}

And then any of my build nodes will be able to have the right versions of the tools to build it.

FYI. It's my opinion that modifying the path is not as practical for writing CI testing scripts. It's possible and works most of the time but it's not always clear what needs to be cleaned up manually and what automatically gets taken care off. I find avoiding path manipulation in general is best for setting up CI pipelines.

edit: typo

@jcfr jcfr self-assigned this Jun 20, 2018

@jcfr jcfr closed this in aa1c60b Jun 20, 2018

jcfr added a commit that referenced this issue Jun 20, 2018

Merge pull request #323 from scikit-build/support-cmake-executable-op…
…tion

Add support for "--cmake-executable" scikit-build option. Fixes #317
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment