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

Build system cleanup #758

Merged
merged 17 commits into from Apr 10, 2016

Conversation

Projects
None yet
7 participants
@mikadou
Contributor

mikadou commented Feb 8, 2016

Some cleanup and improvements related to the build system.
Also addresses #739

@mikadou mikadou changed the title from Build system to Build system cleanup Feb 8, 2016

@Hiradur

This comment has been minimized.

Show comment
Hide comment
@Hiradur

Hiradur Feb 9, 2016

Contributor

Can you also fix #560?

Contributor

Hiradur commented Feb 9, 2016

Can you also fix #560?

@mikadou

This comment has been minimized.

Show comment
Hide comment
@mikadou

mikadou Feb 10, 2016

Contributor

I just had another idea. How about enabling true out-of-source builds? Currently the generated executables are placed in the bin directory inside the source tree.

Contributor

mikadou commented Feb 10, 2016

I just had another idea. How about enabling true out-of-source builds? Currently the generated executables are placed in the bin directory inside the source tree.

@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Feb 11, 2016

Collaborator

Compiled fine but when i run RoRConfig or RoR i get

/opt/rigsofrods/RoR: error while loading shared libraries: libversion_info.so: cannot open shared object file: No such file or directory

This file is in the bin folder, so i have to specify the path in cmake?

Collaborator

tritonas00 commented Feb 11, 2016

Compiled fine but when i run RoRConfig or RoR i get

/opt/rigsofrods/RoR: error while loading shared libraries: libversion_info.so: cannot open shared object file: No such file or directory

This file is in the bin folder, so i have to specify the path in cmake?

@mikadou

This comment has been minimized.

Show comment
Hide comment
@mikadou

mikadou Feb 11, 2016

Contributor

@tritonas00 could you share the output of ldd /opt/rigsofrods/RoR?

Does it work if you change https://github.com/RigsOfRods/rigs-of-rods/pull/758/files#diff-1d2543acbb7cf406daae3cc83a507a09R28 to
add_library( version_info STATIC ${VERSION_INFO_CPP} ) and recompile?

Contributor

mikadou commented Feb 11, 2016

@tritonas00 could you share the output of ldd /opt/rigsofrods/RoR?

Does it work if you change https://github.com/RigsOfRods/rigs-of-rods/pull/758/files#diff-1d2543acbb7cf406daae3cc83a507a09R28 to
add_library( version_info STATIC ${VERSION_INFO_CPP} ) and recompile?

@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Feb 11, 2016

Collaborator

I use custom path for most of the libs so it asks it there:

libversion_info.so => /opt/rigsofrods/lib/libversion_info.so (0x00007f807f815000)

If i copy it there, it works. I will try the code change tomorrow, thanks!

Collaborator

tritonas00 commented Feb 11, 2016

I use custom path for most of the libs so it asks it there:

libversion_info.so => /opt/rigsofrods/lib/libversion_info.so (0x00007f807f815000)

If i copy it there, it works. I will try the code change tomorrow, thanks!

@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Feb 12, 2016

Collaborator

The static works fine.

Collaborator

tritonas00 commented Feb 12, 2016

The static works fine.

@mikadou

This comment has been minimized.

Show comment
Hide comment
@mikadou

mikadou Feb 14, 2016

Contributor

@tritonas00 Thanks for testing. Simply linking statically is probably better anyway.

Contributor

mikadou commented Feb 14, 2016

@tritonas00 Thanks for testing. Simply linking statically is probably better anyway.

@mikadou

This comment has been minimized.

Show comment
Hide comment
@mikadou

mikadou Feb 15, 2016

Contributor
  • #560 is addressed and sudo is no longer used (see #267).
  • Further cleanup of cmake files
  • RoR executable is now created inside the build directory instead of the source tree

@Hiradur Could you please review once again?

Contributor

mikadou commented Feb 15, 2016

  • #560 is addressed and sudo is no longer used (see #267).
  • Further cleanup of cmake files
  • RoR executable is now created inside the build directory instead of the source tree

@Hiradur Could you please review once again?

@Hiradur

This comment has been minimized.

Show comment
Hide comment
@Hiradur

Hiradur Feb 16, 2016

Contributor

Can't comment on the Windows part but I think the cleanup looks nice.

I don't know how far Travis CI have come with upgrading their OS to Ubuntu 14.04 but if it's available now you could ditch the manual installation of gcc 4.8.
If Ogre 1.9 is available from the repository we could also use that instead of compiling it manually.

Contributor

Hiradur commented Feb 16, 2016

Can't comment on the Windows part but I think the cleanup looks nice.

I don't know how far Travis CI have come with upgrading their OS to Ubuntu 14.04 but if it's available now you could ditch the manual installation of gcc 4.8.
If Ogre 1.9 is available from the repository we could also use that instead of compiling it manually.

@mikadou

This comment has been minimized.

Show comment
Hide comment
@mikadou

mikadou Feb 16, 2016

Contributor

ressources: typo?

missing closing } bracket

Yes, sorry about these two. This is work in progress. I comitted the changes before rebooting into Windows without testing.

Building works now for me on Windows, however, git is not found. Therefore no commit information is presented in the version string.

I'll clean up the commit history later and ask @Speciesx to test once again. If it also works for him I'm going to merge into master.

Contributor

mikadou commented Feb 16, 2016

ressources: typo?

missing closing } bracket

Yes, sorry about these two. This is work in progress. I comitted the changes before rebooting into Windows without testing.

Building works now for me on Windows, however, git is not found. Therefore no commit information is presented in the version string.

I'll clean up the commit history later and ask @Speciesx to test once again. If it also works for him I'm going to merge into master.

@ulteq

This comment has been minimized.

Show comment
Hide comment
@ulteq

ulteq Apr 6, 2016

Contributor

@mikadou, @Speciesx What's the status of this?

Contributor

ulteq commented Apr 6, 2016

@mikadou, @Speciesx What's the status of this?

@Speciesx

This comment has been minimized.

Show comment
Hide comment
@Speciesx

Speciesx Apr 7, 2016

Contributor

@ulteq
When I tested the last time it worked.

Contributor

Speciesx commented Apr 7, 2016

@ulteq
When I tested the last time it worked.

@mikadou

This comment has been minimized.

Show comment
Hide comment
@mikadou

mikadou Apr 8, 2016

Contributor

@ulteq This should be ready for merging.

Contributor

mikadou commented Apr 8, 2016

@ulteq This should be ready for merging.

mikadou added some commits Feb 15, 2016

[cmake] List source files explicitely
Using a globbing mechanism to collect source files is considered bad
practice. Explicit listing files guarantees everything to be correctly
build when new files are added.
[Feature] Improve versioning
  * Move project-wide version specification into root CMakeLists file
  * Build version info into separate library
  * Provide version info as global variables instead of preprocessor defines (prevents excessive rebuilding)
  * Distinguish development versions from release versions
  * Append additional git information for dev versions
[cmake] Remove macro add_ror_project()
This macro is only called once. Replace the macro call with the content
of the macro itself.

@mikadou mikadou merged commit a332e62 into RigsOfRods:master Apr 10, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@AnotherFoxGuy

This comment has been minimized.

Show comment
Hide comment
@AnotherFoxGuy

AnotherFoxGuy Apr 11, 2016

Member

I'm unable to build this with VS12 & Ogre 1.9
Full log: http://pastebin.com/K9mW4TT3

Member

AnotherFoxGuy commented Apr 11, 2016

I'm unable to build this with VS12 & Ogre 1.9
Full log: http://pastebin.com/K9mW4TT3

@mikadou

This comment has been minimized.

Show comment
Hide comment
@mikadou

mikadou Apr 11, 2016

Contributor

@AnotherFoxGuy Thanks for reporting. I believe you are actually trying to build #824 , because you are getting an error about <OGRE/OgreVector3.h> not being found which was introduced in that latest PR. Could you change that line in source/main/datatypes/node_t.h to #include <OgreVector3.h> and post your log again if it still fails?

Contributor

mikadou commented Apr 11, 2016

@AnotherFoxGuy Thanks for reporting. I believe you are actually trying to build #824 , because you are getting an error about <OGRE/OgreVector3.h> not being found which was introduced in that latest PR. Could you change that line in source/main/datatypes/node_t.h to #include <OgreVector3.h> and post your log again if it still fails?

@mikadou

This comment has been minimized.

Show comment
Hide comment
@mikadou

mikadou Apr 11, 2016

Contributor

@AnotherFoxGuy In addition you will probably need your own changes from #779

Contributor

mikadou commented Apr 11, 2016

@AnotherFoxGuy In addition you will probably need your own changes from #779

@Speciesx

This comment has been minimized.

Show comment
Hide comment
@Speciesx
Contributor

Speciesx commented Apr 12, 2016

@mikadou mikadou deleted the mikadou:build-system branch Jun 4, 2016

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