CMake:在flags.make中更改C_INCLUDES

时间:2016-11-23 15:34:49

标签: cmake iar

我正在使用Windows 7和CMake 3.5进行交叉编译。为了编译,我使用IAR 78000 C编译器V3.34A / W32(非常旧)。包含文件,其中include_directories()添加到INCLUDE_DIRECTORIES

编译器需要:

C_INCLUDES = -IC:/foo/bar/ 

但是CMake仅在flags.make文件中创建:

C_INCLUDES = -IC:/foo/bar (without Backslash at the end)

我试过了:

get_directory_property(cmake_include_directories INCLUDE_DIRECTORIES)
set(include_dirs)
foreach(it ${cmake_include_directories})
    set(include_dirs ${include_dirs} "${it}/")
endforeach()
set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${include_dirs}")        
#set_property(TARGET ${PROJECT_NAME}.hex  PROPERTY INCLUDE_DIRECTORIES ${include_dirs})
message(STATUS "New Dir: ${include_dirs}")

include_dir中的值不会覆盖INCLUDE_DIRECTORIES

中的值

是否可以仅为INCLUDE_DIRECTORIES更改C_INCLUDES,以获得所需的格式?

更新:我的问题的解决方案

get_directory_property(cmake_include_directories INCLUDE_DIRECTORIES)
foreach(iterationValue ${cmake_include_directories})

set(iterationValue ${iterationValue}////) # You need //// for one /!

target_include_directories(
   ${PROJECT_NAME} PRIVATE 
   ${iterationValue}
   )

endforeach()

谢谢

0 个答案:

没有答案