Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Link to lib simgrid work when compil out of build source.
authornavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 6 Sep 2010 12:11:25 +0000 (12:11 +0000)
committernavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 6 Sep 2010 12:11:25 +0000 (12:11 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8170 48e7efb5-ca39-0410-a469-dd3cf9ba447f

buildtools/Cmake/MakeExeLib.cmake
examples/gras/console/CMakeLists.txt

index 9bd1c38..a539c91 100644 (file)
@@ -24,13 +24,12 @@ set(SMPI_DEP "")
 
 if(HAVE_RUBY)
        set(SIMGRID_DEP "${SIMGRID_DEP} -l${RUBY_LIBRARY_NAME} -module")
 
 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..."
          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")
 endif(HAVE_RUBY)
 
 if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
@@ -48,22 +47,17 @@ if(pthread)
 endif(pthread)
 
 if(HAVE_LUA)
 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..."
        )
          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)
 endif(HAVE_LUA)
 
 if(HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H)
index 00d6bd6..13a7025 100644 (file)
@@ -1,29 +1,32 @@
 if(HAVE_LUA)
 cmake_minimum_required(VERSION 2.6)
 
 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}")
 
                             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(
 
 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
                                        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 )
                                        )
 ### Add definitions for compile
 target_link_libraries(ping_simulator_console simgrid pthread m )