+# SPDX-FileCopyrightText: 2021 Jiri Vlasak <jiri.vlasak.2@cvut.cz>
+#
+# SPDX-License-Identifier: GPL-3.0-only
+
cmake_minimum_required(VERSION 2.8)
project(bcar)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/incl)
+#set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
+#set (CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
-add_library(bcar SHARED
- src/bcar.cc
-)
-set_target_properties(bcar PROPERTIES
- PUBLIC_HEADER incl/bcar.hh
-)
+add_compile_options(-Wall -Wextra -pedantic -Werror)
-add_library(pslot SHARED
- src/pslot.cc
-)
-set_target_properties(pslot PROPERTIES
- PUBLIC_HEADER incl/pslot.hh
-)
+add_library(bcar STATIC src/bcar.cc)
+target_include_directories(bcar PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/incl)
+
+add_library(pslot STATIC src/pslot.cc)
+target_include_directories(pslot PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/incl)
+target_link_libraries(pslot bcar)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/wvtest/cpp)
-ADD_DEFINITIONS(-DWVTEST_CONFIGURED)
+add_executable(compute_pslot_table src/compute_pslot_table.cc)
+target_link_libraries(compute_pslot_table pslot)
+
+add_executable(prove_parallel_slot src/prove_parallel_slot.cc)
+target_link_libraries(prove_parallel_slot pslot)
+
+add_executable(compare_to_vorobieva src/compare_to_vorobieva.cc)
+target_link_libraries(compare_to_vorobieva pslot)
+
+add_executable(compare_to_zips src/compare_to_zips.cc)
+target_link_libraries(compare_to_zips pslot)
+
+add_executable(compare_to_li src/compare_to_li.cc)
+target_link_libraries(compare_to_li pslot)
+
+if (SKIP_UT)
+ return()
+endif()
add_executable(ut
- wvtest/cpp/wvtestmain.cc
- wvtest/cpp/wvtest.cc
- ut/bcar.t.cc
- ut/pslot.t.cc
+ wvtest/cpp/wvtestmain.cc
+ wvtest/cpp/wvtest.cc
+ ut/bcar.t.cc
+ ut/pslot.t.cc
)
-target_link_libraries(ut bcar)
-target_link_libraries(ut pslot)
-
+target_compile_definitions(ut PRIVATE WVTEST_CONFIGURED)
+target_include_directories(ut PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/wvtest/cpp)
+target_link_libraries(ut bcar pslot)
add_custom_command(TARGET ut
- POST_BUILD COMMAND ./wvtestrun ../build/ut
- WORKING_DIRECTORY ../wvtest
+ POST_BUILD COMMAND ./wvtestrun ../build/ut
+ WORKING_DIRECTORY ../wvtest
)