1
# If you use NS-3 version 3.14 (prefer used at most 3.13) be sure having do
2
# ln -sf libns3.14.1-applications-debug.so libns3-applications.so
3
# ln -sf libns3.14.1-internet-debug.so libns3-internet.so
4
# ln -sf libns3.14.1-point-to-point-debug.so libns3-point-to-point.so
5
# ln -sf libns3.14.1-csma-debug.so libns3-csma.so
6
# ln -sf libns3.14.1-core-debug.so libns3-core.so
1
8
find_library(HAVE_NS3_LIB
3
PATH_SUFFIXES lib64 lib ns3/lib
10
PATH_SUFFIXES lib64 lib ns3/lib
8
15
find_library(HAVE_NS3_CORE_LIB
10
PATH_SUFFIXES lib64 lib ns3/lib
17
PATH_SUFFIXES lib64 lib ns3/lib
15
22
find_path(HAVE_CORE_MODULE_H
16
NAME ns3/core-module.h
17
PATH_SUFFIXES include ns3/include
23
NAME ns3/core-module.h
24
PATH_SUFFIXES include ns3/include include/ns3.14.1
22
29
message(STATUS "Looking for core-module.h")
23
30
if(HAVE_CORE_MODULE_H)
24
message(STATUS "Looking for core-module.h - found")
25
else(HAVE_CORE_MODULE_H)
26
message(STATUS "Looking for core-module.h - not found")
27
endif(HAVE_CORE_MODULE_H)
31
message(STATUS "Looking for core-module.h - found")
33
message(STATUS "Looking for core-module.h - not found")
28
35
mark_as_advanced(HAVE_CORE_MODULE_H)
30
37
message(STATUS "Looking for lib ns3")
32
message(STATUS "Looking for lib ns3 - found")
34
message(STATUS "Looking for lib ns3 - not found")
39
message(STATUS "Looking for lib ns3 - found")
41
message(STATUS "Looking for lib ns3 - not found")
36
43
mark_as_advanced(HAVE_NS3_LIB)
38
45
message(STATUS "Looking for lib ns3-core")
39
46
if(HAVE_NS3_CORE_LIB)
40
message(STATUS "Looking for lib ns3-core - found")
41
else(HAVE_NS3_CORE_LIB)
42
message(STATUS "Looking for lib ns3-core - not found")
43
endif(HAVE_NS3_CORE_LIB)
47
message(STATUS "Looking for lib ns3-core - found")
49
message(STATUS "Looking for lib ns3-core - not found")
44
52
mark_as_advanced(HAVE_NS3_LIB)
45
53
mark_as_advanced(HAVE_NS3_CORE_LIB)
47
55
if(HAVE_CORE_MODULE_H)
49
message(STATUS "Warning: NS-3 version <= 3.10")
52
string(REPLACE "/libns3.${LIB_EXE}" "" HAVE_NS3_LIB "${HAVE_NS3_LIB}")
55
message(STATUS "NS-3 version > 3.10")
58
string(REPLACE "/libns3-core.${LIB_EXE}" "" HAVE_NS3_LIB "${HAVE_NS3_CORE_LIB}")
59
endif(HAVE_NS3_CORE_LIB)
60
endif(HAVE_CORE_MODULE_H)
57
message(STATUS "Warning: NS-3 version <= 3.10")
60
string(REPLACE "/libns3.${LIB_EXE}" "" HAVE_NS3_LIB "${HAVE_NS3_LIB}")
63
message(STATUS "NS-3 version > 3.10")
66
string(REPLACE "/libns3-core.${LIB_EXE}" "" HAVE_NS3_LIB "${HAVE_NS3_CORE_LIB}")
63
string(REGEX MATCH "${HAVE_NS3_LIB}" operation "$ENV{LD_LIBRARY_PATH}")
65
message(STATUS "Warning: To use NS-3 don't forget to set LD_LIBRARY_PATH with: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HAVE_NS3_LIB}")
68
string(REGEX MATCH "-L${HAVE_NS3_LIB} " operation1 "${CMAKE_C_FLAGS}")
70
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${HAVE_NS3_LIB} ")
73
string(REGEX MATCH "-I${HAVE_CORE_MODULE_H} " operation1 "${CMAKE_C_FLAGS}")
75
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${HAVE_CORE_MODULE_H} ")
78
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-I${HAVE_CORE_MODULE_H} -L${HAVE_NS3_LIB} ")
81
message(STATUS "Warning: To use NS-3 Please install ns3 at least version 3.10 (http://www.nsnam.org/releases/)")
71
string(REGEX MATCH "${HAVE_NS3_LIB}" operation "$ENV{LD_LIBRARY_PATH}")
73
message(STATUS "Warning: To use NS-3 don't forget to set LD_LIBRARY_PATH with: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HAVE_NS3_LIB}")
76
string(REGEX MATCH "-L${HAVE_NS3_LIB} " operation1 "${CMAKE_C_FLAGS}")
78
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${HAVE_NS3_LIB} ")
81
string(REGEX MATCH "-I${HAVE_CORE_MODULE_H} " operation1 "${CMAKE_C_FLAGS}")
83
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${HAVE_CORE_MODULE_H} ")
86
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-I${HAVE_CORE_MODULE_H} -L${HAVE_NS3_LIB} ")
89
message(STATUS "Warning: To use NS-3 Please install ns3 at least version 3.10 (http://www.nsnam.org/releases/)")
84
92
if(HAVE_NS3 AND enable_supernovae)
85
set(enable_supernovae OFF)
86
endif(HAVE_NS3 AND enable_supernovae)
93
set(enable_supernovae OFF)