cmake_minimum_required(VERSION 2.8)

set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined -Wl,--as-needed")
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")

add_library(shareda SHARED shareda.cpp)
set_target_properties(shareda PROPERTIES LIBRARY_OUTPUT_DIRECTORY "subdir")

add_library(sharedb SHARED sharedb.cpp)
set_target_properties(sharedb PROPERTIES LIBRARY_OUTPUT_DIRECTORY "subdir")
target_link_libraries(sharedb PRIVATE shareda)
set_target_properties(sharedb PROPERTIES BUILD_WITH_INSTALL_RPATH 1 INSTALL_RPATH "")

add_library(static STATIC static.cpp)
target_link_libraries(static sharedb)
set_target_properties(static PROPERTIES COMPILE_FLAGS "-fPIC")

add_library(shared2 SHARED shared2.cpp)
target_link_libraries(shared2 PRIVATE static)

add_executable(exe exe.cpp)
target_link_libraries(exe shared2)


