# Autogenerated file, run tools/build/setup_cmake.py to regenerate

message(STATUS "Setting up module " kmeans)

FILE(GLOB gensources
     "${PROJECT_BINARY_DIR}/src/kmeans/*.cpp")

FILE(GLOB genheaders
     "${PROJECT_BINARY_DIR}/include/IMP/kmeans/*.h")

include_directories(${BOOST.FILESYSTEM_INCLUDE_PATH}
        ${BOOST.PROGRAMOPTIONS_INCLUDE_PATH}
        ${BOOST.RANDOM_INCLUDE_PATH}
        ${BOOST.SYSTEM_INCLUDE_PATH}
        ${GPERFTOOLS_INCLUDE_PATH}
        ${LOG4CXX_INCLUDE_PATH}
        ${TCMALLOC_HEAPCHECKER_INCLUDE_PATH}
        ${TCMALLOC_HEAPPROFILER_INCLUDE_PATH})
link_directories(${BOOST.FILESYSTEM_LINK_PATH}
        ${BOOST.PROGRAMOPTIONS_LINK_PATH}
        ${BOOST.RANDOM_LINK_PATH}
        ${BOOST.SYSTEM_LINK_PATH}
        ${GPERFTOOLS_LINK_PATH}
        ${LOG4CXX_LINK_PATH}
        ${TCMALLOC_HEAPCHECKER_LINK_PATH}
        ${TCMALLOC_HEAPPROFILER_LINK_PATH})
add_definitions("-DIMPKMEANS_EXPORTS")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KMEANS_CXX_FLAGS}")

set(headers ${PROJECT_SOURCE_DIR}/modules/kmeans/include/KMeans.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KCtree.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KCutil.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KM_ANN.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KMcenters.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KMdata.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KMeans.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KMfilterCenters.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KMlocal.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KMrand.h
${PROJECT_SOURCE_DIR}/modules/kmeans/include/internal/KMterm.h)

if(DEFINED IMP_KMEANS_LIBRARY_EXTRA_SOURCES)
  set_source_files_properties(${IMP_KMEANS_LIBRARY_EXTRA_SOURCES}
                              PROPERTIES GENERATED 1)
endif()

if(DEFINED IMP_kmeans_IS_PER_CPP)
  set(sources ${PROJECT_SOURCE_DIR}/modules/kmeans/src/KMeans.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KCtree.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KCutil.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KM_ANN.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KMcenters.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KMdata.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KMeans.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KMfilterCenters.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KMlocal.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KMrand.cpp
${PROJECT_SOURCE_DIR}/modules/kmeans/src/internal/KMterm.cpp)

  add_library(imp_kmeans ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${sources}
              ${IMP_KMEANS_LIBRARY_EXTRA_SOURCES}
              )
else()

  add_library(imp_kmeans ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${PROJECT_BINARY_DIR}/src/kmeans_all.cpp
              ${IMP_KMEANS_LIBRARY_EXTRA_SOURCES}
              )

endif()
INSTALL(TARGETS imp_kmeans DESTINATION ${CMAKE_INSTALL_LIBDIR})

if(DEFINED IMP_KMEANS_LIBRARY_EXTRA_DEPENDENCIES)
  add_dependencies(imp_kmeans ${IMP_KMEANS_LIBRARY_EXTRA_DEPENDENCIES})
endif()

target_link_libraries(imp_kmeans
                      ${IMP_BASE_LIBRARY}
                      ${BOOST.FILESYSTEM_LIBRARIES}
${BOOST.PROGRAMOPTIONS_LIBRARIES}
${BOOST.SYSTEM_LIBRARIES}
${GPERFTOOLS_LIBRARIES}
${TCMALLOC_HEAPPROFILER_LIBRARIES}
${TCMALLOC_HEAPCHECKER_LIBRARIES}
${LOG4CXX_LIBRARIES}
${BOOST.RANDOM_LIBRARIES}
  )

set(IMP_KMEANS_LIBRARY imp_kmeans CACHE INTERNAL "" FORCE)
