-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
73 lines (63 loc) · 2.14 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
cmake_minimum_required(VERSION 3.5.1)
project (ci)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_BUILD_TYPE RELEASE)
#set(CMAKE_BUILD_TYPE DEBUG)
# General options
include_directories(include)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
# Include drat-trim as a library
add_library(drat-trim STATIC third-party/drat-trim/drat-trim.c)
# Build library for the main executable
add_library(lib_drat2er STATIC
src/formula.cc
src/formula_parser.cc
src/clause.cc
src/watch.cc
src/rat_clause.cc
src/rup_clause.cc
src/deletion.cc
src/instruction_serialization.cc
src/lrat_parser.cc
src/proof_transformer.cc
src/rat_eliminator.cc
src/proof_reverser.cc
src/unused_clause_eliminator.cc
src/proof_stat_collector.cc
src/rup_to_resolution_transformer.cc
src/proof_step_renamer.cc
src/file_helper.cc
src/forward_file_reader.cc
src/backward_file_reader.cc
src/drat_trim_interface.cc
src/progress_bar.cc
)
target_link_libraries(lib_drat2er drat-trim)
# Include the CLI11 command line parsing library
set(CLI11_INCLUDE_DIR third-party/cli11)
add_library(cli11 INTERFACE)
target_include_directories(cli11 INTERFACE ${CLI11_INCLUDE_DIR})
# Build the executable for the main program
add_executable(drat2er src/main.cc)
target_link_libraries(drat2er lib_drat2er cli11)
# Build the executable for the unit tests
set(CATCH_INCLUDE_DIR third-party/catch2)
add_library(catch INTERFACE)
target_include_directories(catch INTERFACE ${CATCH_INCLUDE_DIR})
set(TEST_DIRECTORY test)
set(TEST_SOURCES ${TEST_DIRECTORY}/tests_main.cc
${TEST_DIRECTORY}/test_clause.cc
${TEST_DIRECTORY}/test_formula.cc
${TEST_DIRECTORY}/test_lrat_parser.cc
${TEST_DIRECTORY}/test_rup_clause.cc
${TEST_DIRECTORY}/test_rat_clause.cc
${TEST_DIRECTORY}/test_rat_eliminator.cc
${TEST_DIRECTORY}/test_instruction_serialization.cc)
add_executable(unit_tests ${TEST_SOURCES})
target_link_libraries(unit_tests catch lib_drat2er)
# Enable Unit testing
enable_testing()
add_test(NAME UnitTests COMMAND unit_tests)