# Compulsory line
cmake_minimum_required(VERSION 2.6)

# The name of our project is "BDM".  CMakeLists files in this project can
# refer to the root source directory of the project as ${BDM_SOURCE_DIR} and
# to the root binary directory of the project as ${BDM_BINARY_DIR}.
project (BDM)

# In order to be able to use the newly written FindXXX package, the 
# location of the FindXXX.cmake file must be added to the cmake modules 
# list from within a CMakeLists.txt file as follows:
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}\\CMake_modules\\")

######################
#Platform specific
IF(WIN32)
# IF YOU WANT TO USE YOUR OWN INSTALLATION OF THE NEXT EXTERNAL LIBRARIES,
# THEN IT IS NECESSARY TO CREATE TEXT FILE "\WIN32\LOCAL_PATHS.TXT" WITH 
# COPIES OF THE TWO FOLLOWING LINES AND THEN CORECT ALL INVOLVED PATHS
	SET(ITPP_DIR "${BDM_SOURCE_DIR}\\win32\\itpp-4.0.1")
	SET(ACML_DIR "${BDM_SOURCE_DIR}\\win32\\acml3.6.0")
	SET(XERCES_DIR "${BDM_SOURCE_DIR}\\win32\\xerces-c_2_8_0-x86")

	INCLUDE(\\win32\\local_paths.txt OPTIONAL)	
ELSE()
	#This is for UNIX makefile which does only one release at a time.
	SET(CMAKE_BUILD_TYPE Debug)
	SET(CMAKE_CXX_FLAGS_DEBUG "-g -Wall -Wno-unknown-pragmas")
	SET(ITPP_DIR "/home/smidl/work/git/trunk/itpp/.libs")
ENDIF(WIN32)

FIND_PACKAGE(ITPP REQUIRED)
FIND_PACKAGE(ACML COMPONENTS)
FIND_PACKAGE(XERCES REQUIRED)

IF(ITPP_FOUND)
	INCLUDE_DIRECTORIES(${ITPP_INCLUDE_DIR})
	LINK_DIRECTORIES(${NATIVE_ITPP_LIB_PATH})
ENDIF(ITPP_FOUND)

IF(ACML_FOUND)
	INCLUDE_DIRECTORIES(${ACML_INCLUDE_DIR})
	LINK_DIRECTORIES(${NATIVE_ACML_LIB_PATH})
ENDIF(ACML_FOUND)

IF(XERCES_FOUND)
	INCLUDE_DIRECTORIES(${XERCES_INCLUDE_DIR})
	LINK_DIRECTORIES(${NATIVE_XERCES_LIB_PATH})
ENDIF(XERCES_FOUND)

# Local ettings should be written to file called CMakeLists.local
# Use this option for machine-specific options, such as prallel architectures
INCLUDE(CMakeLists.local OPTIONAL)	

# Recurse into the "dbm" and "tests" subdirectories.  This does not actually
# cause another cmake executable to run.  The same process will walk through
# the project's entire directory structure.
add_subdirectory (bdm)
add_subdirectory (tests)
add_subdirectory (pmsm)
add_subdirectory (mpdm)
