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

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

FILE(GLOB genheaders
     "${CMAKE_BINARY_DIR}/include/IMP/kernel/*.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("-DIMPKERNEL_EXPORTS")

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

set(headers ${CMAKE_SOURCE_DIR}/modules/kernel/include/AttributeOptimizer.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Configuration.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/ConfigurationSet.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Constraint.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Decorator.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/DerivativeAccumulator.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/FloatIndex.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Key.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Model.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/ModelObject.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Object.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Optimizer.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/OptimizerState.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Particle.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/ParticleTuple.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Pointer.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/RefCounted.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Refiner.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Restraint.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/RestraintSet.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Sampler.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/ScoreAccumulator.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/ScoreState.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/ScoringFunction.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/UnaryFunction.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/Undecorator.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/VersionInfo.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/WeakPointer.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/base_types.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/constants.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/container_base.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/container_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/declare_Model.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/declare_Particle.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/declare_Restraint.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/declare_RestraintSet.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/declare_ScoringFunction.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/decorator_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/dependency_graph.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/doxygen.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/exception.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/file.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/functor.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/generic.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/input_output.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/input_output_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/io.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/key_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/log.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/model_object_helpers.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/optimizer_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/optimizer_state_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/particle_index.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/python_only.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/random.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/refiner_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/restraint_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/sampler_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/scoped.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/score_state_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/scoring_function_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/unary_function_macros.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/utility.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/AccumulatorScoreModifier.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/AttributeTable.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/ContainerConstraint.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/ContainerRestraint.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/ExponentialNumber.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/IndexingIterator.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/NestedIterator.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/OwnerPointer.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/PrefixStream.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/RestraintsScoringFunction.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/TupleConstraint.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/TupleRestraint.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/Unit.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/attribute_tables.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/constants.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/container_helpers.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/create_decomposition.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/evaluate_utility.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/functors.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/graph_utility.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/input_output_exception.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/key_helpers.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/pdb.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/restraint_evaluation.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/scoring_functions.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/static.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/swig.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/swig_helpers.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/units.h
${CMAKE_SOURCE_DIR}/modules/kernel/include/internal/utility.h)

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

if(DEFINED IMP_kernel_IS_PER_CPP)
  set(sources ${CMAKE_SOURCE_DIR}/modules/kernel/src/AttributeOptimizer.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Configuration.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/ConfigurationSet.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Constraint.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Container.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Decorator.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Key.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Model.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/ModelObject.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Model_dependencies.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Model_evaluate.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Optimizer.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/OptimizerState.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Particle.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Refiner.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Restraint.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/RestraintSet.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/Sampler.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/ScoreAccumulator.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/ScoreState.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/ScoringFunction.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/UnaryFunction.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/base_types.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/dependency_graph.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/file.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/io.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/model_object_helpers.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/particle_index.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/utility.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/internal/PrefixStream.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/internal/constants.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/internal/graph_utility.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/internal/input_output_exception.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/internal/pdb.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/internal/restraint_evaluation.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/internal/static.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/internal/swig.cpp
${CMAKE_SOURCE_DIR}/modules/kernel/src/internal/utility.cpp)
  add_library(IMP.kernel-lib  ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${sources}
              ${CMAKE_BINARY_DIR}/src/kernel_config.cpp
              ${IMP_KERNEL_LIBRARY_EXTRA_SOURCES}
              )
else()
  add_library(IMP.kernel-lib  ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${CMAKE_BINARY_DIR}/src/kernel_all.cpp
              ${CMAKE_BINARY_DIR}/src/kernel_config.cpp
              ${IMP_KERNEL_LIBRARY_EXTRA_SOURCES}
              )
endif()
set_target_properties(IMP.kernel-lib PROPERTIES
                      OUTPUT_NAME imp_kernel)
set_property(TARGET "IMP.kernel-lib" PROPERTY FOLDER "IMP.kernel")

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

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

if(DEFINED IMP_KERNEL_LIBRARY_EXTRA_DEPENDENCIES)
  add_dependencies(IMP.kernel-lib ${IMP_KERNEL_LIBRARY_EXTRA_DEPENDENCIES})
endif()

target_link_libraries(IMP.kernel-lib ${imp_kernel_libs})

set(IMP_kernel_LIBRARY IMP.kernel-lib CACHE INTERNAL "" FORCE)
