cmake_minimum_required( VERSION 2.8 )

set( CTEST_SITE "tonic.hocheung20.dyndns.org" )
set( CTEST_BUILD_NAME "Mac OS X 10.8 Release gcc 4.2.1/llvm 2336.11.00" )
set( CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}" )

set( CTEST_DASHBOARD_ROOT "/Dashboard/farsight" )
set( CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/src-release" )
set( CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/bin-release" )

set( CTEST_UPDATE_COMMAND "svn" )
set( CTEST_BUILD_COMMAND "make -i -j5" )
set( CTEST_CMAKE_GENERATOR "Unix Makefiles" )
set( CTEST_BUILD_CONFIGURATION Release )

set( CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 999)
set( CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 999)

set(FIRST_TIME 1) #for testing the  whole source code when the machine reboots
#set(FIRST_TIME 0)

while (1) 						#Run forever
	ctest_empty_binary_directory( "${CTEST_BINARY_DIRECTORY}" )
	
	file (WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
		QT_QMAKE_EXECUTABLE:FILEPATH=/usr/local/Trolltech/Qt-4.8.2/bin/qmake
		Boost_INCLUDE_DIR:PATH=/Dashboard/StableLibraries/src/boost_1_47_0
		ITK_DIR:PATH=/Dashboard/StableLibraries/bin/${CTEST_BUILD_CONFIGURATION}/ITK-4.2.0
		VTK_DIR:PATH=/Dashboard/StableLibraries/bin/${CTEST_BUILD_CONFIGURATION}/VTK-5.10.0
		VXL_DIR:PATH=/Dashboard/StableLibraries/bin/${CTEST_BUILD_CONFIGURATION}/VXL-35461

		FARSIGHT_DATA_ROOT:PATH=/Dashboard/farsight/data
		BUILD_TESTING:BOOL=ON
		BUILD_CLUSCLUS:BOOL=ON
		BUILD_Microglia:BOOL=ON
		BUILD_MicrogliaRegionTracer:BOOL=ON
		BUILD_MultipleNeuronTracer:BOOL=ON
		BUILD_NUCLEI:BOOL=ON
		BUILD_OPENMP:BOOL=ON
		BUILD_REGISTRATION:BOOL=ON
		BUILD_TRACING:BOOL=ON
		BUILD_TraceEdit:BOOL=ON
	")

	
	set (START_TIME ${CTEST_ELAPSED_TIME})
	ctest_start( Continuous )
	ctest_update( SOURCE "${CTEST_SOURCE_DIRECTORY}" RETURN_VALUE count )
 	if(count GREATER 0 OR FIRST_TIME)
		set(FIRST_TIME 0)
		ctest_configure( SOURCE "${CTEST_SOURCE_DIRECTORY}" )
		ctest_build( BUILD "${CTEST_BINARY_DIRECTORY}" )
		ctest_test( BUILD "${CTEST_BINARY_DIRECTORY}" )
		ctest_submit()
	endif()
endwhile()


