Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
We must use those two libraries for ns3 when using ns3 3.12
[simgrid.git] / buildtools / Cmake / MakeLib.cmake
index 71e42eb..6aa5649 100644 (file)
@@ -1,17 +1,8 @@
 ### Make Libs
 
-
-# Try to make Mac a bit more complient to open source standards
-if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
-       add_definitions("-D_XOPEN_SOURCE")
-endif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
-
 ###############################
 # Declare the library content #
 ###############################
-# If we want supernovae, rewrite the libs' content to use it
-include(${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Supernovae.cmake)
-
 # Actually declare our libraries
 
 add_library(simgrid SHARED ${simgrid_sources})
@@ -35,22 +26,6 @@ endif(enable_smpi)
 add_dependencies(gras maintainer_files)
 add_dependencies(simgrid maintainer_files)                             
 
-# if supernovaeing, we need some depends to make sure that the source gets generated
-if (enable_supernovae)
-       add_dependencies(simgrid ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c)
-       if(enable_lib_static)
-               add_dependencies(simgrid_static ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c)
-       endif(enable_lib_static)
-       add_dependencies(gras ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_gras.c)
-
-       if(enable_smpi)
-               add_dependencies(smpi ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c)
-               if(enable_lib_static)
-                       add_dependencies(smpi_static ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c)
-               endif(enable_lib_static)
-       endif(enable_smpi)
-endif(enable_supernovae)       
-
 # Compute the dependencies of GRAS
 ##################################
 set(GRAS_DEP "-lm -lpthread")
@@ -72,10 +47,7 @@ target_link_libraries(gras   ${GRAS_DEP})
 
 # Compute the dependencies of SimGrid
 #####################################
-set(SIMGRID_DEP "-lm")
-if(HAVE_PCRE_LIB)
-       SET(SIMGRID_DEP "${SIMGRID_DEP} -lpcre")
-endif(HAVE_PCRE_LIB)
+set(SIMGRID_DEP "-lm -lpcre")
 
 if(pthread)
        if(${CONTEXT_THREADS})
@@ -83,6 +55,32 @@ if(pthread)
        endif(${CONTEXT_THREADS})       
 endif(pthread)
 
+if(HAVE_LUA)     
+    ADD_CUSTOM_TARGET(link_simgrid_lua ALL
+      DEPENDS  simgrid
+                       ${CMAKE_BINARY_DIR}/examples/lua/simgrid.${LIB_EXE}
+                               ${CMAKE_BINARY_DIR}/examples/msg/masterslave/simgrid.${LIB_EXE}
+                               ${CMAKE_BINARY_DIR}/examples/simdag/simgrid.${LIB_EXE}
+       )
+       add_custom_command(
+               OUTPUT  ${CMAKE_BINARY_DIR}/examples/lua/simgrid.${LIB_EXE}
+                               ${CMAKE_BINARY_DIR}/examples/msg/masterslave/simgrid.${LIB_EXE}
+                               ${CMAKE_BINARY_DIR}/examples/simdag/simgrid.${LIB_EXE}
+               COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/examples/lua/simgrid.${LIB_EXE} # if it exists, creating the link fails. So cleanup before hand
+               COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/examples/lua/
+               COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${CMAKE_BINARY_DIR}/examples/lua/simgrid.${LIB_EXE} #for test
+               
+               COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/examples/msg/masterslave/simgrid.${LIB_EXE} # if it exists, creating the link fails. So cleanup before hand
+               COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/examples/msg/masterslave/
+               COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${CMAKE_BINARY_DIR}/examples/msg/masterslave/simgrid.${LIB_EXE} #for test
+               
+               COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/examples/simdag/simgrid.${LIB_EXE} # if it exists, creating the link fails. So cleanup before hand
+               COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/examples/simdag/
+               COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${CMAKE_BINARY_DIR}/examples/simdag/simgrid.${LIB_EXE} #for test                       
+       )
+       SET(SIMGRID_DEP "${SIMGRID_DEP} -l${LIB_LUA_NAME}")       
+endif(HAVE_LUA)
+
 if(HAVE_GRAPHVIZ)
     if(HAVE_CGRAPH_LIB)
            SET(SIMGRID_DEP "${SIMGRID_DEP} -lcgraph")
@@ -97,6 +95,16 @@ if(HAVE_GTNETS)
        SET(SIMGRID_DEP "${SIMGRID_DEP} -lgtnets")
 endif(HAVE_GTNETS)
 
+if(HAVE_NS3)
+    if(${NS3_VERSION} EQUAL 310)
+           SET(SIMGRID_DEP "${SIMGRID_DEP} -lns3")
+           set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_NS3_3_10")
+           set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_NS3_3_10")
+       else(${NS3_VERSION} EQUAL 310)
+           SET(SIMGRID_DEP "${SIMGRID_DEP} -lns3-core -lns3-csma -lns3-point-to-point -lns3-internet -lns3-applications")
+       endif(${NS3_VERSION} EQUAL 310)
+endif(HAVE_NS3)
+
 if(HAVE_POSIX_GETTIME)
        SET(SIMGRID_DEP "${SIMGRID_DEP} -lrt")
 endif(HAVE_POSIX_GETTIME)