Transitive target_include_directories on OBJECT libraries

后端 未结 4 1367
北恋
北恋 2021-01-01 12:18

Here is snippet from make CMakeLists.txt:

add_library(foo-object OBJECT src/foo.cpp)
target_include_directories(foo-object PUBLIC include)
add_library(foo SH         


        
4条回答
  •  爱一瞬间的悲伤
    2021-01-01 12:34

    For me something like the following seems to be working:

    add_library(foo_objects OBJECT src/foo.cpp src/foo.hpp)
    set_property(TARGET foo_objects PROPERTY POSITION_INDEPENDENT_CODE ON)
    target_include_directories(foo_objects PUBLIC
        "$"
        "$")
    
    add_library(foo_shared SHARED)
    add_library(foo_static STATIC)
    target_link_libraries(foo_shared PUBLIC foo_objects)
    target_link_libraries(foo_static PUBLIC foo_objects)
    

提交回复
热议问题