cmake_minimum_required( VERSION 2.6 )

FIND_PACKAGE(DirectX REQUIRED)

INCLUDE_DIRECTORIES (
  ${Assimp_SOURCE_DIR}/include
  ${Assimp_SOURCE_DIR}/code
  ${DirectX_INCLUDE_DIR}
)

# Make sure the linker can find the Assimp library once it is built.
LINK_DIRECTORIES (${Assimp_BINARY_DIR} ${AssetImporter_BINARY_DIR}/lib)

ADD_EXECUTABLE(  assimp_viewer WIN32
  AnimEvaluator.cpp
  Background.cpp
  Display.cpp
  HelpDialog.cpp
  Input.cpp
  LogDisplay.cpp
  LogWindow.cpp
  Material.cpp
  MeshRenderer.cpp
  MessageProc.cpp
  Normals.cpp
  SceneAnimator.cpp
  Shaders.cpp
  assimp_view.cpp
  stdafx.cpp
  assimp_view.rc
  banner.bmp
  banner_pure.bmp
  base_anim.bmp
  base_display.bmp
  base_inter.bmp
  base_rendering.bmp
  base_stats.bmp
  fx.bmp
  n.bmp
  root.bmp
  tx.bmp
  txi.bmp
)

SET_PROPERTY(TARGET assimp_viewer PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})


IF ( MSVC )
  ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
  ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
ENDIF ( MSVC )


#
ADD_CUSTOM_COMMAND(TARGET assimp_viewer
  PRE_BUILD
  COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:assimp> $<TARGET_FILE_DIR:assimp_viewer>
  MAIN_DEPENDENCY assimp)

# Link the executable to the assimp + dx libs.
TARGET_LINK_LIBRARIES ( assimp_viewer assimp ${DirectX_LIBRARY} ${DirectX_D3DX9_LIBRARY} comctl32.lib winmm.lib )

INSTALL( TARGETS assimp_viewer
  DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev
)