Skip to content
Snippets Groups Projects
Forked from ogs / ogs
17146 commits behind the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Web.cmake 1.47 KiB
if(NOT NPM)
    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
)