MACRO(ADD_REGRESSION_EXECUTABLE name source)
    ADD_EXECUTABLE(${name} ${source} ${ARGN})

    TARGET_LINK_LIBRARIES(${name} 
            ${Boost_FILESYSTEM_LIBRARY} 
            ${Boost_SYSTEM_LIBRARY}
    )
    ADD_DEPENDENCIES(${name} boost)

    IF( ${CMAKE_SYSTEM} MATCHES "Linux.*")
        TARGET_LINK_LIBRARIES(${name} optimized rt debug rt)
    ENDIF()

    IF( ${CMAKE_SYSTEM} MATCHES "Darwin-*")
        SET_TARGET_PROPERTIES(${name} 
            PROPERTIES LINK_FLAGS "-Wl,-undefined,dynamic_lookup -Wl,-rpath,${CMAKE_INSTALL_PREFIX}/${LIB_DIR} -Wl,-rpath,${Boost_LIBRARY_DIRS}")
    ENDIF( ${CMAKE_SYSTEM} MATCHES "Darwin-*")
	
    INSTALL(TARGETS ${name} 
			RUNTIME DESTINATION ${NEKTAR_BIN_DIR} COMPONENT test OPTIONAL
			ARCHIVE DESTINATION ${NEKTAR_LIB_DIR} COMPONENT test OPTIONAL
			LIBRARY DESTINATION ${NEKTAR_LIB_DIR} COMPONENT test OPTIONAL)

ENDMACRO(ADD_REGRESSION_EXECUTABLE name source)

SUBDIRS(Demos Solvers)

SET(REGRESSION_MAKE_OK_FILES_EXEC OFF CACHE BOOL "Make routines to generation .ok files")
MARK_AS_ADVANCED(REGRESSION_MAKE_OK_FILES_EXEC)
SET(REGRESSION_USE_PATH ON CACHE BOOL "Use absolute paths to regression tests.")
MARK_AS_ADVANCED(REGRESSION_USE_PATH)

# Add Definitions to work Path
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR} ${CMAKE_MODULE_PATH})

IF( WIN32 )
	ADD_DEFINITIONS(-DUSR_WIN_32="1")
ENDIF(WIN32)

ADD_DEFINITIONS(-DNEKTAR_BIN_DIR="${CMAKE_BINARY_DIR}/dist/bin/")
ADD_DEFINITIONS(-DREG_PATH="${CMAKE_CURRENT_SOURCE_DIR}/")

IF (REGRESSION_USE_PATH)
    ADD_DEFINITIONS(-DUSE_PATH="1")
ENDIF (REGRESSION_USE_PATH)

ADD_DEFINITIONS(-DNEKTAR_SOLVER_DIR="${CMAKE_INSTALL_PREFIX}/")

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/runtests.sh
    ${CMAKE_CURRENT_BINARY_DIR}/runtests.sh COPYONLY)

SET(CPACK_COMPONENTS_ALL test)
SET(CPACK_COMPONENT_TEST_DESCRIPTION "Regression tests for Nektar++")
INCLUDE(CPack)
