-
Notifications
You must be signed in to change notification settings - Fork 86
Prepare for conan package / Add ci jobs for ubuntu, mac and windows #234
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
Conversation
Update cmake to 3.15 and modern python3 modules
…her with boost python
Fixed windows compile problems
I just saw that it still does not compile on windows with mvsc. I convert this PR to a draft until I fixed it as well. |
…ath definition for MVSC
@beniz It would not compile on windows until I defined an explicit copy ctr for scalar_normal_dist_op. Can you check if this one is ok? ATM the python tests are failing because the module is not found for the ctest call, but everything compiles. (Only with MVSC, with gcc ctest runs the python test sucessfully) |
I found the problem and maybe one of you has an idea. What should we do here? Do you have an idea on how to fix it or should we copy it during the cmake call? Edit: A possible cmake solution to fix this with MVSC using cmake is given in phbasler@bfe0eb4 |
Sorry, I have no idea regarding the windows test setup. |
* added CI * Added gflags * Includ numpy and boost-python * Changed pip to pip3 * Extended PYTHONPATH * Extending pythonpath * Adjusted Pythonpath to use Config if available * Update windows_unit_tests.yml * Update windows_unit_tests.yml * Update windows_unit_tests.yml * Update windows_unit_tests.yml * Modified python path * Update CMakeLists.txt * Moved pythonpath to target generator expression * Add post_build/install of cmaes.dll to python location on MVSC * Adjusted workflows to only trigger on master Co-authored-by: Phil <philipbasler@gmail.com>
Hi @phbasler I would go for the copy of the DLL is that helps. Thanks for all the work on this! |
@beniz That's how I implemented now. I also fixed a small mistake I introduced with another PR: |
Fixed wrong doxygen link to match the move of the project
Add conanfile to generate conan package
@nikohansen @beniz I finished the conan package. You can build it with `conan create conanfile.py --profile=SomeProfile" where SomeProfile is a conan profile with your compiler and settings how you want to build. You need to fill in the author and topics in the conanfile. |
@phbasler hello, apologies for missing this, you should put your name in the conan file! |
@beniz In the meantime conan released v2 with some breaking changes, so we would have to make sure everything still works. |
Seems that there are some changes necessary. I will have a look at it if I have some time to spare, but this may take a while. |
@beniz just a reminder that this is still open |
@beniz I removed the windows unit tests. There is some extra work required with the boost python setup so the tests fails. But the normal conan create build runs including the test_package, so we see that it still works on windows |
@beniz I think this is blocking the conan PR. |
@beniz @nikohansen |
Hi @phbasler sorry I have no windows experience or knowhow. If you recommend something that works and can be merged, I'll follow your lead. Note: if there's a way to test from Linux, let me know |
@beniz Please have a look at the CI jobs. The only thing not working in windows is the unit tests. This is because the boost python setup still needs adjustments on Windows. |
@beniz Any news here? |
Another month passed. |
@phbasler thanks your work, just let me what to do, or what rights you'd need to do it yourself as needed. |
@beniz Everything is ready for review. If you can review it, that would be great |
OK the build seems fine for me on linux. I can't test windows. |
@beniz |
@beniz I forgot to update the version in the CMakelists.txt Could you update it and make a new release? |
In preparation for the conan package I added the options to get the necessary dependencies through conan.
You can build cmaes with conan, as shown in the workflow.
While configuring this I saw that the PythonInterp find_package call was deprecated and so I updated it to find_package(Python3) with the modules. This also allowed me to make the python and t_* tests run with ctest.
You can now just call ctest in your build directory and the 6 tests run.
Furthermore, we can get rid of the custom FindNumpy and FindEigen module. cmake has it's own find modules for eigen and python.