build: CMake refactoring

Includes:
- refactor build_lib and build_lib_example macros
    - unify src and contrib macros
    - replace macro with function not to leak definitions
    - parse list of arguments
- different cmake-format file for modules to list one item per line
This commit is contained in:
Gabriel Ferreira
2022-01-27 11:40:41 -03:00
parent d470fb77d4
commit 41aacec626
108 changed files with 2716 additions and 2704 deletions

View File

@@ -1,12 +1,11 @@
set(name visualizer)
set(source_files model/pyviz.cc model/visual-simulator-impl.cc)
set(header_files model/pyviz.h)
include_directories(${Python_INCLUDE_DIRS})
set(libraries_to_link
build_lib(
LIBNAME visualizer
SOURCE_FILES model/pyviz.cc
model/visual-simulator-impl.cc
HEADER_FILES model/pyviz.h
LIBRARIES_TO_LINK
${Python_LIBRARIES}
${libcore}
${libinternet}
@@ -19,19 +18,26 @@ set(libraries_to_link
${libmesh}
)
set(test_sources)
build_lib("${name}" "${source_files}" "${header_files}" "${libraries_to_link}"
"${test_sources}"
)
# move visualizer folder to build/bindings/python, which allows us to add only
# PYTHONPATH=ns-3-dev/build/bindings/python
file(GLOB_RECURSE visualizer_files ${CMAKE_CURRENT_SOURCE_DIR}/visualizer/*)
foreach(file ${visualizer_files})
string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_OUTPUT_DIRECTORY}/bindings/python" destination
${file}
file(
GLOB_RECURSE
visualizer_files
${CMAKE_CURRENT_SOURCE_DIR}/visualizer/*
)
foreach(
file
${visualizer_files}
)
string(
REPLACE "${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_OUTPUT_DIRECTORY}/bindings/python"
destination
${file}
)
configure_file(
${file}
${destination}
COPYONLY
)
configure_file(${file} ${destination} COPYONLY)
endforeach()