I can't seem to get the property in the location you suggest. CMake complains that the target doesn't exist. If I instead get the property after the `GenerateCAmkESRootServer()` command, the target exists, but the property is empty.
What I *can *fetch is the `COMPONENT_INCLUDES` property of `CAmkESComponent_Platam`, which shows the expected include list, including this directory which is seemingly getting dropped. Also, I can get the `INCLUDE_DIRECTORIES` property of `platam.instance.bin`, which outputs `$<TARGET_PROPERTY:CAmkESComponent_Platam_instance_platam,COMPONENT_INCLUDES>;$<TARGET_PROPERTY:CAmkESComponent_Platam,COMPONENT_INCLUDES>;/host/build/platam/include`. If I'm reading that right, it includes a generator expression which grabs the earlier property, which was set correctly. Yet when I check the `build.ninja` file for the `Hacl_Chacha20.c.obj` rule, it is still missing that one include directory, although the rest are there. -Grant On Sun, Aug 22, 2021, at 8:02 PM, Kent Mcleod wrote: > On Mon, Aug 23, 2021 at 7:13 AM Axel Heider <axelhei...@gmx.de> wrote: > > > > Grant, > > > > > ``` > > > DeclareCAmkESComponent( > > > Platam > > > SOURCES ${hacl_sources} > > > INCLUDES /usr/lib/gcc-cross/aarch64-linux-gnu/8/include ${hacl_path} > > > ${kremlin_path} ${kremlib_path} > > Each path given to DeclareCAmkESComponent as an include should end up > in the final compilation command unless CMake is doing some magic > argument substitutions which a compiler include path could potentially > be affected by. > > If you insert the following 2 lines after DeclareCAmkESRootserver > (https://github.com/gjurgensen/attarch/blob/camkes-includes-issue/CMakeLists.txt#L190) > you should be able to see whether the include path has made it into > the CMake target definition. If the path is in that property, but not > in the command line to gcc then the next place to look is in the > generated build.ninja file for the Hacl_Chacha20.c.obj build rule to > see if the include directory is there. If it isn't in build.ninja, > but in the CMake target property, then that indicates that CMake is > stripping it out when it generates the ninja build rules. > > ``` > get_target_property(out CAmkESComponent_Platam_instance_platam > INCLUDE_DIRECTORIES) > message("${out}") > ``` > > > > C_FLAGS -include ${CMAKE_CURRENT_SOURCE_DIR}/hacl_config.h > > > ) > > > ``` > > > > > > > The problem might be that the build is running in a docker container > > that does not have access to your host system. Thus, the absolute > > path "/usr/lib/gcc-cross/aarch64-linux-gnu/8/include" to the cross > > compiler there cannot be resolved. The current directory where you > > invoke the build will be mapped at "/host" in the contianer, so > > everything in the tree is accessible. > > > > Axel > > _______________________________________________ > > Devel mailing list -- devel@sel4.systems > > To unsubscribe send an email to devel-leave@sel4.systems > _______________________________________________ > Devel mailing list -- devel@sel4.systems > To unsubscribe send an email to devel-leave@sel4.systems > _______________________________________________ Devel mailing list -- devel@sel4.systems To unsubscribe send an email to devel-leave@sel4.systems