cmake_minimum_required(VERSION 2.6)

SET(
	NAME
	example_gui_drivesystem
)

PROJECT( ${NAME} )

STRING( REPLACE "\\" "/" ROBOTINOAPI_DIR "$ENV{ROBOTINOAPI_DIR}" )

SET(
	CMAKE_MODULE_PATH
	${ROBOTINOAPI_DIR}/cmake
)
SET(
  GLOBAL_TARGET_DIR
  ${CMAKE_CURRENT_BINARY_DIR}/target
)
FILE( MAKE_DIRECTORY ${GLOBAL_TARGET_DIR} )
FILE( MAKE_DIRECTORY ${GLOBAL_TARGET_DIR}/debug )
FILE( MAKE_DIRECTORY ${GLOBAL_TARGET_DIR}/release )

IF( WIN32 )
  SET(
    CMAKE_DEBUG_POSTFIX
    "d"
  )
ENDIF( WIN32 )

SET(
  LIBRARY_OUTPUT_PATH
  ${GLOBAL_TARGET_DIR}
)
    
SET(
  EXECUTABLE_OUTPUT_PATH
  ${GLOBAL_TARGET_DIR}
)

find_package( RobotinoAPI REQUIRED )

COPY_ROBOTINOAPI_DLLS( "${GLOBAL_TARGET_DIR}/release" "${GLOBAL_TARGET_DIR}/debug" )

SET( QT_USE_QTGUI 1 )

find_package( Qt4 REQUIRED)

SET( QT4_BIN_PATH "${QT_DOC_DIR}/../bin" )
SET( QT4_RELEASE_DLLS "${QT4_BIN_PATH}/QtCore4.dll" "${QT4_BIN_PATH}/QtGui4.dll" )
SET( QT4_DEBUG_DLLS "${QT4_BIN_PATH}/QtCored4.dll" "${QT4_BIN_PATH}/QtGuid4.dll" )

FOREACH( var ${QT4_RELEASE_DLLS} )
	CONFIGURE_FILE( ${var} "${GLOBAL_TARGET_DIR}/release" COPYONLY )
ENDFOREACH( var )
FOREACH( var ${QT4_DEBUG_DLLS} )
	CONFIGURE_FILE( ${var} "${GLOBAL_TARGET_DIR}/debug" COPYONLY )
ENDFOREACH( var )

SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG QT_DEBUG)
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG)
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG_OUTPUT )
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_WARNING_OUTPUT )
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO QT_NO_DEBUG)
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG)
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG_OUTPUT )
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_WARNING_OUTPUT )

INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} )
ADD_DEFINITIONS(${QT_DEFINITIONS})

FILE( GLOB SRCS *.cpp )
FILE( GLOB HEADER *.h )

QT4_WRAP_CPP(
	MOC_SRCS
	${HEADER}
)

QT4_ADD_RESOURCES(
	RCC_SRCS
	icons.qrc
)

ADD_EXECUTABLE(
	${NAME}
	WIN32
	${SRCS}
	${HEADER}
	${MOC_SRCS}
	${RCC_SRCS}
)

TARGET_LINK_LIBRARIES(
	${NAME}
	${REC_ROBOTINO_COM_LIBRARY}
	${QT_QTCORE_LIBRARY}
	${QT_QTMAIN_LIBRARY}
	${QT_QTGUI_LIBRARY}
)

SOURCE_GROUP( "Source Files" FILES ${SRCS} ${HEADER} )
SOURCE_GROUP( Moc REGULAR_EXPRESSION "(moc_|qrc_)" )
