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

FILE(GLOB gensources
     "${CMAKE_BINARY_DIR}/src/algebra/*.cpp")

FILE(GLOB genheaders
     "${CMAKE_BINARY_DIR}/include/IMP/algebra/*.h")

include_directories(${ANN_INCLUDE_PATH}
        ${BOOST.FILESYSTEM_INCLUDE_PATH}
        ${BOOST.PROGRAMOPTIONS_INCLUDE_PATH}
        ${BOOST.RANDOM_INCLUDE_PATH}
        ${BOOST.SYSTEM_INCLUDE_PATH}
        ${CGAL_INCLUDE_PATH}
        ${GPERFTOOLS_INCLUDE_PATH}
        ${TCMALLOC_HEAPCHECKER_INCLUDE_PATH}
        ${TCMALLOC_HEAPPROFILER_INCLUDE_PATH})
link_directories(${ANN_LINK_PATH}
        ${BOOST.FILESYSTEM_LINK_PATH}
        ${BOOST.PROGRAMOPTIONS_LINK_PATH}
        ${BOOST.RANDOM_LINK_PATH}
        ${BOOST.SYSTEM_LINK_PATH}
        ${CGAL_LINK_PATH}
        ${GPERFTOOLS_LINK_PATH}
        ${TCMALLOC_HEAPCHECKER_LINK_PATH}
        ${TCMALLOC_HEAPPROFILER_LINK_PATH})
add_definitions("-DIMPALGEBRA_EXPORTS")

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

set(headers ${CMAKE_SOURCE_DIR}/modules/algebra/include/BoundingBoxD.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Cone3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Cylinder3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Ellipsoid3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/GeometricPrimitiveD.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/GridD.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/LinearFit.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/ParabolicFit.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Plane3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/ReferenceFrame3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Reflection3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Rotation2D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Rotation3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Segment3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Sphere3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/SphereD.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/SpherePatch3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/SphericalVector3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Transformation2D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Transformation3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Triangle3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Vector2D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/Vector3D.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/VectorD.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/algebra_macros.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/constants.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/eigen_analysis.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/endian.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/geometric_alignment.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/geometric_primitive_macros.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/grid_embeddings.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/grid_indexes.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/grid_ranges.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/grid_storages.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/grid_utility.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/io.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/python_only.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/shortest_segment.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/standard_grids.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/utility.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/vector_generators.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/vector_metrics.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/vector_search.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/MinimalSet.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/ann.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/grid_3d_impl.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/grid_apply.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/grid_internal.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/grid_interpolation.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/grid_range_d.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/internal_vector_generators.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/jama_cholesky.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/jama_eig.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/jama_lu.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/jama_qr.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/jama_svd.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/linear_knn.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/multi_array_helpers.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/output_helpers.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_array1d.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_array1d_utils.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_array2d.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_array2d_utils.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_array3d.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_array3d_utils.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_i_refvec.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_math_utils.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_sparse_matrix_csr.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_stopwatch.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_subscript.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/tnt_version.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/utility.h
${CMAKE_SOURCE_DIR}/modules/algebra/include/internal/vector.h)

if(DEFINED IMP_ALGEBRA_LIBRARY_EXTRA_SOURCES)
  set_source_files_properties(${IMP_ALGEBRA_LIBRARY_EXTRA_SOURCES}
                              PROPERTIES GENERATED 1)
endif()
set_source_files_properties(${CMAKE_BINARY_DIR}/src/algebra_config.cpp
  PROPERTIES GENERATED 1)

if(DEFINED IMP_algebra_IS_PER_CPP)
  set(sources ${CMAKE_SOURCE_DIR}/modules/algebra/src/Cone3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/Cylinder3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/Ellipsoid3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/LinearFit.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/ParabolicFit.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/ReferenceFrame3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/Rotation3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/Segment3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/Sphere3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/Sphere3DPatch.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/SphericalVector3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/Transformation2D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/Transformation3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/Triangle3D.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/eigen_analysis.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/endian.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/geometric_alignment.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/io.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/shortest_segment.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/vector_generators.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/vector_metrics.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/vector_search.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/internal/output_helpers.cpp
${CMAKE_SOURCE_DIR}/modules/algebra/src/internal/utility.cpp)
  add_library(IMP.algebra-lib  ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${sources}
              ${CMAKE_BINARY_DIR}/src/algebra_config.cpp
              ${IMP_ALGEBRA_LIBRARY_EXTRA_SOURCES}
              )
else()
  add_library(IMP.algebra-lib  ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${CMAKE_BINARY_DIR}/src/algebra_all.cpp
              ${CMAKE_BINARY_DIR}/src/algebra_config.cpp
              ${IMP_ALGEBRA_LIBRARY_EXTRA_SOURCES}
              )
endif()
set_target_properties(IMP.algebra-lib PROPERTIES
                      OUTPUT_NAME imp_algebra)
set_property(TARGET "IMP.algebra-lib" PROPERTY FOLDER "IMP.algebra")

INSTALL(TARGETS IMP.algebra-lib DESTINATION ${CMAKE_INSTALL_LIBDIR})

add_dependencies(IMP.algebra-lib IMP.algebra-version)

if(DEFINED IMP_ALGEBRA_LIBRARY_EXTRA_DEPENDENCIES)
  add_dependencies(IMP.algebra-lib ${IMP_ALGEBRA_LIBRARY_EXTRA_DEPENDENCIES})
endif()

target_link_libraries(IMP.algebra-lib ${imp_algebra_libs})

set(IMP_algebra_LIBRARY IMP.algebra-lib CACHE INTERNAL "" FORCE)
