CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
PROJECT(bear_generic_items)

SET( GENERIC_ITEM_TARGET_NAME bear_generic_items )

INCLUDE_DIRECTORIES(
  ${BEAR_ENGINE_INCLUDE_DIRECTORY}
  )

#-------------------------------------------------------------------------------
SET( GENERIC_ITEM_SOURCE_FILES
  code/ambient_sound.cpp
  code/base_link_visual.cpp
  code/base_train.cpp
  code/block_align_top.cpp
  code/block.cpp
  code/camera.cpp
  code/camera_shaker.cpp
  code/change_camera_size.cpp
  code/continuous_link_visual.cpp
  code/crossfade_sequence.cpp
  code/decorative_flow.cpp
  code/decorative_item.cpp
  code/decorative_toggle.cpp
  code/delayed_kill_item.cpp
  code/delayed_level_loading.cpp
  code/density_rectangle_creator.cpp
  code/descending_ceiling.cpp
  code/environment_rectangle_creator.cpp
  code/force_rectangle_creator.cpp
  code/friction_rectangle_creator.cpp
  code/killer.cpp
  code/level_loader_item.cpp
  code/level_loader_progression_item.cpp
  code/link_remover.cpp
  code/pendulum.cpp
  code/reference_item.cpp
  code/slope.cpp
  code/straight_slope.cpp
  code/trigger.cpp
  code/world_parameters.cpp

  expr/code/applied_boolean_expression.cpp
  expr/code/check_item_class_creator.cpp
  expr/code/expression_creator.cpp
  expr/code/logical_not_creator.cpp

  forced_movement/code/applied_forced_movement.cpp
  forced_movement/code/forced_aiming_creator.cpp
  forced_movement/code/forced_goto_creator.cpp
  forced_movement/code/forced_join_creator.cpp
  forced_movement/code/forced_movement_toggle.cpp
  forced_movement/code/forced_rotation_creator.cpp
  forced_movement/code/forced_sequence_creator.cpp
  forced_movement/code/forced_stay_around_creator.cpp
  forced_movement/code/forced_tracking_creator.cpp
  forced_movement/code/forced_translation_creator.cpp

  game_variable/code/bool_game_variable_getter.cpp
  game_variable/code/bool_game_variable_setter.cpp
  game_variable/code/int_game_variable_setter.cpp
  game_variable/code/string_game_variable_setter.cpp
  game_variable/code/real_game_variable_setter.cpp
  game_variable/code/u_int_game_variable_setter.cpp

  layer/code/action_layer.cpp
  layer/code/decoration_layer.cpp
  layer/code/pattern_layer.cpp
  link/code/link_creator.cpp
  )

ADD_LIBRARY( ${GENERIC_ITEM_TARGET_NAME} SHARED ${GENERIC_ITEM_SOURCE_FILES} )
INSTALL(
  TARGETS ${GENERIC_ITEM_TARGET_NAME}
  DESTINATION ${BEAR_ENGINE_INSTALL_LIBRARY_DIR}
  )

IF(WIN32)
  TARGET_LINK_LIBRARIES(
    ${GENERIC_ITEM_TARGET_NAME}
    bear_engine
    intl
    )
ELSE(WIN32)
  TARGET_LINK_LIBRARIES(
    ${GENERIC_ITEM_TARGET_NAME}
    bear_engine
    )
ENDIF(WIN32)
