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 CMake support #41

Merged
merged 6 commits into from
Feb 8, 2022
Merged

Add CMake support #41

merged 6 commits into from
Feb 8, 2022

Conversation

davidrmiller
Copy link
Owner

Comments are welcome.
Are any changes needed in the docker support?
Is the README.md file sufficiently clear?

@mathematicalmichael
Copy link
Contributor

@davidrmiller want me to check the cmake instructions shown in the readme from inside of the docker container? Otherwise I don't (off the top of my head) know of any need to change the image to continue supporting the make command.

Is there any particular benefit to using cmake over make if one is developing without an IDE?

@davidrmiller
Copy link
Owner Author

@mathematicalmichael , I would love your evaluation on the impact to the docker container, thanks.

include_directories( ${OpenCV_INCLUDE_DIRS} )

SET(GCC_COVERAGE_COMPILE_FLAGS "-O3 -Wall -fexceptions -fopenmp")
SET(GCC_COVERAGE_LINK_FLAGS "-lpthread -O3 -s -lz -lgomp")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why add the -s option? This strips out all debug information from the executable, making debugging impossible. Since I'm not really that familiar with gcc flags, I spent quite a while trying to figure out why debugging doesn't work.

@mathematicalmichael
Copy link
Contributor

@davidrmiller fwiw, the docker image doesn't contain cmake so while it doesn't break anything, it's also not exactly supported. If you add that in the apt-install line of the Dockerfile, all should be well (though perhaps also a good idea to add it to the github action to test it out during future PRs).

@mathematicalmichael
Copy link
Contributor

personal take: I suppose since cmake is intended to achieve platform and compiler independence, it sort of doesn't make sense to include it into the docker image since the point of the image is to ... also, make things "independent" in some sense (run on a common platform through use of virtualization). So I think it's best to leave it out of the image and assume the people reaching for cmake instead know what they're doing as far as compiling, whereas the docker image provides a bit more of a "standard entrypoint" for newcomers / those familiar with software in general but less with C specifically.

Thanks @apatho for this suggestion.
@davidrmiller davidrmiller merged commit ee8aa1f into main Feb 8, 2022
@davidrmiller davidrmiller deleted the cmake branch February 8, 2022 20:02
@NitishDragneel
Copy link

I'm entirely new to this but i checked every file and understood what each does. can anyone tell me how to execute all these and make them into a single console program? I'm good at interface build so i can alter a few layouts and make it seem like a real game into fun but i need all ur help. pls text my mail [email protected] if anyone knows how to work this out

@davidrmiller
Copy link
Owner Author

Hi @NitishDragneel , If you follow the steps in the README, the result will be a console program. There's no GUI in this project, but there are forks of the project that include a graphical interface. If you encounter any problem following the README, let us know how far you got and what problem you encountered and we'll try to help.

@NitishDragneel
Copy link

Hi @NitishDragneel , If you follow the steps in the README, the result will be a console program. There's no GUI in this project, but there are forks of the project that include a graphical interface. If you encounter any problem following the README, let us know how far you got and what problem you encountered and we'll try to help.

Hey hii I'm very much confused because ubuntu is new to me.... Can i get your email id? Or wherever i can contact you personally pls? This is something im very much interested to learn

@davidrmiller
Copy link
Owner Author

@NitishDragneel, I applaud your willingness to explore new territory.

I assume you're a Windows user. Since I rarely use Windows, it's best if we keep this discussion public where others can contribute their expertise.

Your first step is to set up an Ubuntu development environment on Windows. As I understand it, you have several options. One way is with WSL, the Windows Subsystem for Linux. Another is to set up an Ubuntu virtual machine with VirtualBox. Check out Issue #89 as it may have additional information on those options. Other options include setting up a dual-boot computer that boots Windows and Linux, or load Linux onto a spare computer and dedicate that computer for Linux development.

Once you are able to invoke a Linux terminal by whatever method, then you should be able to clone the biosim4 repository, install the dependencies mentioned in the README file, and execute make to generate an executable program.

If you get stuck along the way, feel free to open a new Issue with specific questions. Good luck!

@NitishDragneel
Copy link

NitishDragneel commented Jan 16, 2024 via email

@davidrmiller
Copy link
Owner Author

@NitishDragneel, since this discussion has shifted to docker, I opened Issue #97 about this. Let's continue this discussion there.

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