PROJECT(ANN)

SET(ANN_SRCS
	ANN.cpp                bd_tree.cpp            kd_pr_search.cpp  kd_util.cpp
	bd_fix_rad_search.cpp  brute.cpp              kd_search.cpp     perf.cpp
	bd_pr_search.cpp       kd_dump.cpp            kd_split.cpp
	bd_search.cpp          kd_fix_rad_search.cpp  kd_tree.cpp
)

INCLUDE_DIRECTORIES("${MRPT_SOURCE_DIR}/include/mrpt/otherlibs")
INCLUDE_DIRECTORIES("${MRPT_SOURCE_DIR}/include/mrpt/otherlibs/ann")

# Always build ANN as a static lib:
IF(BUILD_SHARED_LIBS AND NOT WIN32)
	# DYNAMIC LIBS
	SET(LIBTYPE SHARED)
ELSE(BUILD_SHARED_LIBS AND NOT WIN32)
	# STATIC LIBS
	SET(LIBTYPE STATIC)
ENDIF(BUILD_SHARED_LIBS AND NOT WIN32)

ADD_LIBRARY(mrpt-ann ${LIBTYPE} ${ANN_SRCS})

SET_TARGET_PROPERTIES(mrpt-ann PROPERTIES PROJECT_LABEL lib-mrpt-ann)

# For dynamic link numbering convenions in Linux:
SET_TARGET_PROPERTIES(mrpt-ann PROPERTIES
	VERSION "${CMAKE_MRPT_VERSION_NUMBER_MAJOR}.${CMAKE_MRPT_VERSION_NUMBER_MINOR}.${CMAKE_MRPT_VERSION_NUMBER_PATCH}"
	SOVERSION ${CMAKE_MRPT_VERSION_NUMBER_MAJOR}.${CMAKE_MRPT_VERSION_NUMBER_MINOR}
	)


IF(CMAKE_COMPILER_IS_GNUCXX AND UNIX)
 	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
ENDIF(CMAKE_COMPILER_IS_GNUCXX AND UNIX)


# The target file will be "ANNd" for DEBUG, "ANN" for the rest of configs:
# ----------------------------------------------------------------------------------
SET(the_trg mrpt-ann)

SET_TARGET_PROPERTIES(${the_trg} PROPERTIES 
	OUTPUT_NAME ${MRPT_LIB_PREFIX}${the_trg}
	ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/"
	RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/")


# make sure the library gets installed
INSTALL(TARGETS ${the_trg}
	RUNTIME DESTINATION ${libmrpt_ann_INSTALL_PREFIX}bin
	LIBRARY DESTINATION ${libmrpt_ann_INSTALL_PREFIX}lib
	ARCHIVE DESTINATION ${libmrpt_ann_INSTALL_PREFIX}lib)

