Skip to content
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

Add rpclib as a submodule and compile directly from source #16

Closed
wants to merge 2 commits into from

Conversation

8W9aG
Copy link
Contributor

@8W9aG 8W9aG commented Feb 18, 2017

This fixes the OSX linker issues when dealing with rpclib.

  • Removes the binary distributions of rpclib and replaces them with a source compile
  • Adds a submodule to rpclib

As a sidenote, I'm not sure whether you want to use the git subtree or submodule workflow here.

* Compiling from source allows better compatibility
with alternative platforms
@msftclas
Copy link

Hi @8W9aG, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.

TTYL, MSBOT;

@8W9aG
Copy link
Contributor Author

8W9aG commented Feb 18, 2017

Also would be grateful if people could test whether this still works on Windows as well (I think it should)

@DJISDKUser
Copy link

DJISDKUser commented Feb 18, 2017

$ git fetch origin pull/16/head:master
$ git checkout add-rpclib-source-compile
$ git submodule update --init --recursive
$ mkdir cmake/build
$ cd cmail/build/; cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/eigen@3.2/3.2.10/
$ make -j8
...
[ 98%] Linking CXX executable HelloDrone
[ 98%] Built target HelloDrone
1 warning generated.
[100%] Linking CXX executable DroneShell
[100%] Built target DroneShell

(no errors)

@DJISDKUser
Copy link

Inside of Unreal/Plugins/AirSim/readme.md it says "Create black C++ Unreal project without starter content", do you mean To select "New Project"-> "C++" -> "Basic Code"?

@DJISDKUser
Copy link

Also for me on OSX, the suggested Modular Neighborhood Pack does not support the current Unreal Engine 4.15.0 is it OK to tell it to use the closest version being 4.14 when it asks?

@lovettchris
Copy link
Member

Yes you want Unreal 4.14

@DJISDKUser
Copy link

DJISDKUser commented Feb 19, 2017

Thanks @lovettchris ... Sorry I am not an Unreal user... so next up we have "- Project Settings > Maps - set the map". I am as stated above using Modular Neighborhood Pack, What should I be setting for "Editor Startup Map", and "Game Default Map", "Default GameMode", and "Game Instance Class".

These values are all greek to me, as is what it means to "set" a Map as it were, short of making it default. I just don't know if I want Template_Default, Demo_Map, Overview, or

Also for anyone wondering this is how you can copy the plugins over:
$ cp -rfv Unreal/Plugins ~/Documents/Unreal\ Projects/YourAirSImProjectName/

@DJISDKUser
Copy link

For OSX the instructions get a little odd here:
https://github.com/Microsoft/AirSim/blob/master/docs/build.md

"Ready, Set, Go!
You are all ready to go now!
Right click on the Unreal project .uproject file, then Generate Visual Studio Project files.
Double click on .sln file to open the solution."

Is there any alternate wording for us?

FWIW My project file was in: ~/Documents/Unreal\ Projects/AirSImProjectName/AirSImAirSImProjectName.uproject

@sytelus
Copy link
Contributor

sytelus commented Feb 19, 2017

Hi @d13-kevinf

The readme at Unreal/Plugins/AirSim/readme.md was old and has been deleted. If you are using Neighbourhood pack, set the Editor Starter Map as well as Game Default Map to Demo_Map in Project Settings > Maps & Modes. Don't change Default Game Mode in that screen. Go to World Settings and then set Game Mode = SimModeGame.

On OSX you will need to generate XCode project files. May be below might answer your question:

https://answers.unrealengine.com/questions/45320/how-to-create-xcodeproj-for-pc-started-project.html

I'm also looking at your PR. Please also free free to submit osx_build.md with steps you followed so far.

@bkueng bkueng mentioned this pull request Feb 22, 2017
@sytelus
Copy link
Contributor

sytelus commented Feb 24, 2017

I've pushed this change with slightly different variation.

  1. Put rpclib as submodule in external/rpclib folder.
  2. For Windows: Modify build.cmd for Windows to init, update as well as build this submodule in its own folder. Modify build.cmd for Windows to copy the build output and include folder to AirLib/deps/rpclib.
  3. For Linux: Modify CMakeLists.txt with add_subdirectory(external/rpclib). Modify CMakeLists.txt with POST_BUILD command to copy build output and include folder from external/rpclib to AirLib/deps/rpclib folder.

So, in essence, the folder structure under AirLib/deps remains same so no other changes are required.

I've tested build in Windows however not under Linux yet due to GCC upgrade issue on my current machine. It would be great if you get chance to try it out or if you have any suggestion for any alternative way to achieve above in CMakeLists.txt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants