cmake_minimum_required(VERSION 3.20)
project(null_field_regression LANGUAGES CXX)
get_filename_component(ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../../../.." ABSOLUTE)
set(GTEST "${ROOT}/work/issue-02/validation/msvc-baseline")
add_executable(null_review new_table_field_filter_test.cc)
target_compile_features(null_review PRIVATE cxx_std_11)
target_compile_definitions(null_review PRIVATE TSFILE_STATIC NOMINMAX ENABLE_MEM_STAT ENABLE_THREADS)
target_compile_options(null_review PRIVATE /utf-8 /EHsc /bigobj /W0)
target_include_directories(null_review PRIVATE "${ROOT}/work/issue-03/repro-repo/cpp/src" "${GTEST}/googletest-extract/googletest-release-1.12.1/googletest/include")
target_link_libraries(null_review PRIVATE "${ROOT}/work/issue-03/standalone-validation/library/lib/Release/tsfile.lib" "${GTEST}/lib/Release/gtest.lib" "${GTEST}/lib/Release/gtest_main.lib" psapi)

foreach(variant before after)
 add_executable(null_compat_${variant} null_compat.cc)
 target_compile_features(null_compat_${variant} PRIVATE cxx_std_11)
 target_compile_definitions(null_compat_${variant} PRIVATE TSFILE_STATIC NOMINMAX ENABLE_MEM_STAT ENABLE_THREADS)
 target_compile_options(null_compat_${variant} PRIVATE /utf-8 /EHsc /bigobj /W0)
 target_include_directories(null_compat_${variant} PRIVATE "${ROOT}/work/issue-03/repro-repo/cpp/src")
 if(variant STREQUAL "before")
  set(LIB "${CMAKE_CURRENT_SOURCE_DIR}/prior-pr-head-tsfile.lib")
 else()
  set(LIB "${ROOT}/work/issue-03/standalone-validation/library/lib/Release/tsfile.lib")
 endif()
 target_link_libraries(null_compat_${variant} PRIVATE "${LIB}" psapi)
endforeach()

foreach(variant before after)
 add_executable(field_query_${variant} field_query_benchmark.cc)
 target_compile_features(field_query_${variant} PRIVATE cxx_std_11)
 target_compile_definitions(field_query_${variant} PRIVATE TSFILE_STATIC NOMINMAX ENABLE_MEM_STAT ENABLE_THREADS)
 target_compile_options(field_query_${variant} PRIVATE /utf-8 /EHsc /bigobj /W0)
 target_include_directories(field_query_${variant} PRIVATE "${ROOT}/work/issue-03/repro-repo/cpp/src")
 if(variant STREQUAL "before")
  set(LIB "${CMAKE_CURRENT_SOURCE_DIR}/prior-pr-head-tsfile.lib")
 else()
  set(LIB "${ROOT}/work/issue-03/standalone-validation/library/lib/Release/tsfile.lib")
 endif()
 target_link_libraries(field_query_${variant} PRIVATE "${LIB}" psapi)
endforeach()
