# set(CMAKE_EXE_LINKER_FLAGS -pg)
# set(CMAKE_SHARED_LINKER_FLAGS -pg)
+find_package(MPI REQUIRED)
+#set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS})
+#set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS})
+include_directories(${MPI_INCLUDE_PATH})
+
SET(CMAKE_BUILD_TYPE Release)
add_subdirectory(latlib)
-add_executable(heatbath heatbath.cc)
-#set_target_properties(phi4iso-local PROPERTIES COMPILE_DEFINITIONS "LOCAL_UPDATE_ALGORITHM")
-target_link_libraries(heatbath o815)
+add_executable(heatbath-nor heatbath.cpp)
+set_target_properties(heatbath-nor PROPERTIES COMPILE_DEFINITIONS "ALGORITHM_NOR")
+target_link_libraries(heatbath-nor o815 gsl gslcblas lat_neigh)
+
+add_executable(heatbath-r heatbath.cpp)
+set_target_properties(heatbath-r PROPERTIES COMPILE_DEFINITIONS "ALGORITHM_R")
+target_link_libraries(heatbath-r o815 gsl gslcblas lat_neigh)
+
+add_executable(heatbath-1mr heatbath.cpp)
+set_target_properties(heatbath-1mr PROPERTIES COMPILE_DEFINITIONS "ALGORITHM_1MR")
+target_link_libraries(heatbath-1mr o815 gsl gslcblas lat_neigh)
+
+add_executable(heatbath-1mr+ heatbath.cpp)
+set_target_properties(heatbath-1mr+ PROPERTIES COMPILE_DEFINITIONS "ALGORITHM_1MRPLUS")
+target_link_libraries(heatbath-1mr+ o815 gsl gslcblas lat_neigh)
+
+add_executable(heatbath-1mr- heatbath.cpp)
+set_target_properties(heatbath-1mr- PROPERTIES COMPILE_DEFINITIONS "ALGORITHM_1MRMINUS")
+target_link_libraries(heatbath-1mr- o815 gsl gslcblas lat_neigh)
+
+add_executable(heatbath-r- heatbath.cpp)
+set_target_properties(heatbath-r- PROPERTIES COMPILE_DEFINITIONS "ALGORITHM_RMINUS")
+target_link_libraries(heatbath-r- o815 gsl gslcblas lat_neigh)
+
+add_executable(heatbath-r+ heatbath.cpp)
+set_target_properties(heatbath-r+ PROPERTIES COMPILE_DEFINITIONS "ALGORITHM_RPLUS")
+target_link_libraries(heatbath-r+ o815 gsl gslcblas lat_neigh)