Skip to content
Snippets Groups Projects
Web.cmake 1.47 KiB
Newer Older
  • Learn to ignore specific revisions
  •     return()
    endif()
    
    if(YARN)
        set(PACKAGE_MANAGER ${YARN})
    else()
        set(PACKAGE_MANAGER "${NPM} install")
    endif()
    
    add_custom_target(web-install
        COMMAND ${PACKAGE_MANAGER}
    
        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/web
        BYPRODUCTS ${PROJECT_SOURCE_DIR}/web/node_modules
    
    if(PIP AND PYTHON_EXECUTABLE AND
    
        (EXISTS ${PROJECT_SOURCE_DIR}/web/import/secret.py OR
    
         DEFINED ENV{CONTENTFUL_ACCESS_TOKEN}))
    
        add_custom_target(web-import
            COMMAND ${PIP} install -r ../requirements.txt
            COMMAND ${PYTHON_EXECUTABLE} import.py
    
            WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/web/import
    
            DEPENDS web-install
        )
    
        set(IMPORT_TARGET web-import)
    else()
        message(STATUS "[web] Skipping import from Contentful!")
    endif()
    
    if(PANDOC_CITEPROC)
        add_custom_target(web-bib-convert
            COMMAND ${PANDOC_CITEPROC} --bib2json ${PROJECT_SOURCE_DIR}/Documentation/bibliography.bib > ${PROJECT_SOURCE_DIR}/web/data/bibliography.json
        )
        set(BIB_CONVERT_TARGET web-bib-convert)
    endif()
    
    
    if(DEFINED OGS_WEB_BASE_URL)
        set(HUGO_ARGS --baseURL ${OGS_WEB_BASE_URL})
    endif()
    
    
    if(DEFINED ENV{JENKINS_URL})
        set(HUGO_ARGS ${HUGO_ARGS} --canonifyURLs)
    endif()
    
    
    add_custom_target(web
    
        COMMAND ${NPM} run build:release -- ${HUGO_ARGS}
    
        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/web
    
        DEPENDS web-install ${IMPORT_TARGET} ${BIB_CONVERT_TARGET}
    
    
    add_custom_target(web-clean
        COMMAND ${NPM} run clean
    
        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/web