Skip to content

Commit 07e11c2

Browse files
Make KaGen/stream_cpi_generated build optional
Skip KaGen and stream_cpi_generated when extern/KaGen is not present or STREAMCPI_BUILD_KAGEN=OFF. Enables lean builds for packaging.
1 parent d10de19 commit 07e11c2

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

CMakeLists.txt

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,13 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/extern/flatbuffers
102102
EXCLUDE_FROM_ALL)
103103
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/extern/stxxl)
104104

105-
set(KAGEN_BUILD_APPS OFF)
106-
set(KAGEN_BUILD_EXAMPLES OFF)
107-
set(KAGEN_BUILD_TESTS OFF)
108-
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/extern/KaGen)
105+
option(STREAMCPI_BUILD_KAGEN "Build stream_cpi_generated with KaGen support" ON)
106+
if(STREAMCPI_BUILD_KAGEN AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/extern/KaGen/CMakeLists.txt)
107+
set(KAGEN_BUILD_APPS OFF)
108+
set(KAGEN_BUILD_EXAMPLES OFF)
109+
set(KAGEN_BUILD_TESTS OFF)
110+
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/extern/KaGen)
111+
endif()
109112

110113
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${STXXL_CXX_FLAGS} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc")
111114

@@ -151,17 +154,19 @@ target_link_libraries(stream_cpi
151154
${OpenMP_CXX_LIBRARIES})
152155
install(TARGETS stream_cpi DESTINATION bin)
153156

154-
add_executable(stream_cpi_generated app/generatedgraphpartition.cpp)
155-
target_compile_definitions(stream_cpi_generated PRIVATE "-DMODE_FREIGHT_GRAPHS")
156-
target_link_libraries(stream_cpi_generated
157-
PRIVATE cpi
158-
graphio
159-
libkaffpa
160-
argtab
161-
libstreampartitioning
162-
flatbuffers
163-
# Linking KaGen increases memory consumption by 3k bytes
164-
PUBLIC KaGen::KaGen
165-
${STXXL_LIBRARIES}
166-
${OpenMP_CXX_LIBRARIES})
167-
install(TARGETS stream_cpi_generated DESTINATION bin)
157+
if(STREAMCPI_BUILD_KAGEN AND TARGET KaGen::KaGen)
158+
add_executable(stream_cpi_generated app/generatedgraphpartition.cpp)
159+
target_compile_definitions(stream_cpi_generated PRIVATE "-DMODE_FREIGHT_GRAPHS")
160+
target_link_libraries(stream_cpi_generated
161+
PRIVATE cpi
162+
graphio
163+
libkaffpa
164+
argtab
165+
libstreampartitioning
166+
flatbuffers
167+
# Linking KaGen increases memory consumption by 3k bytes
168+
PUBLIC KaGen::KaGen
169+
${STXXL_LIBRARIES}
170+
${OpenMP_CXX_LIBRARIES})
171+
install(TARGETS stream_cpi_generated DESTINATION bin)
172+
endif()

0 commit comments

Comments
 (0)