Closed GiulioRomualdi closed 5 years ago
Some small suggestions (not directly related to this PR, to be honest):
osqp-eigen version | osqp version |
---|---|
0.3 | Compatible with osqp <= 0.5 |
0.4 | Compatible with osqp >= 0.6 |
cc @traversaro
Some small suggestions (not directly related to this PR, to be honest):
- Could you tag and release the last commit before the PR? It will be the last one compatible with osqp 0.5, and it contains a single commit, but quite important w.r.t. to relese 0.3.0 .
- I would increase the CMake version, either in this PR or in a later commit.
- Do you think it could make sense to mantain a table in the docs to document the relative compatibility between osqp and osqp-eigen version? Something like:
osqp-eigen version osqp version 0.3 Compatible with osqp <= 0.5 0.4 Compatible with osqp >= 0.6
Actually 0.3 is the current version of master
while 0.4 is the version in devel
. Probably before merging the PR I should merge devel
into master
By the way, as far as I understood is not possible to check the installed version of osqp
from CMake
By the way, as far as I understood is not possible to check the installed version of
osqp
fromCMake
Upstream issue on this: https://github.com/oxfordcontrol/osqp/issues/195 .
Actually 0.3 is the current version of
master
while 0.4 is the version indevel
. Probably before merging the PR I should mergedevel
intomaster
Mhh, good to know. independentily on what 0.3 or 0.4 are compatible with, such as table would help. Anyhow, considering that devel
branch was never released, you can also merge the 0.6-compatibility in master, and then forward merge to devel.
Mhh, good to know. independentily on what 0.3 or 0.4 are compatible with, such as table would help. Anyhow, considering that
devel
branch was never released, you can also merge the 0.6-compatibility in master, and then forward merge to devel.
I don't know if this is a good idea. Right now the devel
branch ensures back compatibility with master
. In details, devel
deprecate some functions defined in master
.
On the other hand, when this PR will be merged the back-compatibility with a previous version of osqp
will be broken. And I'm afraid that it will create problems -- see https://github.com/robotology-dependencies/osqp/tree/fix-lf-problems.
So to overcome possible issues, I would suggest to:
devel
into master
devel
(And probably change the version number from 0.4
to 0.4.1
)osqp
directly from CMake
. Thus I will update the README.md
describing the current status of osqp-eigen
devel
will be merged into master
What do you think @traversaro @S-Dafarra?
As soon as robotology/robotology-superbuild#242 will be fixed, devel will be merged into master
We can fix immediately the version of osqp-eigen in the superbuild, so that you are free to work as you prefer, and we update the osqp and osqp-eigen version when dust has setted .
Merge this PR in devel (And probably change the version number from 0.4 to 0.4.1)
To be honest, I think that if the required version of osqp changes, it is better to at least bump the minor version.
I'm updating the version from 0.4.1
to 0.5.0
, at the same time I would like also to change the compatibility from AnyNewerVersion
to SameMinorVersion
include(InstallBasicPackageFiles)
install_basic_package_files(${PROJECT_NAME}
VERSION ${${PROJECT_NAME}_VERSION}
- COMPATIBILITY AnyNewerVersion
+ COMPATIBILITY SameMinorVersion
VARS_PREFIX ${PROJECT_NAME}
NO_CHECK_REQUIRED_COMPONENTS_MACRO
CONFIG_TEMPLATE ${CMAKE_SOURCE_DIR}/cmake/OsqpEigenConfig.cmake.in)
Unfortunately, this option is available only from cmake v3.11
and Ubuntu 18.04
supports at most cmake v3.10
. @traversaro, do you know if there is a workaround that can be used?
@traversaro, do you know if there is a workaround that can be used?
You can just vendor WriteBasicConfigVersionFile
and its included files BasicConfigVersion-***.cmake.in
in your project, it should work fine (I guess).
You can just vendor
WriteBasicConfigVersionFile
and its included filesBasicConfigVersion-***.cmake.in
in your project, it should work fine (I guess).
Note that you will need to copy just the BasicConfigVersion-***.cmake.in
that you use, and you need to modify the ${CMAKE_ROOT}
in https://github.com/Kitware/CMake/blob/master/Modules/WriteBasicConfigVersionFile.cmake#L36 to ${CMAKE_CURRENT_LIST_DIR}
.
@traversaro
You can just vendor
WriteBasicConfigVersionFile
and its included filesBasicConfigVersion-***.cmake.in
in your project, it should work fine (I guess).Note that you will need to copy just the
BasicConfigVersion-***.cmake.in
that you use, and you need to modify the${CMAKE_ROOT}
in https://github.com/Kitware/CMake/blob/master/Modules/WriteBasicConfigVersionFile.cmake#L36 to${CMAKE_CURRENT_LIST_DIR}
.
Done in ac2a551
This PR is currently blocked by https://github.com/robotology/robotology-superbuild/pull/260
This PR restore the compatibility with
osqp
version 0.6.0. When this PR is merged, it will be not possible to use osqp 0.5.0 along withosqp-eigen
. Indeed https://github.com/oxfordcontrol/osqp/commit/78d11351555d6d4b0445a8d65d1066bb47df3b00 changesosqp_setup()
interface. This problem should be taken into account since a custom version ofosqp
may be used by internal projects (e.g. https://github.com/robotology-dependencies/osqp/tree/fix-lf-problems)See #31