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

message(STATUS "Setting up module " base)

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

FILE(GLOB genheaders
     "${PROJECT_BINARY_DIR}/include/IMP/base/*.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("-DIMPBASE_EXPORTS")

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

set(headers ${PROJECT_SOURCE_DIR}/modules/base/include/Array.h
${PROJECT_SOURCE_DIR}/modules/base/include/ConstVector.h
${PROJECT_SOURCE_DIR}/modules/base/include/CreateLogContext.h
${PROJECT_SOURCE_DIR}/modules/base/include/Index.h
${PROJECT_SOURCE_DIR}/modules/base/include/InputAdaptor.h
${PROJECT_SOURCE_DIR}/modules/base/include/NonCopyable.h
${PROJECT_SOURCE_DIR}/modules/base/include/Object.h
${PROJECT_SOURCE_DIR}/modules/base/include/Pointer.h
${PROJECT_SOURCE_DIR}/modules/base/include/RAII.h
${PROJECT_SOURCE_DIR}/modules/base/include/RefCounted.h
${PROJECT_SOURCE_DIR}/modules/base/include/SetCheckState.h
${PROJECT_SOURCE_DIR}/modules/base/include/SetLogState.h
${PROJECT_SOURCE_DIR}/modules/base/include/Showable.h
${PROJECT_SOURCE_DIR}/modules/base/include/Value.h
${PROJECT_SOURCE_DIR}/modules/base/include/Vector.h
${PROJECT_SOURCE_DIR}/modules/base/include/VersionInfo.h
${PROJECT_SOURCE_DIR}/modules/base/include/WarningContext.h
${PROJECT_SOURCE_DIR}/modules/base/include/WeakPointer.h
${PROJECT_SOURCE_DIR}/modules/base/include/base_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/bracket_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/cache.h
${PROJECT_SOURCE_DIR}/modules/base/include/check_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/comparison_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/compiler_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/declare_Object.h
${PROJECT_SOURCE_DIR}/modules/base/include/deprecation.h
${PROJECT_SOURCE_DIR}/modules/base/include/deprecation_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/doxygen_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/enums.h
${PROJECT_SOURCE_DIR}/modules/base/include/exception.h
${PROJECT_SOURCE_DIR}/modules/base/include/file.h
${PROJECT_SOURCE_DIR}/modules/base/include/flags.h
${PROJECT_SOURCE_DIR}/modules/base/include/graph_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/hash.h
${PROJECT_SOURCE_DIR}/modules/base/include/hash_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/live_objects.h
${PROJECT_SOURCE_DIR}/modules/base/include/log.h
${PROJECT_SOURCE_DIR}/modules/base/include/log_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/map.h
${PROJECT_SOURCE_DIR}/modules/base/include/math.h
${PROJECT_SOURCE_DIR}/modules/base/include/nullptr.h
${PROJECT_SOURCE_DIR}/modules/base/include/nullptr_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/object_cast.h
${PROJECT_SOURCE_DIR}/modules/base/include/object_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/piecewise_linear_distribution.h
${PROJECT_SOURCE_DIR}/modules/base/include/raii_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/random.h
${PROJECT_SOURCE_DIR}/modules/base/include/ref_counted_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/set.h
${PROJECT_SOURCE_DIR}/modules/base/include/showable_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/swap_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/swig_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/thread_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/threads.h
${PROJECT_SOURCE_DIR}/modules/base/include/tracking.h
${PROJECT_SOURCE_DIR}/modules/base/include/tuple_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/types.h
${PROJECT_SOURCE_DIR}/modules/base/include/utility.h
${PROJECT_SOURCE_DIR}/modules/base/include/utility_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/value_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/vector_property_map.h
${PROJECT_SOURCE_DIR}/modules/base/include/warning_macros.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/PointerBase.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/Vector.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/cache.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/deprecation.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/directories.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/eat.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/graph_utility.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/ifile.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/log.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/log_stream.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/ref_counting.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/static.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/swig.h
${PROJECT_SOURCE_DIR}/modules/base/include/internal/swig_helpers.h)

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

if(DEFINED IMP_base_IS_PER_CPP)
  set(sources ${PROJECT_SOURCE_DIR}/modules/base/src/Object.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/SetCheckState.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/SetLogState.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/Showable.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/VersionInfo.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/WarningContext.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/enums.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/exception.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/file.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/flags.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/log.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/nullptr.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/random.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/threads.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/utility.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/internal/deprecation.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/internal/directories.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/internal/log_stream.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/internal/static.cpp
${PROJECT_SOURCE_DIR}/modules/base/src/internal/swig.cpp)

  add_library(imp_base ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${sources}
              ${IMP_BASE_LIBRARY_EXTRA_SOURCES}
              )
else()

  add_library(imp_base ${IMP_LIB_TYPE} ${gensources} ${genheaders}
              ${headers} ${PROJECT_BINARY_DIR}/src/base_all.cpp
              ${IMP_BASE_LIBRARY_EXTRA_SOURCES}
              )

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

if(DEFINED IMP_BASE_LIBRARY_EXTRA_DEPENDENCIES)
  add_dependencies(imp_base ${IMP_BASE_LIBRARY_EXTRA_DEPENDENCIES})
endif()

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

set(IMP_BASE_LIBRARY imp_base CACHE INTERNAL "" FORCE)
