CMAKE_STAGING_PREFIX would indicate that it’s used as one of the search paths for the find_***
methods. However, I’m not finding that in practice - wondering if I’m missing some other configuration.
Toolchain (for ubuntu’s arm-linux-gnueabihf
):
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR "arm")
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
list(APPEND CMAKE_FIND_ROOT_PATH "/usr/arm-linux-gnueabihf")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
Args passed to cmake:
-DCMAKE_TOOLCHAIN_FILE=${PWD}/arm-linux-gnueabihf.cmake -DCMAKE_STAGING_PREFIX=${PWD}/install
Debugging code in CMakeLists.txt:
message(WARNING "CMAKE_FIND_ROOT_PATH.......${CMAKE_FIND_ROOT_PATH}")
message(WARNING "CMAKE_STAGING_PREFIX..........${CMAKE_STAGING_PREFIX}")
message(WARNING "CMAKE_PREFIX_PATH..........${CMAKE_PREFIX_PATH}")
message(WARNING "CMAKE_SYSTEM_PREFIX_PATH...${CMAKE_SYSTEM_PREFIX_PATH}")
set(CMAKE_FIND_DEBUG_MODE TRUE)
find_package(ament_cmake_core REQUIRED)
message(FATAL_ERROR "BOOM")
Output:
CMake Warning at CMakeLists.txt:5 (message):
CMAKE_FIND_ROOT_PATH......./usr/arm-linux-gnueabihf;/usr/arm-linux-gnueabihf
CMake Warning at CMakeLists.txt:6 (message):
CMAKE_STAGING_PREFIX........../mnt/mervin/workspaces/foxy/skobuki/install
CMake Warning at CMakeLists.txt:7 (message):
CMAKE_PREFIX_PATH..........
CMake Warning at CMakeLists.txt:9 (message):
CMAKE_SYSTEM_PREFIX_PATH.../usr/local;/usr;/;/usr;/usr/X11R6;/usr/pkg;/opt
Checking prefix [/usr/arm-linux-gnueabihf/mnt/mervin/workspaces/foxy/skobuki/install/]
Checking prefix [/usr/arm-linux-gnueabihf/mnt/mervin/workspaces/foxy/skobuki/.venv/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/local/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/]
Checking prefix [/usr/arm-linux-gnueabihf/]
Checking file [/usr/arm-linux-gnueabihf/ament_cmake_coreConfig.cmake]
Checking file [/usr/arm-linux-gnueabihf/ament_cmake_core-config.cmake]
Checking prefix [/usr/arm-linux-gnueabihf/usr/games/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/local/games/]
Checking prefix [/usr/arm-linux-gnueabihf/snap/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/arm-linux-gnueabihf/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/X11R6/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/pkg/]
Checking prefix [/usr/arm-linux-gnueabihf/opt/]
Checking prefix [/usr/arm-linux-gnueabihf/mnt/mervin/workspaces/foxy/skobuki/install/]
Checking prefix [/usr/arm-linux-gnueabihf/mnt/mervin/workspaces/foxy/skobuki/.venv/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/local/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/]
Checking prefix [/usr/arm-linux-gnueabihf/]
Checking file [/usr/arm-linux-gnueabihf/ament_cmake_coreConfig.cmake]
Checking file [/usr/arm-linux-gnueabihf/ament_cmake_core-config.cmake]
Checking prefix [/usr/arm-linux-gnueabihf/usr/games/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/local/games/]
Checking prefix [/usr/arm-linux-gnueabihf/snap/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/arm-linux-gnueabihf/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/X11R6/]
Checking prefix [/usr/arm-linux-gnueabihf/usr/pkg/]
Checking prefix [/usr/arm-linux-gnueabihf/opt/]
CMake Error at CMakeLists.txt:11 (find_package):
By not providing "Findament_cmake_core.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"ament_cmake_core", but CMake did not find one.
Importantly, no CMAKE_STAGING_PREFIX
being used in the search…