@@ -8,14 +8,15 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
88set (CMAKE_CXX_EXTENSIONS ON )
99set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib)
1010set (CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE )
11+ set (CMAKE_COLOR_DIAGNOSTICS ON )
1112
1213
1314
1415# Make the default build type Release. If user or another
1516# project sets a different value than use that
1617if (NOT CMAKE_BUILD_TYPE )
17- message (STATUS "Setting build type to default -- Release " )
18- set (CMAKE_BUILD_TYPE "Release " CACHE
18+ message (STATUS "Setting build type to default -- Debug " )
19+ set (CMAKE_BUILD_TYPE "Debug " CACHE
1920 STRING "Choose the type of build." FORCE )
2021endif ()
2122message (STATUS "GraphZeppelin Build Type: ${CMAKE_BUILD_TYPE} " )
5152 message (STATUS "GraphZeppelin building executables" )
5253endif ()
5354
55+
5456# Get GutterTree Project
5557FetchContent_Declare (
5658 GutterTree
@@ -67,6 +69,22 @@ FetchContent_Declare(
6769 GIT_TAG main
6870)
6971
72+ FetchContent_Declare (
73+ highway
74+
75+ GIT_REPOSITORY https://github.com/google/highway.git
76+ GIT_TAG 1.2.0
77+ )
78+
79+ set (HWY_ENABLE_EXAMPLES OFF CACHE INTERNAL "Disable highway examples" )
80+ set (HWY_ENABLE_TESTS OFF CACHE INTERNAL "Disable highway tests" )
81+
82+ # Get google highway
83+ FetchContent_MakeAvailable (highway)
84+
85+ # Ensure highway target is explicitly added
86+ add_library (highway INTERFACE IMPORTED )
87+
7088if (BUILD_BENCH)
7189 # Get Google Benchmark
7290 FetchContent_Declare (
@@ -81,7 +99,7 @@ if (BUILD_BENCH)
8199endif ()
82100
83101
84- FetchContent_MakeAvailable (GutterTree StreamingUtilities )
102+ FetchContent_MakeAvailable (GutterTree StreamingUtilities)
85103
86104# AVAILABLE COMPILATION DEFINITIONS:
87105# VERIFY_SAMPLES_F Use a deterministic connected-components
@@ -103,8 +121,8 @@ add_library(GraphZeppelin
103121 src/sketch.cpp
104122 src/recovery.cpp
105123 src/util.cpp )
106- add_dependencies (GraphZeppelin GutterTree StreamingUtilities )
107- target_link_libraries (GraphZeppelin PUBLIC xxhash GutterTree StreamingUtilities )
124+ add_dependencies (GraphZeppelin GutterTree StreamingUtilities highway )
125+ target_link_libraries (GraphZeppelin PUBLIC xxhash GutterTree StreamingUtilities highway )
108126target_include_directories (GraphZeppelin PUBLIC include / )
109127target_compile_options (GraphZeppelin PUBLIC -fopenmp )
110128target_link_options (GraphZeppelin PUBLIC -fopenmp )
@@ -119,8 +137,8 @@ add_library(GraphZeppelinVerifyCC
119137 src/recovery.cpp
120138 src/util.cpp
121139 test /util/graph_verifier.cpp )
122- add_dependencies (GraphZeppelinVerifyCC GutterTree StreamingUtilities )
123- target_link_libraries (GraphZeppelinVerifyCC PUBLIC xxhash GutterTree StreamingUtilities )
140+ add_dependencies (GraphZeppelinVerifyCC GutterTree StreamingUtilities highway )
141+ target_link_libraries (GraphZeppelinVerifyCC PUBLIC xxhash GutterTree StreamingUtilities highway )
124142target_include_directories (GraphZeppelinVerifyCC PUBLIC include / include /test/ )
125143target_compile_options (GraphZeppelinVerifyCC PUBLIC -fopenmp )
126144target_link_options (GraphZeppelinVerifyCC PUBLIC -fopenmp )
0 commit comments