# Initialize ######################################################################################

Include                             ( cotire        OPTIONAL RESULT_VARIABLE HAS_COTIRE )
Include                             ( pedantic      OPTIONAL RESULT_VARIABLE HAS_PEDANTIC )
Include                             ( strip_symbols OPTIONAL RESULT_VARIABLE HAS_STRIP_SYMBOLS )

# Interface Library ###############################################################################

Set                                 ( LIBINTERFACE_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../include )
Add_Library                         ( libinterface INTERFACE )
Target_Include_Directories          ( libinterface
                                      INTERFACE
                                        $<BUILD_INTERFACE:${LIBINTERFACE_INCLUDE_DIR}>
                                        $<INSTALL_INTERFACE:${LIBINTERFACE_INSTALL_DIR_INCLUDE}> )

# Install #########################################################################################

Set                                 ( LIBINTERFACE_HAS_EXPORT False PARENT_SCOPE )

# Header
If                                  ( LIBINTERFACE_INSTALL_HEADER )
    Set                                 ( LIBINTERFACE_HAS_EXPORT True PARENT_SCOPE )
    Install                             ( FILES ${LIBINTERFACE_INCLUDE_DIR}/libinterface.h
                                          DESTINATION ${LIBINTERFACE_INSTALL_DIR_INCLUDE} )
    Install                             ( DIRECTORY ${LIBINTERFACE_INCLUDE_DIR}/libinterface
                                          DESTINATION ${LIBINTERFACE_INSTALL_DIR_INCLUDE} )
    Install                             ( TARGETS libinterface
                                          EXPORT libinterface
                                          DESTINATION ${LIBINTERFACE_INSTALL_DIR_INCLUDE} )
EndIf                               ( )
