if(HAVE_LUA)
cmake_minimum_required(VERSION 2.6)

set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/_ping_simulator.c
							${CMAKE_CURRENT_BINARY_DIR}/_ping_client.c 
							${CMAKE_CURRENT_BINARY_DIR}/_ping_server.c
                            PROPERTIES GENERATED true)

set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")

add_executable(ping_simulator_console 	${CMAKE_CURRENT_BINARY_DIR}/_ping_simulator.c
										${CMAKE_CURRENT_SOURCE_DIR}/ping_server.c
										${CMAKE_CURRENT_SOURCE_DIR}/ping_client.c
										${CMAKE_CURRENT_SOURCE_DIR}/ping_common.c)
								
add_executable(ping_client_console    	${CMAKE_CURRENT_BINARY_DIR}/_ping_client.c
										${CMAKE_CURRENT_SOURCE_DIR}/ping_client.c
										${CMAKE_CURRENT_SOURCE_DIR}/ping_common.c)
								
add_executable(ping_server_console    	${CMAKE_CURRENT_BINARY_DIR}/_ping_server.c
										${CMAKE_CURRENT_SOURCE_DIR}/ping_server.c
										${CMAKE_CURRENT_SOURCE_DIR}/ping_common.c)
  
add_custom_command(
  					OUTPUT 	${CMAKE_CURRENT_BINARY_DIR}/_ping_simulator.c 
         					${CMAKE_CURRENT_BINARY_DIR}/_ping_client.c 
	 						${CMAKE_CURRENT_BINARY_DIR}/_ping_server.c
	 						${CMAKE_CURRENT_BINARY_DIR}/simgrid.${LIB_EXE}
	 				COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${CMAKE_CURRENT_BINARY_DIR}/simgrid.${LIB_EXE}
  					COMMAND lua ${CMAKE_CURRENT_SOURCE_DIR}/ping_generator.lua
  					WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} #needed to find simgrid.so. By default CMAKE_CURRENT_BINARY_DIR
					)

### Add definitions for compile
target_link_libraries(ping_simulator_console simgrid pthread m )
target_link_libraries(ping_client_console gras simgrid pthread m )
target_link_libraries(ping_server_console gras simgrid pthread m )
endif(HAVE_LUA)
