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

message(STATUS "Setting up module " em2d)

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

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

include_directories(${ANN_INCLUDE_PATH}
        ${BOOST.FILESYSTEM_INCLUDE_PATH}
        ${BOOST.GRAPH_INCLUDE_PATH}
        ${BOOST.PROGRAMOPTIONS_INCLUDE_PATH}
        ${BOOST.RANDOM_INCLUDE_PATH}
        ${BOOST.REGEX_INCLUDE_PATH}
        ${BOOST.SYSTEM_INCLUDE_PATH}
        ${CGAL_INCLUDE_PATH}
        ${FFTW3_INCLUDE_PATH}
        ${GPERFTOOLS_INCLUDE_PATH}
        ${GSL_INCLUDE_PATH}
        ${HDF5_INCLUDE_PATH}
        ${LOG4CXX_INCLUDE_PATH}
        ${OPENCV21_INCLUDE_PATH}
        ${OPENCV22_INCLUDE_PATH}
        ${RMF_INCLUDE_PATH}
        ${TCMALLOC_HEAPCHECKER_INCLUDE_PATH}
        ${TCMALLOC_HEAPPROFILER_INCLUDE_PATH})
link_directories(${ANN_LINK_PATH}
        ${BOOST.FILESYSTEM_LINK_PATH}
        ${BOOST.GRAPH_LINK_PATH}
        ${BOOST.PROGRAMOPTIONS_LINK_PATH}
        ${BOOST.RANDOM_LINK_PATH}
        ${BOOST.REGEX_LINK_PATH}
        ${BOOST.SYSTEM_LINK_PATH}
        ${CGAL_LINK_PATH}
        ${FFTW3_LINK_PATH}
        ${GPERFTOOLS_LINK_PATH}
        ${GSL_LINK_PATH}
        ${HDF5_LINK_PATH}
        ${LOG4CXX_LINK_PATH}
        ${OPENCV21_LINK_PATH}
        ${OPENCV22_LINK_PATH}
        ${RMF_LINK_PATH}
        ${TCMALLOC_HEAPCHECKER_LINK_PATH}
        ${TCMALLOC_HEAPPROFILER_LINK_PATH})
add_definitions("-DIMPEM2D_EXPORTS")

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

set(headers ${PROJECT_SOURCE_DIR}/modules/em2d/include/CenteredMat.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/CollisionCrossSection.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/DummyRestraint.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/Em2DRestraint.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/FFToperations.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/Fine2DRegistrationRestraint.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/Image.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/ImageReaderWriter.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/JPGImageReaderWriter.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/PolarResamplingParameters.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/ProjectionFinder.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/ProjectionMask.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/ProjectionParameters.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/RegistrationResult.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/RelativePositionMover.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/RigidBodiesImageFitRestraint.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/SpiderImageReaderWriter.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/TIFFImageReaderWriter.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/align2D.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/domino_filter_tables.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/domino_filters.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/domino_particle_states.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/filenames_manipulation.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/hierarchical_clustering.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/image_processing.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/model_interaction.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/opencv_interface.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/project.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/scores2D.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/internal/image_processing_helper.h
${PROJECT_SOURCE_DIR}/modules/em2d/include/internal/rotation_helper.h)

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

if(DEFINED IMP_em2d_IS_PER_CPP)
  set(sources ${PROJECT_SOURCE_DIR}/modules/em2d/src/CollisionCrossSection.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/DummyRestraint.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/Em2DRestraint.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/FFToperations.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/Fine2DRegistrationRestraint.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/Image.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/ProjectionFinder.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/ProjectionMask.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/ProjectionParameters.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/RegistrationResult.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/RelativePositionMover.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/RigidBodiesImageFitRestraint.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/align2D.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/domino_filter_tables.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/domino_filters.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/domino_particle_states.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/hierarchical_clustering.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/image_processing.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/model_interaction.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/opencv_interface.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/project.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/scores2D.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/internal/image_processing_helper.cpp
${PROJECT_SOURCE_DIR}/modules/em2d/src/internal/rotation_helper.cpp)

  add_library(imp_em2d ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${sources}
              ${IMP_EM2D_LIBRARY_EXTRA_SOURCES}
              )
else()

  add_library(imp_em2d ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${PROJECT_BINARY_DIR}/src/em2d_all.cpp
              ${IMP_EM2D_LIBRARY_EXTRA_SOURCES}
              )

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

if(DEFINED IMP_EM2D_LIBRARY_EXTRA_DEPENDENCIES)
  add_dependencies(imp_em2d ${IMP_EM2D_LIBRARY_EXTRA_DEPENDENCIES})
endif()

target_link_libraries(imp_em2d
                      ${IMP_BASE_LIBRARY}
${IMP_CGAL_LIBRARY}
${IMP_ALGEBRA_LIBRARY}
${IMP_KERNEL_LIBRARY}
${IMP_DISPLAY_LIBRARY}
${IMP_GSL_LIBRARY}
${IMP_SCORE_FUNCTOR_LIBRARY}
${IMP_STATISTICS_LIBRARY}
${IMP_CORE_LIBRARY}
${IMP_CONTAINER_LIBRARY}
${IMP_ATOM_LIBRARY}
${IMP_EM_LIBRARY}
${IMP_RMF_LIBRARY}
${IMP_DOMINO_LIBRARY}
                      ${FFTW3_LIBRARIES}
${BOOST.PROGRAMOPTIONS_LIBRARIES}
${BOOST.FILESYSTEM_LIBRARIES}
${OPENCV21_LIBRARIES}
${OPENCV22_LIBRARIES}
${BOOST.SYSTEM_LIBRARIES}
${GPERFTOOLS_LIBRARIES}
${TCMALLOC_HEAPPROFILER_LIBRARIES}
${TCMALLOC_HEAPCHECKER_LIBRARIES}
${LOG4CXX_LIBRARIES}
${BOOST.RANDOM_LIBRARIES}
${CGAL_LIBRARIES}
${ANN_LIBRARIES}
${GSL_LIBRARIES}
${BOOST.REGEX_LIBRARIES}
${RMF_LIBRARIES}
${BOOST.GRAPH_LIBRARIES}
${HDF5_LIBRARIES}
  )

set(IMP_EM2D_LIBRARY imp_em2d CACHE INTERNAL "" FORCE)
