#-----------------------------------------------------------------
# CMake file for the MRPT apps/lib_hwdrivers
#  Run with "cmake ." at the root directory
#
#  October 2007, Jose Luis Blanco <jlblanco@ctima.uma.es>
#-----------------------------------------------------------------
PROJECT(lib_hwdrivers)

MESSAGE(STATUS "Makefile for application: /apps/lib_hwdrivers")

# ---------------------------------------------
# TARGET: The HWDRIVERS library
# ---------------------------------------------
# List of files:
SET(lib_srcs "")
FILE(GLOB_RECURSE lib_srcs ${CMAKE_SOURCE_DIR}/apps/lib_hwdrivers/*.cpp)

SET(lib_hdrs "")
FILE(GLOB_RECURSE lib_hdrs ${CMAKE_SOURCE_DIR}/apps/lib_hwdrivers/*.h)


# Remove _LIN files when compiling under Windows, and _WIN files when compiling under Linux.
# ----------------------------------------------------------------------------------
SET(aux_var "")
FOREACH(FIL ${lib_srcs})
	SET(THIS_COUNTS 1)
	IF(${FIL} MATCHES ".*_LIN.cpp")
		IF(WIN32)
			SET(THIS_COUNTS 0)
		ENDIF(WIN32)
	ENDIF(${FIL} MATCHES ".*_LIN.cpp")
	
	IF(${FIL} MATCHES ".*_WIN.cpp")
		IF(UNIX)
			SET(THIS_COUNTS 0)
		ENDIF(UNIX)
	ENDIF(${FIL} MATCHES ".*_WIN.cpp")

	IF(THIS_COUNTS)
		SET(aux_var "${aux_var}" "${FIL}")
	ENDIF(THIS_COUNTS)
ENDFOREACH(FIL)
SET(lib_srcs ${aux_var})


# ----------------------------------------------------------------------------------
# 				Define the target:
# ----------------------------------------------------------------------------------
IF(MRPT_BUILD_SHARED_LIBS)
	# DYNAMIC LIBS
	SET(LIBTYPE SHARED)
ELSE(MRPT_BUILD_SHARED_LIBS)
	# STATIC LIBS
	SET(LIBTYPE STATIC)
ENDIF(MRPT_BUILD_SHARED_LIBS)

ADD_LIBRARY(hwdrivers ${LIBTYPE} ${lib_srcs} ${lib_hdrs})

# Assure the MRPT library is updated:
ADD_DEPENDENCIES(hwdrivers MRPT)
TARGET_LINK_LIBRARIES(hwdrivers ${MRPT_LINKER_LIBS})

INCLUDE_DIRECTORIES(${MRPT_ALL_SOURCE_DIR}/apps)

SET_TARGET_PROPERTIES(hwdrivers PROPERTIES PROJECT_LABEL lib_HWDRIVERS)

# The target file will be "hwdriversd" for DEBUG, "hwdrivers" for the rest of configs:
# ----------------------------------------------------------------------------------
IF(MSVC)
	SET_TARGET_PROPERTIES(hwdrivers PROPERTIES OUTPUT_NAME libhwdrivers) 
	SET_TARGET_PROPERTIES(hwdrivers PROPERTIES DEBUG_OUTPUT_NAME libhwdriversd) 
ENDIF(MSVC)

IF(UNIX)
	SET_TARGET_PROPERTIES(hwdrivers PROPERTIES OUTPUT_NAME hwdrivers) 
	SET_TARGET_PROPERTIES(hwdrivers PROPERTIES DEBUG_OUTPUT_NAME hwdriversd) 
ENDIF(UNIX)


# make sure the library gets installed
#install_targets(/lib hwdrivers)

