set(MODULE_NAME compiler)

list(APPEND TARGET_HEADERS 
    Lexer.h
    template_engine/TemplatingEngine.h
    template_engine/TemplateFile.h
    template_engine/TemplateNode.h
    template_engine/TemplateElements.h
    )

list(APPEND TARGET_SOURCES 
    Lexer.cpp
    template_engine/TemplatingEngine.cpp
    template_engine/TemplateFile.cpp
    template_engine/TemplateNode.cpp
    template_engine/TemplateElements.cpp
    )

add_library(${MODULE_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS})

target_include_directories(${MODULE_NAME} PUBLIC
                          ${CMAKE_CURRENT_SOURCE_DIR}
                          ${CMAKE_CURRENT_SOURCE_DIR}/template_engine
                          )
target_link_libraries( ${MODULE_NAME} PUBLIC core)

set_target_properties( ${MODULE_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON ) 
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER src)
