New build system introduced, testing and feedback needed
-
in the end this /nologo parameter is the issue. Make thinks it's a target but it's actually parameter intended for the windows linker. Really strange.
If you delete that. You get a step further.
-
Apparently you can install additional tools using eclipse. Probably update them as well. Eventually this didn't happen for some time.
-
@mfs12 - much closer now. I had two versions of make.exe. I updated it and removed all references to /nologo. However, the version without a logo is what I am needing to compile?
Here is where I currently am at.
PS C:\Eclipse\PanelDueFirmware> make -C build VERBOSE=1 ... C:\Eclipse\PanelDueFirmware\build C:\Eclipse\PanelDueFirmware\build C:\Eclipse\PanelDueFirmware\build\CMakeFiles\paneldue.elf.dir\DependInfo.cmake --color= make[2]: Leaving directory 'C:/Eclipse/PanelDueFirmware/build' C:/Program Files/GNU ARM Eclipse/Build Tools/2.6-201507152002/bin/make -f CMakeFiles\paneldue.elf.dir\build.make -nw -- VERBOSE=1 CMakeFiles\paneldue.elf.dir\build make[2]: Entering directory 'C:/Eclipse/PanelDueFirmware/build' make[2]: *** No rule to make target 'lib\librrf\librrf.a', needed by 'paneldue.elf'. Stop. make[2]: Leaving directory 'C:/Eclipse/PanelDueFirmware/build' make[1]: *** [CMakeFiles\Makefile2:93: CMakeFiles\paneldue.elf.dir\all] Error 2 make[1]: Leaving directory 'C:/Eclipse/PanelDueFirmware/build' make: *** [Makefile:80: all] Error 2 make: Leaving directory 'C:/Eclipse/PanelDueFirmware/build'
-
did you check out librrf as a submodule as detailed in the build instructions?
-
@oozeBot sounds like you didn't checkout the git submodules.
Please refer to https://github.com/Duet3D/PanelDueFirmware#setup-repository
-
@oliof yes, I did and the root lib/librrf contains many files, so I think I did it right!
-
@mfs12 I just responded that I thought I had, but it must be that didn't work correctly.. I'll rerun those steps again here soon. Thanks again
-
After you rerun those steps, clean out the build/ directory and rerun cmake.
-
This is the console output. I'll clean up the build folder and try again here soon. Thanks
git submodule update --recursive Cloning into '/home/pi/PanelDueFirmware/lib/librrf'... Submodule path 'lib/librrf': checked out 'f3e75ecfe8802ca2cdac07cf20dee3ac05479ea7'
-
I'm back at it.. I cleaned up the build folder, validated I had the latest copy of the windows build tools, verified I had the submodules, and then re-ran.
Here is snippet of the files "cmake -B build" creates (using env.cmake). Note there are now no makefiles! Grr- any ideas?
-
@oozeBot looks like cmake decided to create project files for visual code.
Check for more details about different IDE support.
https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html
In such an early stage i would recommend to delete the build folder when things behave weird.
-
@mfs12 Finally! By using the following, it built without any modifications! There were some warnings, but it created the bin files. This is what I was missing..!
I think this was problem all along..
cmake -B build -G "Eclipse CDT4 - Unix Makefiles"
-
This might be unrelated, but is there an ongoing official CMake effort for RepRapFirmware as well? I'm actually the person who posted: https://reprap.org/forum/read.php?147,874397. I'm currently using it to build firmware for Duet WiFi, Duet 3 Mini 5+, and the board I'm developing. However, it would also be nice if there is an official CMake support upstream.
-
@oozebot are you using this with eclipse? if so could you check if code completion works nicely?
-
@resam said in New build system introduced, testing and feedback needed:
(compiles everything, but plenty of warnings)
there's already task to current compiler warnings.
Progress will be reflected in the issue.
-
@likhalabs said in New build system introduced, testing and feedback needed:
but is there an ongoing official CMake effort for RepRapFirmware as well?
Hey, let's see how it goes with paneldue. If this goes well it can have potential. Do you have a repository with your build system?
-
@mfs12 said in New build system introduced, testing and feedback needed:
@oozebot are you using this with eclipse? if so could you check if code completion works nicely?
Umm - I just followed the directions! I'm not directly using Eclipse, but it is installed.
I just installed the firmware - it's working just fine! The PanelDue now reads version 3.4.0-dev.
-
@oozebot said in New build system introduced, testing and feedback needed:
@mfs12 Finally! By using the following, it built without any modifications! There were some warnings, but it created the bin files. This is what I was missing..!
I think this was problem all along..
cmake -B build -G "Eclipse CDT4 - Unix Makefiles"
I just tried with the following and it worked as well. I know I tried this before, but think I capitalized UNIX which is what caused the failure..
cmake -B build -G "Unix Makefiles"
-
@oozeBot good to hear things are working for you now.
-
@mfs12 Real quick update that while I don't have any previous experience with building the firmware, I am digging the new build process! I can compile my changes within seconds and then immediately test. Plus the compiler does a pretty good job of explaining any errors..