Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Need this flag for c++.
[simgrid.git] / buildtools / Cmake / MakeLib.cmake
index 71e42eb..3432d7f 100644 (file)
@@ -1,11 +1,5 @@
 ### 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 #
 ###############################
@@ -83,6 +77,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 +117,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")
+       endif(${NS3_VERSION} EQUAL 310)
+endif(HAVE_NS3)
+
 if(HAVE_POSIX_GETTIME)
        SET(SIMGRID_DEP "${SIMGRID_DEP} -lrt")
 endif(HAVE_POSIX_GETTIME)