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

Doesn't install anything #37

Closed
yurivict opened this Issue Dec 12, 2017 · 16 comments

Comments

Projects
None yet
2 participants
@yurivict

yurivict commented Dec 12, 2017

cmake-based projects are usually expected to install the project into $DESTDIR/$PREFIX.

@DanielChappuis

This comment has been minimized.

Owner

DanielChappuis commented Dec 12, 2017

Hello. Yes "make install" is not implemented yet. What kind of behavior do you want ? Installing the compiled library somewhere in your system ? Installing the testbed application ? Both ?

@DanielChappuis DanielChappuis self-assigned this Dec 12, 2017

@yurivict

This comment has been minimized.

yurivict commented Dec 12, 2017

Installing library/headers under $DESTDIR/$PREFIX.

@DanielChappuis

This comment has been minimized.

Owner

DanielChappuis commented Dec 12, 2017

Thanks. I will try to implement this.

@yurivict

This comment has been minimized.

yurivict commented Dec 12, 2017

You can look at any other cmake project. cmake has INSTALL instructions, that's all that needs to be done. headers/libraries/man pages/icons are installed.

@DanielChappuis

This comment has been minimized.

Owner

DanielChappuis commented May 1, 2018

This is now done in the version v0.7.0 of ReactPhysics3D that has just been released.
Thanks a lot for reporting this.

@yurivict

This comment has been minimized.

yurivict commented May 1, 2018

Now the version 0.7.0 only installs lib/libreactphysics3d.a and no headers.

@yurivict

This comment has been minimized.

yurivict commented May 1, 2018

Also, ADD_LIBRARY(reactphysics3d STATIC ${REACTPHYSICS3D_HEADERS} ${REACTPHYSICS3D_SOURCES}) always installs the static library. Usually, cmake projects use the BUILD_SHARED_LIBS option to control the type of library to build: https://cmake.org/cmake/help/v3.0/variable/BUILD_SHARED_LIBS.html

@DanielChappuis DanielChappuis reopened this May 1, 2018

@yurivict

This comment has been minimized.

yurivict commented Jul 28, 2018

This prevents me from creating a FreeBSD port for reactphysics3d
.

@DanielChappuis

This comment has been minimized.

Owner

DanielChappuis commented Jul 31, 2018

I have pushed a fix into the fix37 branch.
Can you try on your side if the bug is now fixed ?

Best regards

@yurivict

This comment has been minimized.

yurivict commented Jul 31, 2018

Now it installs headers and the shared library. One problem: the library shouldn't be in a subdirectory: lib/reactphysics3d/libreactphysics3d.so should be lib/libreactphysics3d.so.

@DanielChappuis

This comment has been minimized.

Owner

DanielChappuis commented Jul 31, 2018

That's right. I have just pushed a fix in the same branch.
Can you test if it is ok now ?

@yurivict

This comment has been minimized.

yurivict commented Jul 31, 2018

Yes, it's fine now.

One thing that can be further improved is to create symbolic links for the shared library:

libreactphysics3d.so.0.7.0 -> libreactphysics3d.so
libreactphysics3d.so.0.7 -> libreactphysics3d.so
libreactphysics3d.so.0 -> libreactphysics3d.so

libreactphysics3d.so.0 or libreactphysics3d.so.0.7 should be a SONAME. Any incompatible, non-incremental changes to the interface should trigger the SONAME change.

@DanielChappuis

This comment has been minimized.

Owner

DanielChappuis commented Aug 4, 2018

I have just added the VERSION and SOVERSION to the CMakeLists.txt with this commit in the fix37 branch.

Is it what you expect ?

@yurivict

This comment has been minimized.

yurivict commented Aug 4, 2018

Yes, this is exactly what I've asked for!
Thanks!

@yurivict yurivict closed this Aug 4, 2018

@DanielChappuis

This comment has been minimized.

Owner

DanielChappuis commented Aug 5, 2018

Thanks for reporting this. I have just merged the fix37 branch with the fix into master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment