Differentiating if the path should be relative to the build dir or the
ROMFS dir based purely on the type of the item is not a good approach.
This prepares the way to have more files on ROMFS with different names
on src and dst.
Yes, we know we are using them. Remove warnings like:
CMake Deprecation Warning at /usr/share/cmake/Modules/CMakeForceCompiler.cmake:93 (message):
The CMAKE_FORCE_CXX_COMPILER macro is deprecated. Instead just set
CMAKE_CXX_COMPILER and allow CMake to identify the compiler.
Call Stack (most recent call first):
cmake/toolchains/Toolchain-arm-none-eabi.cmake:37 (cmake_force_cxx_compiler)
/home/lucas/p/dronecode/ardupilot/build/px4-v2/modules/PX4Firmware/CMakeFiles/3.6.2/CMakeSystem.cmake:6 (include)
CMakeLists.txt:204 (project)
We currently are unable to build on MacOSX unless we give waf the
--check-cxx-compiler g++. Change the compiler order to search for
gcc/g++ first instead of clang/clang++.
When we are checking if a header is available we can't pass -I argument
to our missing/ directory. Otherwise we would end up telling the build
that a header is available when it actually isn't.
This fixes the build of sitl in MacOS with clang.
On Windows, using MSYS Makefiles generator doesn't work very well when the
CMakeLists.txt files use custom commands with paths as arguments. Furthermore,
MinGW Makefiles generator can't be used if sh.exe is in the system's path and
some build systems rely on sh for certain tasks (which is the case of PX4
Firmware build). Because of that, the list of generators for Windows has been
narrowed to Ninja and NMake Makefiles.
Here we do the following:
1) Move the pkg-config check to boards.py so we only check of it for
linux boards
2) Use cfg.find_toolchain_program() if possible, for example, for AR
That's more correct than setting Waf environment variables:
(1) We don't need to worry about differences between OSes - the previous
implementation was actually broken for Windows because the program names in
the environment variables were missing the ".exe" extension.
(2) That looks better than looping over possible compiler names and running
the configuration transactionally multiple times.