# HG changeset patch # User vnorilo # Date 1568196222 -10800 # Wed Sep 11 13:03:42 2019 +0300 # Node ID eeaaba1fc85323f7d99f5d436630c9f424d89d6a # Parent 5d590e9b712ddf8d0c727ac82c2e48c266104c0e # Parent 2c12e298b62739263e75530f2f0fbe6e7a4c0da1 merge diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,26 +47,21 @@ find_package(PythonInterp 2.7 REQUIRED) -if (NOT COUCHBOT_DATABASE) +set(KRONOS_REPOSITORY "https://hg.sr.ht/~vnorilo/kronos" CACHE STRING "Master repostiory for Kronos") +set(KRONOS_INTEGRATION_SERVER "" CACHE STRING "Optional CouchDB Database for continuous integration") + +if (KRONOS_INTEGRATION_SERVER STREQUAL "") message(STATUS "CouchBot credentials not entered. Configuring a simple SuperBuild") externalproject_add(kronos - HG_REPOSITORY https://hg.sr.ht/~vnorilo/kronos + HG_REPOSITORY ${KRONOS_REPOSITORY} CMAKE_ARGS ${KRONOS_CMAKE_ARGS} LIST_SEPARATOR :: DEPENDS ${KRONOS_BUILD_DEPS}) else() - message(STATUS "CouchBot in builder mode") + set(KRONOS_INTEGRATION_USER "" CACHE STRING "CouchDB username") + set(KRONOS_INTEGRATION_PASSWORD "" CACHE STRING "CouchDB password") - # check database - file(DOWNLOAD ${COUCHBOT_DATABASE} $ENV{TMP}/db.log - STATUS DB_HTTP_ERROR - TIMEOUT 20) - - list(GET DB_HTTP_ERROR 0 DB_ERROR_CODE) - - if(NOT ${DB_ERROR_CODE} EQUAL 0) - message(FATAL_ERROR "${COUCHBOT_DATABASE}: ${DB_HTTP_ERROR}") - endif() + message(STATUS "CouchBot credentials entered; starting BuildBot mode") set(COUCHBOT_CONFIG_FILE ${CMAKE_BINARY_DIR}/couchbot.json) @@ -82,10 +77,10 @@ set(COUCHBOT_CMAKE_ARGS "[\"${COUCHBOT_CMAKE_ARGS}\"]") file(WRITE ${CMAKE_BINARY_DIR}/config-template.json.in [=[{ - "remote": "https://hg.sr.ht/~vnorilo/kronos", - "database": "${COUCHBOT_DATABASE}", - "user": "${COUCHBOT_USER}", - "passwd": "${COUCHBOT_PASSWORD}", + "database": "${KRONOS_INTEGRATION_SERVER}", + "remote": "${KRONOS_REPOSITORY}", + "user": "${KRONOS_INTEGRATION_USER}", + "passwd": "${KRONOS_INTEGRATION_PASSWORD}", "cmake_args": ${COUCHBOT_CMAKE_ARGS}, "self_update": "${BUILD_PREFIX}/Source/couchbot", "artifacts": ["*.msi", "*.pkg", "*.deb", "test_run.json"] @@ -97,11 +92,12 @@ HG_REPOSITORY https://hg.sr.ht/~vnorilo/couchbot BUILD_COMMAND "" INSTALL_COMMAND "" CONFIGURE_COMMAND "") + file(WRITE ${CMAKE_BINARY_DIR}/couchbot.sh + "echo Launching Couchbot\n${PYTHON_EXECUTABLE} \"${BUILD_PREFIX}/Source/couchbot/couchbot.py\" \"${COUCHBOT_CONFIG_FILE}\"") + add_custom_target(kronos ALL - COMMAND - "${PYTHON_EXECUTABLE}" - "${BUILD_PREFIX}/Source/couchbot/couchbot.py" - "${COUCHBOT_CONFIG_FILE}" + COMMAND ${CMAKE_BINARY_DIR}/couchbot.sh + COMMENT "Running CouchBot" DEPENDS ${KRONOS_BUILD_DEPS} couchbot WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} VERBATIM)