CMakeLists.txt raw

   1  # Copyright (c) 2023-present The Bitcoin Core developers
   2  # Distributed under the MIT software license, see the accompanying
   3  # file COPYING or https://opensource.org/license/mit/.
   4  
   5  add_library(univalue STATIC EXCLUDE_FROM_ALL
   6    lib/univalue.cpp
   7    lib/univalue_get.cpp
   8    lib/univalue_read.cpp
   9    lib/univalue_write.cpp
  10  )
  11  target_include_directories(univalue
  12    PUBLIC
  13      $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
  14  )
  15  target_link_libraries(univalue PRIVATE core_interface)
  16  
  17  if(BUILD_TESTS)
  18    add_executable(unitester
  19      test/unitester.cpp
  20    )
  21    include(TargetDataSources)
  22    target_json_data_sources(unitester
  23      test/fail1.json
  24      test/fail10.json
  25      test/fail11.json
  26      test/fail12.json
  27      test/fail13.json
  28      test/fail14.json
  29      test/fail15.json
  30      test/fail16.json
  31      test/fail17.json
  32      test/fail18.json
  33      test/fail19.json
  34      test/fail2.json
  35      test/fail20.json
  36      test/fail21.json
  37      test/fail22.json
  38      test/fail23.json
  39      test/fail24.json
  40      test/fail25.json
  41      test/fail26.json
  42      test/fail27.json
  43      test/fail28.json
  44      test/fail29.json
  45      test/fail3.json
  46      test/fail30.json
  47      test/fail31.json
  48      test/fail32.json
  49      test/fail33.json
  50      test/fail34.json
  51      test/fail35.json
  52      test/fail36.json
  53      test/fail37.json
  54      test/fail38.json
  55      test/fail39.json
  56      test/fail4.json
  57      test/fail40.json
  58      test/fail41.json
  59      test/fail42.json
  60      test/fail44.json
  61      test/fail45.json
  62      test/fail5.json
  63      test/fail6.json
  64      test/fail7.json
  65      test/fail8.json
  66      test/fail9.json
  67      test/pass1.json
  68      test/pass2.json
  69      test/pass3.json
  70      test/pass4.json
  71      test/round1.json
  72      test/round2.json
  73      test/round3.json
  74      test/round4.json
  75      test/round5.json
  76      test/round6.json
  77      test/round7.json
  78    )
  79    target_link_libraries(unitester
  80      PRIVATE
  81        core_interface
  82        univalue
  83    )
  84    add_test(NAME univalue_test
  85      COMMAND unitester
  86    )
  87  
  88    add_executable(object test/object.cpp)
  89    target_link_libraries(object
  90      PRIVATE
  91        core_interface
  92        univalue
  93    )
  94    add_test(NAME univalue_object_test
  95      COMMAND object
  96    )
  97  endif()
  98