cmake_minimum_required(VERSION 2.8) project(A C) add_library(C_STATIC STATIC IMPORTED) set_target_properties(C_STATIC PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C" IMPORTED_LOCATION "/usr/lib/libz.a" ) add_library(B_STATIC STATIC IMPORTED) set_target_properties(B_STATIC PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C" IMPORTED_LINK_INTERFACE_LIBRARIES "C_STATIC" IMPORTED_LOCATION "/usr/lib/libpng12.a" ) add_library(A_STATIC STATIC foo.c) target_link_libraries(A_STATIC B_STATIC) add_library(A_SHARED SHARED foo.c) target_link_libraries(A_SHARED B_STATIC) set_target_properties(A_SHARED PROPERTIES LINK_INTERFACE_LIBRARIES "" ) install(TARGETS A_STATIC A_SHARED EXPORT MyExports DESTINATION "./lib" ) install(EXPORT MyExports DESTINATION "./share" )