Opened 10 years ago
Closed 6 years ago
#1144 closed task (fixed)
Cmake for TomTom buildchain
Reported by: | usul | Owned by: | KaZeR |
---|---|---|---|
Priority: | blocker | Milestone: | version 0.5.1 |
Component: | port/tomtom | Version: | git master |
Severity: | complex | Keywords: | tomtom, cmake, autotools |
Cc: | sebastian.leske@… |
Description
AFAIK only our TomTom? port requires autotools anymore and blocks us from finalizing the switch over to cmake. We should work on this issue to do this step (which is only on development side important) within the new hotfix release.
Change History (13)
comment:1 Changed 10 years ago by usul
- Milestone set to version 0.5.1
comment:2 Changed 9 years ago by xenos1984
comment:3 Changed 9 years ago by sleske
- Cc sebastian.leske@… added
Hm, I've done some work with CMake, so I may be able to help. I have no idea how to compile for TomTom?, however. Could you maybe upload your changes to CMakeList.txt and a build log somewhere? Then I can have a look.
comment:4 Changed 9 years ago by usul
- Severity set to complex
comment:5 Changed 9 years ago by usul
- Component changed from core to port/tomtom
comment:6 Changed 9 years ago by usul
- Priority changed from critical to blocker
I suggest this as blocker for 0.5.2 for the following reasons:
- prevents us from a complete switch over to cmake and forces us to maintain autotools, too
comment:7 Changed 8 years ago by sleske
It would be really good if we could complete the changeover to CMake. I'll try to work on this. I don't have a TomTom? device, but I can cross-compile without one :-). I'll just need someone else to check if the build actually produces a working executable.
comment:8 Changed 8 years ago by sleske
To kick things off:
I noticed there is a script for Linux that downloads all the dependencies and runs a cross-compilation automatically: https://github.com/xantares/navit-tomtom I tested it on my system with SVN rev.5561 (August 2013), and it seems to work (i.e. compilation completes and produces ARM binaries).
However, it does not work with current trunk. I'll try to fix this.
Once this is done, could someone with a TomTom? device test this? I'll try to update the build script, so the test should run automatically.
comment:9 Changed 8 years ago by sleske
The build script now also works with current trunk (the problem was just an unsupported GCC warning option, fixed in rev.5892).
However, I cannot test the resulting binary, as I don't have a TomTom? device. All I can say is that the build finishes, and creates a navit binary for ARM:
$ file navit navit: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.4.0, not stripped
I don't know if this actually runs correctly...
comment:10 Changed 8 years ago by sleske
What remains to be done:
- Test whether the CMake build using the script from https://github.com/xantares/navit-tomtom creates a working Navit. Is there someone with a real TomTom? to do this?
- Switch the nightly builds for TomTom? to use CMake. Who can do this?
- Update the wiki to indicate that the TomTom? build uses CMake, and not autotools.
Then TomTom? is no longer a blocker for removing the autotools stuff :-).
Finally, we might want to improve our CMakeLists.txt to automatically do some of the things the build script does.
Any takers?
comment:11 Changed 8 years ago by mvglasow (2)
Note that the build script changes seem to break android-x86, see #1259.
comment:12 Changed 7 years ago by kazer
Some work has been done some time ago in order to try to address this ticket.
You can track the current status here : https://github.com/navit-gps/navit/tree/tomtom
Any help in finalizing this is welcome!
comment:13 Changed 6 years ago by http://wiki.navit-project.org/index.php/user:jkoan
- Resolution set to fixed
- Status changed from new to closed
We have a cmake buildchain now, see ci/tomtom for a example
Yes, I have noticed this, and already tried to fix it - but honestly I have no idea how to do this, mainly since I hardly understand the CMake documentation. (I'm mostly familiar with autotools and learned using them from scratch, which was much easier than understanding CMake.)
The problem seems to be that some library dependencies are not correctly resolved, as explained in the beginning of this chatlog: http://irclogs.navit.ie/%23navit-2013-03-08.log And honestly I have no idea why...