# 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                       ( )
