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:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user