The tcmalloc build currently fails on musl (see e.g. [1]). Avida's build system doesn't make it easy to disable tcmalloc, so this patch is needed. [1] https://github.com/gperftools/gperftools/issues/693 diff --git a/CMakeLists.txt b/CMakeLists.txt index 30008d679..f1598704a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ SET(LIBRARY_OUTPUT_PATH ADD_SUBDIRECTORY(libs/apto) -IF(NOT WIN32) +IF(NOT WIN32 AND AVD_ENABLE_TCMALLOC) ADD_SUBDIRECTORY(libs/tcmalloc-1.4) ENDIF(NOT WIN32) ADD_SUBDIRECTORY(avida-core) diff --git a/avida-core/CMakeLists.txt b/avida-core/CMakeLists.txt index d9d063ef6..053956a91 100644 --- a/avida-core/CMakeLists.txt +++ b/avida-core/CMakeLists.txt @@ -388,36 +388,6 @@ ENDIF(WIN32) #ENDIF(WIN32) -# Locate TCMalloc -IF(NOT TARGET tcmalloc-1.4) - FIND_LIBRARY(TCMALLOC_LIBRARY tcmalloc-1.4 PATHS ${PROJECT_SOURCE_DIR}/../cbuild/lib ${PROJECT_SOURCE_DIR}/../libs/tcmalloc-1.4/cbuild/lib) - ADD_LIBRARY(tcmalloc-1.4 STATIC IMPORTED) - SET_PROPERTY(TARGET tcmalloc-1.4 PROPERTY IMPORTED_LOCATION "${TCMALLOC_LIBRARY}") -ENDIF(NOT TARGET tcmalloc-1.4) - - -# Handle the TCMalloc library -# ------------------------------------------------------------------------------ -IF(UNIX) - IF (CMAKE_CXX_COMPILER MATCHES ".*icpc.*") - SET(AVD_ENABLE_TCMALLOC FALSE) - ELSE (CMAKE_CXX_COMPILER MATCHES ".*icpc.*") - SET(AVD_ENABLE_TCMALLOC TRUE) - ENDIF (CMAKE_CXX_COMPILER MATCHES ".*icpc.*") -ELSE(UNIX) - SET(AVD_ENABLE_TCMALLOC FALSE) -ENDIF(UNIX) -IF(AVD_ENABLE_TCMALLOC) - # Locate TCMalloc - IF(NOT TARGET tcmalloc-1.4) - FIND_LIBRARY(TCMALLOC_LIBRARY tcmalloc-1.4 PATHS ${PROJECT_SOURCE_DIR}/../cbuild/lib ${PROJECT_SOURCE_DIR}/../libs/tcmalloc/cbuild/lib) - ADD_LIBRARY(tcmalloc-1.4 STATIC IMPORTED) - SET_PROPERTY(TARGET tcmalloc-1.4 PROPERTY IMPORTED_LOCATION "${TCMALLOC_LIBRARY}") - ENDIF(NOT TARGET tcmalloc-1.4) -ENDIF(AVD_ENABLE_TCMALLOC) - - - # Target Processing # - For each enabled target, process its build instructions. Must occur after # - avida-core has been defined.