From 0ab6b165dbd0b2b38d8e33ac87ddcb534b96c388 Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Thu, 24 Sep 2026 15:44:32 +0200 Subject: [PATCH] Build SMPGC only with COLPACK_ENABLE_OPENMP SMPGC includes unconditionally, so COLPACK_ENABLE_OPENMP=OFF failed to compile wherever the compiler has no OpenMP headers, such as Apple clang without Homebrew's libomp. The rest of ColPack only uses OpenMP under _OPENMP. Co-Authored-By: Claude Opus 5.5 --- CMakeLists.txt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 91212f3..14491f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,7 +111,6 @@ file( ${COLPACK_ROOT_DIR}/src/BipartiteGraphPartialColoring/*.h ${COLPACK_ROOT_DIR}/src/GeneralGraphColoring/*.h ${COLPACK_ROOT_DIR}/src/Recovery/*.h - ${COLPACK_ROOT_DIR}/src/SMPGC/*.h #${COLPACK_ROOT_DIR}/src/PartialD2SMPGC/*.h ) file( @@ -121,7 +120,6 @@ file( ${COLPACK_ROOT_DIR}/src/BipartiteGraphPartialColoring/*.cpp ${COLPACK_ROOT_DIR}/src/GeneralGraphColoring/*.cpp ${COLPACK_ROOT_DIR}/src/Recovery/*.cpp - ${COLPACK_ROOT_DIR}/src/SMPGC/*.cpp #${COLPACK_ROOT_DIR}/src/PartialD2SMPGC/*.cpp ) @@ -132,10 +130,19 @@ set(COLPACK_SOURCE_INCLUDE_DIRS "${COLPACK_ROOT_DIR}/src/BipartiteGraphPartialColoring" "${COLPACK_ROOT_DIR}/src/BipartiteGraphBicoloring" "${COLPACK_ROOT_DIR}/src/GeneralGraphColoring" - "${COLPACK_ROOT_DIR}/src/SMPGC" "${COLPACK_ROOT_DIR}/src/Recovery" ) +# SMPGC is the OpenMP-parallel coloring and includes unconditionally. +# The rest of ColPack only uses OpenMP when _OPENMP is defined. +if(COLPACK_ENABLE_OPENMP) + file(GLOB SMPGC_HEADERS ${COLPACK_ROOT_DIR}/src/SMPGC/*.h) + file(GLOB SMPGC_SOURCES ${COLPACK_ROOT_DIR}/src/SMPGC/*.cpp) + list(APPEND HEADERS ${SMPGC_HEADERS}) + list(APPEND SOURCES ${SMPGC_SOURCES}) + list(APPEND COLPACK_SOURCE_INCLUDE_DIRS "${COLPACK_ROOT_DIR}/src/SMPGC") +endif() + # Static library. # --------------- add_library(ColPack_static STATIC ${HEADERS} ${SOURCES})