From 4c48bd895304f134d21a2f3a4eeb999a316463c6 Mon Sep 17 00:00:00 2001 From: navarrop Date: Mon, 6 Sep 2010 12:11:25 +0000 Subject: [PATCH 1/1] Link to lib simgrid work when compil out of build source. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8170 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- buildtools/Cmake/MakeExeLib.cmake | 32 +++++++++++-------------- examples/gras/console/CMakeLists.txt | 35 +++++++++++++++------------- 2 files changed, 32 insertions(+), 35 deletions(-) diff --git a/buildtools/Cmake/MakeExeLib.cmake b/buildtools/Cmake/MakeExeLib.cmake index 9bd1c38d2c..a539c9141c 100644 --- a/buildtools/Cmake/MakeExeLib.cmake +++ b/buildtools/Cmake/MakeExeLib.cmake @@ -24,13 +24,12 @@ set(SMPI_DEP "") if(HAVE_RUBY) set(SIMGRID_DEP "${SIMGRID_DEP} -l${RUBY_LIBRARY_NAME} -module") - ADD_CUSTOM_COMMAND( - OUTPUT ${PROJECT_DIRECTORY}/src/bindings/ruby/libsimgrid.so + ADD_CUSTOM_TARGET(link_simgrid_ruby ALL + DEPENDS simgrid COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/src/bindings/ruby/libsimgrid.so COMMENT "Generating libsimgrid.so link for binding ruby..." - ) - ADD_CUSTOM_TARGET(link_simgrid_ruby ALL - DEPENDS simgrid ${PROJECT_DIRECTORY}/src/bindings/ruby/libsimgrid.so) + ) + endif(HAVE_RUBY) if(CMAKE_SYSTEM_NAME MATCHES "Darwin") @@ -48,22 +47,17 @@ if(pthread) endif(pthread) if(HAVE_LUA) - SET(SIMGRID_DEP "${SIMGRID_DEP} -ldl -l${liblua}") - ADD_CUSTOM_COMMAND( - OUTPUT ${PROJECT_DIRECTORY}/examples/lua/simgrid.so - OUTPUT ${PROJECT_DIRECTORY}/examples/msg/masterslave/simgrid.so - OUTPUT ${PROJECT_DIRECTORY}/examples/simdag/simgrid.so - OUTPUT ${PROJECT_DIRECTOTY}/examples/gras/console/simgrid.so - COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/lua/simgrid.so - COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/msg/masterslave/simgrid.so - COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/simdag/simgrid.so - COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/gras/console/simgrid.so + SET(SIMGRID_DEP "${SIMGRID_DEP} -ldl -l${liblua}") + + ADD_CUSTOM_TARGET(link_simgrid_lua ALL + DEPENDS simgrid + COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/lua/simgrid.so #for test + COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/msg/masterslave/simgrid.so #for test + COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/simdag/simgrid.so #for test + COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.so ${PROJECT_DIRECTORY}/examples/gras/console/simgrid.so #for compil COMMENT "Generating libsimgrid.so link for binding lua..." ) - - ADD_CUSTOM_TARGET(link_simgrid_lua ALL - DEPENDS simgrid ${PROJECT_DIRECTORY}/examples/lua/simgrid.so) - + endif(HAVE_LUA) if(HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H) diff --git a/examples/gras/console/CMakeLists.txt b/examples/gras/console/CMakeLists.txt index 00d6bd64f5..13a7025d57 100644 --- a/examples/gras/console/CMakeLists.txt +++ b/examples/gras/console/CMakeLists.txt @@ -1,29 +1,32 @@ 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 +set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/_ping_simulator.c + ${CMAKE_CURRENT_SOURCE_DIR}/_ping_client.c + ${CMAKE_CURRENT_SOURCE_DIR}/_ping_server.c PROPERTIES GENERATED true) set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_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_executable(ping_simulator_console ${CMAKE_CURRENT_SOURCE_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_SOURCE_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_SOURCE_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 + OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/_ping_simulator.c + ${CMAKE_CURRENT_SOURCE_DIR}/_ping_client.c + ${CMAKE_CURRENT_SOURCE_DIR}/_ping_server.c COMMAND lua ${CMAKE_CURRENT_SOURCE_DIR}/ping_generator.lua + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_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 ) -- 2.20.1