Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=g++-9 -DMOCKTURTLE_TEST=ON -DENABLE_COVERAGE=ON ..
cmake -DCMAKE_CXX_COMPILER=g++-9 -DMOCKTURTLE_BUILD_TESTS=ON -DMOCKTURTLE_ENABLE_COVERAGE=ON ..
make run_tests
- name: Run tests
run: |
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=g++-9 -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=g++-9 -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests
run: |
Expand All @@ -49,7 +49,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=g++-10 -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=g++-10 -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests
run: |
Expand All @@ -72,7 +72,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DMOCKTURTLE_CXX_STANDARD=20 -DCMAKE_CXX_COMPILER=g++-10 -DMOCKTURTLE_TEST=ON ..
cmake -DMOCKTURTLE_CXX_STANDARD=20 -DCMAKE_CXX_COMPILER=g++-10 -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests
run: |
Expand All @@ -95,7 +95,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=g++-12 -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=g++-12 -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests
run: |
Expand All @@ -118,7 +118,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=clang++-11 -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=clang++-11 -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests
run: |
Expand All @@ -141,7 +141,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=clang++-13 -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=clang++-13 -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests
run: |
Expand All @@ -164,7 +164,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=clang++-13 -DENABLE_ASAN=ON -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=clang++-13 -DMOCKTURTLE_ENABLE_ASAN=ON -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests with ASAN
run: |
Expand All @@ -187,5 +187,5 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=g++-9 -DMOCKTURTLE_EXAMPLES=ON -DMOCKTURTLE_EXPERIMENTS=ON -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=g++-9 -DMOCKTURTLE_BUILD_EXAMPLES=ON -DMOCKTURTLE_BUILD_EXPERIMENTS=ON -DMOCKTURTLE_BUILD_TESTS=ON ..
make
6 changes: 3 additions & 3 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=$(which g++-12) -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=$(which g++-12) -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests
run: |
Expand All @@ -39,7 +39,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests
run: |
Expand All @@ -57,7 +57,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=$(brew --prefix llvm@15)/bin/clang++ -DMOCKTURTLE_TEST=ON ..
cmake -DCMAKE_CXX_COMPILER=$(brew --prefix llvm@15)/bin/clang++ -DMOCKTURTLE_BUILD_TESTS=ON ..
make run_tests
- name: Run tests
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Create build directory
run: cmake -E make_directory ${{github.workspace}}\build
- name: Run CMake
run: cmake ${{github.workspace}} -G "${{matrix.env}}" -A x64 -T ${{matrix.toolset}} -DMOCKTURTLE_TEST=ON
run: cmake ${{github.workspace}} -G "${{matrix.env}}" -A x64 -T ${{matrix.toolset}} -DMOCKTURTLE_BUILD_TESTS=ON
working-directory: ${{github.workspace}}\build
- name: Build mockturtle
run: cmake --build . -j2
Expand Down
35 changes: 18 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ set(CMAKE_CXX_STANDARD ${MOCKTURTLE_CXX_STANDARD})
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Options
option(MOCKTURTLE_EXAMPLES "Build examples" ON)
option(MOCKTURTLE_TEST "Build tests" OFF)
option(MOCKTURTLE_EXPERIMENTS "Build experiments" OFF)
option(MOCKTURTLE_BUILD_EXAMPLES "Build mockturtle examples" ON)
option(MOCKTURTLE_BUILD_TESTS "Build mockturtle tests" OFF)
option(MOCKTURTLE_BUILD_EXPERIMENTS "Build mockturtle experiments" OFF)
option(BILL_Z3 "Enable Z3 interface for bill library" OFF)
option(ENABLE_COVERAGE "Enable coverage reporting for gcc/clang" OFF)
option(ENABLE_MATPLOTLIB "Enable matplotlib library in experiments" OFF)
option(ENABLE_NAUTY "Enable the Nauty library for percy" OFF)
option(ENABLE_ABC "Enable linking ABC as a static library" OFF)
option(ENABLE_ASAN, "Enable ASAN sanitizer" OFF)
option(MOCKTURTLE_ENABLE_COVERAGE "Enable coverage reporting for gcc/clang" OFF)
option(MOCKTURTLE_ENABLE_MATPLOTLIB "Enable matplotlib library in experiments" OFF)
option(MOCKTURTLE_ENABLE_NAUTY "Enable the Nauty library for percy" OFF)
option(MOCKTURTLE_ENABLE_ABC "Enable linking ABC as a static library" OFF)
option(MOCKTURTLE_ENABLE_ASAN "Enable AddressSanitizer for mockturtle" OFF)

if(UNIX)
# show quite some warnings (but remove some intentionally)
Expand All @@ -26,10 +26,11 @@ if(UNIX)
add_compile_options(-Wno-${WARNING})
endif()
endforeach()
if (ENABLE_COVERAGE)
if (MOCKTURTLE_ENABLE_COVERAGE)
add_compile_options(-O0 -g --coverage -fprofile-arcs -ftest-coverage)
add_link_options(--coverage)
endif()
if (ENABLE_ASAN)
if (MOCKTURTLE_ENABLE_ASAN)
add_compile_options(-fsanitize=address -fno-omit-frame-pointer -DADDRESS_SANITIZER)
add_link_options(-fsanitize=address)
endif()
Expand All @@ -38,30 +39,30 @@ if(MSVC)
add_compile_options(/EHsc /bigobj)
endif()
if (WIN32)
set(ENABLE_NAUTY OFF)
set(MOCKTURTLE_ENABLE_NAUTY OFF)
endif()

add_subdirectory(include)
add_subdirectory(lib)

if(ENABLE_NAUTY)
add_definitions(-DENABLE_NAUTY)
if(MOCKTURTLE_ENABLE_NAUTY)
add_definitions(-DMOCKTURTLE_ENABLE_NAUTY)
endif()

if (ENABLE_ABC)
if (MOCKTURTLE_ENABLE_ABC)
if (NOT EXISTS ${PROJECT_SOURCE_DIR}/lib/abc_static/libabc.a)
message(FATAL_ERROR "Cannot find libabc.a in lib/abc_static/. For more info, see https://github.com/lsils/abc-staticlib")
endif()
endif()

if(MOCKTURTLE_EXAMPLES)
if(MOCKTURTLE_BUILD_EXAMPLES)
add_subdirectory(examples)
endif()

if(MOCKTURTLE_TEST)
if(MOCKTURTLE_BUILD_TESTS)
add_subdirectory(test)
endif()

if(MOCKTURTLE_EXPERIMENTS)
if(MOCKTURTLE_BUILD_EXPERIMENTS)
add_subdirectory(experiments)
endif()
Loading