-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Implementing cmake build #657
Conversation
This is just a change to the travis config for the travis build.
Because it didn't work. Trial and error with Travis at this point.
In an attempt to make travis gcc matrix happy.
This option seemed to be affecting gcc builds. Trying its removal to see if it helps with CI.
As suggested by @Davidragazzi.
Discussion continues from #645, see that PR for previous conversations. |
Is it possible to encapsulate the git submodule commands into the cmake configuration? I just tried this in a stock VM and it wasn't obvious that I needed to run |
@oxtopus Fine by me, but if we do that, we need to add back
into the |
SOLVED!!!! Now Travis is building fine with GCC!!! This helped me a lot:
I included |
@david-ragazzi Nice work! That's really encouraging. |
I include these lines:
The code above set NTAX_DEVELOPER_BUILD to 1 for first time, and once set, it only shows its value. Feel free to change its initial value.. |
I looked through it too. Only used for optimization in a handful of places. Matt Taylor On Thu, Feb 20, 2014 at 9:59 AM, Subutai Ahmad notifications@github.comwrote:
|
@david-ragazzi I think it can just show it. It shouldn't set it - that is up to the developer. We also need to add the code to do the actual symlink. In the past this was handled by the script in |
@david-ragazzi The following lines (179-182) are causing problems on some Mac's:
The check fails even if What do you think? Good news is that without this check and after fixing #663, it works on Matt's and Austin's Mac's as well, so three total. |
@subutai I think is fine. Although a Borland or VC++ will cause trouble if user don't read doc .... I'm checking symlinks issue.. NTAX_DELELOPER_BUILD is a "boolean" value, right? If true, CMake should create symlinks, if false copy the files.. |
@subutai I wrote the code for symlinks. Please look for NTAX_DEVELOPER_BUILD word in CMake file. I also noted that it doesn't replace a file to link and vice-versa after first configuration. Could CMake remove the entire $NTA folder before CMake starts the copy or linking? |
@david-ragazzi Awesome! I just tried it out and it works great.
Hmm, that's a good question. If you remove $NTA every time you run CMake, is there a problem with that? |
I usually remove and recreate the |
Reverts commit 5bd2dfa. We changed the process so that Travis will not automatically update submodules, instead CMake does it. So the build script needs to do the same again, too.
For some reason it is not reliable on Mac's. Will address in documentation for now.
@david-ragazzi We are ok to merge this once build passes. After that I will continue some more Grok tests, and we can start on the next phase! |
OK, so running CMake is the equivalent of doing a clean build? I was wondering about that. If so, it should also clean out the build directory. For incremental builds the user can just run |
@subutai Yes. At CMake file we could simply put a command to delete $NTA (future build/release) directory to accomodate new changes in a clean folder. This would save a lot of code, mainly in symlinks issues! |
@david-ragazzi Great, thanks. That is all very clean and simple. |
@david-ragazzi Really nice job on this PR! I have a question. It looks like all the CPP/HPP files are explicitly listed in the |
I just cleaned everything out and followed the README instructions and it worked well. Great work! |
@subutai In future, we could automate the extraction of these files names. There is a macro in CMake file that transverse a folder and get list of all files that fit a given criteria. I created this macro to get .cpp and .hpp files used by TestEverything project. |
@david-ragazzi said:
Let's make this part of the discussion for numenta/nupic.core-legacy#4. |
@david-ragazzi Thanks for the explanation. |
Replacement for PR #645.
Fixes: #647.
Fixes: #661.