#
# This is CMakeLists for project: StructuredData
#
project(StructuredData)

include_cmake(${SRC})

enable_all_warnings()
enable_warnings_as_errors()

add_library(StructuredData SHARED ${SOURCES})

target_include_directories(StructuredData
    PRIVATE
        "${OPENIPC_ROOT}/Source/Public_Include"
    PUBLIC
        "${OPENIPC_ROOT}/Source/Foundation/StructuredData_Static/Public"
        "Public")

set_target_properties(StructuredData PROPERTIES
                      OUTPUT_NAME StructuredData_${ARCHITECTURE_NAME}
                      FOLDER "/Foundation")

target_compile_definitions(StructuredData
    PRIVATE
        STRUCTUREDDATA_EXPORTS
    INTERFACE
        STRUCTUREDDATA_IMPORTS)

target_link_libraries(StructuredData PRIVATE StructuredData_Objects
                                             Logging
                                             CommonUtils
                                             ${Boost_FILESYSTEM_LIBRARY}
                                             ${Boost_THREAD_LIBRARY}
                                             ${Boost_SYSTEM_LIBRARY}
                                             ${CMAKE_DL_LIBS}
                                             Threads::Threads)

install(TARGETS StructuredData
        LIBRARY DESTINATION ${DPL_BIN_ROOT} COMPONENT openipc
        RUNTIME DESTINATION ${DPL_BIN_ROOT} COMPONENT openipc)

INSTALL_PDB(StructuredData)
