Files
unison/build-support/custom-modules/ns3-fetch-optional-modules-dependencies.cmake
2023-12-27 20:23:30 +00:00

78 lines
2.0 KiB
CMake

include(ExternalProject)
ExternalProject_Add(
brite_dep
URL https://code.nsnam.org/BRITE/archive/30338f4f63b9.zip
URL_HASH MD5=b36ecf8f6b5f2cfae936ba1f1bfcff5c
PREFIX brite_dep
BUILD_IN_SOURCE TRUE
CONFIGURE_COMMAND make
BUILD_COMMAND make
INSTALL_COMMAND make install PREFIX=${CMAKE_OUTPUT_DIRECTORY}
)
ExternalProject_Add(
click_dep
GIT_REPOSITORY https://github.com/kohler/click.git
GIT_TAG 9197a594b1c314264935106297aff08d97cbe7ee
PREFIX click_dep
BUILD_IN_SOURCE TRUE
UPDATE_DISCONNECTED TRUE
CONFIGURE_COMMAND
./configure --disable-linuxmodule --enable-nsclick --enable-wifi --prefix
${CMAKE_OUTPUT_DIRECTORY} --libdir ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
BUILD_COMMAND make -j${NumThreads}
INSTALL_COMMAND make install
)
ExternalProject_Add(
openflow_dep
URL https://code.nsnam.org/openflow/archive/d45e7d184151.zip
URL_HASH MD5=a068cdaec5523586921b2f1f81f10916
PREFIX openflow_dep
BUILD_IN_SOURCE TRUE
CONFIGURE_COMMAND ./waf configure --prefix ${CMAKE_OUTPUT_DIRECTORY}
BUILD_COMMAND ./waf build
INSTALL_COMMAND ./waf install
)
install(
DIRECTORY ${CMAKE_OUTPUT_DIRECTORY}/include/openflow
DESTINATION ${CMAKE_INSTALL_PREFIX}/include
USE_SOURCE_PERMISSIONS
PATTERN "openflow/*"
)
find_file(
BOOST_STATIC_ASSERT
NAMES static_assert.hpp
PATH_SUFFIXES boost
HINTS /usr/local
)
get_filename_component(boost_dir ${BOOST_STATIC_ASSERT} DIRECTORY)
install(
DIRECTORY ${boost_dir}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
USE_SOURCE_PERMISSIONS
PATTERN "boost/*"
)
install(
DIRECTORY ${CMAKE_OUTPUT_DIRECTORY}/${libdir}/
DESTINATION ${CMAKE_INSTALL_LIBDIR}
USE_SOURCE_PERMISSIONS
PATTERN "${libdir}/*"
)
macro(add_dependency_to_optional_modules_dependencies)
add_dependencies(${libbrite} brite_dep)
add_dependencies(${libclick} click_dep)
add_dependencies(${libopenflow} openflow_dep)
if(NOT ${XCODE})
add_dependencies(${libbrite}-obj brite_dep)
add_dependencies(${libclick}-obj click_dep)
add_dependencies(${libopenflow}-obj openflow_dep)
endif()
endmacro()