CMakeLists.txt raw

   1  # Copyright (c) 2023-present The Limenka developers
   2  # Distributed under the MIT software license, see the accompanying
   3  # file COPYING or https://opensource.org/license/mit/.
   4  
   5  function(create_test_config)
   6    set(abs_top_srcdir ${PROJECT_SOURCE_DIR})
   7    set(abs_top_builddir ${PROJECT_BINARY_DIR})
   8    set(EXEEXT ${CMAKE_EXECUTABLE_SUFFIX})
   9  
  10    macro(set_configure_variable var conf_var)
  11      if(${var})
  12        set(${conf_var}_TRUE "")
  13      else()
  14        set(${conf_var}_TRUE "#")
  15      endif()
  16    endmacro()
  17  
  18    set_configure_variable(ENABLE_WALLET ENABLE_WALLET)
  19    set_configure_variable(WITH_SQLITE USE_SQLITE)
  20    set_configure_variable(WITH_BDB USE_BDB)
  21    set_configure_variable(BUILD_CLI BUILD_LIMENKA_CLI)
  22    set_configure_variable(BUILD_UTIL BUILD_LIMENKA_UTIL)
  23    set_configure_variable(BUILD_WALLET_TOOL BUILD_LIMENKA_WALLET)
  24    set_configure_variable(BUILD_DAEMON BUILD_LIMENKAD)
  25    set_configure_variable(BUILD_FUZZ_BINARY ENABLE_FUZZ_BINARY)
  26    set_configure_variable(WITH_ZMQ ENABLE_ZMQ)
  27    set_configure_variable(ENABLE_EXTERNAL_SIGNER ENABLE_EXTERNAL_SIGNER)
  28    set_configure_variable(WITH_USDT ENABLE_USDT_TRACEPOINTS)
  29  
  30    configure_file(config.ini.in config.ini USE_SOURCE_PERMISSIONS @ONLY)
  31  endfunction()
  32  
  33  create_test_config()
  34  
  35  file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/functional)
  36  file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/fuzz)
  37  file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/util)
  38  
  39  file(GLOB_RECURSE functional_tests RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} functional/*)
  40  foreach(script ${functional_tests} fuzz/test_runner.py util/rpcauth-test.py util/test_runner.py)
  41    if(CMAKE_HOST_WIN32)
  42      set(symlink)
  43    else()
  44      set(symlink SYMBOLIC)
  45    endif()
  46    file(CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/${script} ${CMAKE_CURRENT_BINARY_DIR}/${script} COPY_ON_ERROR ${symlink})
  47  endforeach()
  48  unset(functional_tests)
  49