When I create my own cmake toolchain and specify set(CMAKE_SYSTEM_NAME Linux) at the top and I run fprime-util generate <custom_arch> , things work correctly, but I get this warning:
.
.
.
-- [fpp-tools] fpp-locate-defs found at: /workspace/MyProject/fprime-venv/bin/fpp-locate-defs
-- [FPRIME] Module locations: /workspace/MyProject/fprime;/workspace/MyProject
CMake Warning at fprime/cmake/platform/platform.cmake:25 (message):
Toolchain '<custom_arch>' should set CMAKE_SYSTEM_NAME to 'Generic' and set
FPRIME_PLATFORM
Call Stack (most recent call first):
-- [FPRIME] Configuration module: /workspace/MyProject/fprime/config
fprime/cmake/FPrime.cmake:29 (include)
-- [FPRIME] Installation directory: /workspace/MyProject/build-artifacts
CMakeLists.txt:13 (include)
-- Target build toolchain/platform: <custom_arch>/Linux
-- Including /workspace/MyProject/fprime/cmake/platform/Linux.cmake
-- Requiring thread library
-- Looking for pthread.h
-- Looking for pthread.h - found
.
.
.
However, when I do what the warning asks me to do (i.e. specify CMAKE_SYSTEM_NAME as Generic and set FPRIME_PLATFORM to Linux), it throws an error doesn't generate the cache.
When running fprime-util generate <custom_arch>
# In ./cmake/toolchain/<custom_arch>.cmake file
.
.
.
-- Adding Library: Drv_ByteStreamDriverModel
-- Adding Library: Drv_LinuxUartDriver
-- Adding Library: Drv_StreamCrossover
-- Cannot use IP sockets with platform Generic. Skipping.
-- Adding Library: CFDP_Checksum
-- Adding Library: Utils
-- Adding Library: Utils_Hash
-- Adding Library: Utils_Types
-- [LIBRARY] Adding modules from F´ framework - DONE
-- Adding Library: Components_HelloWorld
-- Adding Library: HelloWorldDeployment_Top
-- Adding Deployment: HelloWorldDeployment
-- Configuring done
CMake Error at fprime/cmake/target/build.cmake:83 (add_dependencies):
The dependency target "Drv_TcpClient" of target "HelloWorldDeployment_Top"
does not exist.
Call Stack (most recent call first):
fprime/cmake/target/build.cmake:141 (build_setup_build_module)
fprime/cmake/target/target.cmake:116 (build_add_module_target)
fprime/cmake/target/target.cmake:116 (cmake_language)
fprime/cmake/target/target.cmake:155 (setup_single_target)
fprime/cmake/module.cmake:48 (setup_module_targets)
fprime/cmake/module.cmake:88 (generate_base_module_properties)
fprime/cmake/API.cmake:228 (generate_library)
HelloWorldDeployment/Top/CMakeLists.txt:22 (register_fprime_module)
CMake Error at fprime/cmake/target/build.cmake:83 (add_dependencies):
The dependency target "Drv_Udp" of target "HelloWorldDeployment_Top" does
not exist.
Call Stack (most recent call first):
fprime/cmake/target/build.cmake:141 (build_setup_build_module)
fprime/cmake/target/target.cmake:116 (build_add_module_target)
fprime/cmake/target/target.cmake:116 (cmake_language)
fprime/cmake/target/target.cmake:155 (setup_single_target)
fprime/cmake/module.cmake:48 (setup_module_targets)
fprime/cmake/module.cmake:88 (generate_base_module_properties)
fprime/cmake/API.cmake:228 (generate_library)
HelloWorldDeployment/Top/CMakeLists.txt:22 (register_fprime_module)
CMake Error at fprime/cmake/target/build.cmake:83 (add_dependencies):
The dependency target "Svc_PosixTime" of target "HelloWorldDeployment_Top"
does not exist.
Call Stack (most recent call first):
fprime/cmake/target/build.cmake:141 (build_setup_build_module)
fprime/cmake/target/target.cmake:116 (build_add_module_target)
-- Generating done
fprime/cmake/target/target.cmake:116 (cmake_language)
fprime/cmake/target/target.cmake:155 (setup_single_target)
fprime/cmake/module.cmake:48 (setup_module_targets)
fprime/cmake/module.cmake:88 (generate_base_module_properties)
fprime/cmake/API.cmake:228 (generate_library)
HelloWorldDeployment/Top/CMakeLists.txt:22 (register_fprime_module)
CMake Generate step failed. Build files cannot be regenerated correctly.
[ERROR] CMake erred with return code 1. Partial build cache remains. Run purge to clean-up.
Should I not be using Linux as the FPRIME_PLATFORM?
Context / Environment
Execute fprime-util version-check and share the output.
fprime-util generate
Problem Description
When I create my own cmake toolchain and specify
set(CMAKE_SYSTEM_NAME Linux)
at the top and I runfprime-util generate <custom_arch>
, things work correctly, but I get this warning:However, when I do what the warning asks me to do (i.e. specify CMAKE_SYSTEM_NAME as Generic and set FPRIME_PLATFORM to Linux), it throws an error doesn't generate the cache.
When running
fprime-util generate <custom_arch>
Should I not be using
Linux
as theFPRIME_PLATFORM
?Context / Environment
Execute
fprime-util version-check
and share the output.How to Reproduce
fprime-util generate <custom_arch>
Expected Behavior
fprime-util generate <custom_arch>
should complete successfully.