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,26 +1,29 @@
|
||||
set(name sixlowpan)
|
||||
|
||||
set(source_files helper/sixlowpan-helper.cc model/sixlowpan-header.cc
|
||||
model/sixlowpan-net-device.cc
|
||||
)
|
||||
|
||||
set(header_files helper/sixlowpan-helper.h model/sixlowpan-header.h
|
||||
model/sixlowpan-net-device.h
|
||||
)
|
||||
|
||||
set(libraries_to_link ${libinternet} ${libinternet} ${libcore})
|
||||
|
||||
set(example_as_test_suite)
|
||||
if(${ENABLE_EXAMPLES})
|
||||
set(example_as_test_suite test/sixlowpan-examples-test-suite.cc)
|
||||
set(example_as_test_suite
|
||||
test/sixlowpan-examples-test-suite.cc
|
||||
)
|
||||
endif()
|
||||
|
||||
set(test_sources
|
||||
${example_as_test_suite} test/mock-net-device.cc
|
||||
test/sixlowpan-fragmentation-test.cc test/sixlowpan-hc1-test.cc
|
||||
test/sixlowpan-iphc-stateful-test.cc test/sixlowpan-iphc-test.cc
|
||||
)
|
||||
|
||||
build_lib("${name}" "${source_files}" "${header_files}" "${libraries_to_link}"
|
||||
"${test_sources}"
|
||||
build_lib(
|
||||
LIBNAME sixlowpan
|
||||
SOURCE_FILES
|
||||
helper/sixlowpan-helper.cc
|
||||
model/sixlowpan-header.cc
|
||||
model/sixlowpan-net-device.cc
|
||||
HEADER_FILES
|
||||
helper/sixlowpan-helper.h
|
||||
model/sixlowpan-header.h
|
||||
model/sixlowpan-net-device.h
|
||||
LIBRARIES_TO_LINK
|
||||
${libinternet}
|
||||
${libinternet}
|
||||
${libcore}
|
||||
TEST_SOURCES
|
||||
${example_as_test_suite}
|
||||
test/mock-net-device.cc
|
||||
test/sixlowpan-fragmentation-test.cc
|
||||
test/sixlowpan-hc1-test.cc
|
||||
test/sixlowpan-iphc-stateful-test.cc
|
||||
test/sixlowpan-iphc-test.cc
|
||||
)
|
||||
|
||||
@@ -1,39 +1,44 @@
|
||||
set(name example-sixlowpan)
|
||||
set(source_files ${name}.cc)
|
||||
set(header_files)
|
||||
set(libraries_to_link ${libnetwork} ${libsixlowpan} ${libinternet} ${libcsma}
|
||||
${libinternet-apps}
|
||||
)
|
||||
build_lib_example(
|
||||
"${name}" "${source_files}" "${header_files}" "${libraries_to_link}"
|
||||
NAME example-sixlowpan
|
||||
SOURCE_FILES example-sixlowpan.cc
|
||||
LIBRARIES_TO_LINK
|
||||
${libnetwork}
|
||||
${libsixlowpan}
|
||||
${libinternet}
|
||||
${libcsma}
|
||||
${libinternet-apps}
|
||||
)
|
||||
|
||||
set(name example-ping-lr-wpan)
|
||||
set(source_files ${name}.cc)
|
||||
set(header_files)
|
||||
set(libraries_to_link ${libnetwork} ${libsixlowpan} ${libinternet}
|
||||
${liblr-wpan} ${libinternet-apps}
|
||||
)
|
||||
build_lib_example(
|
||||
"${name}" "${source_files}" "${header_files}" "${libraries_to_link}"
|
||||
NAME example-ping-lr-wpan
|
||||
SOURCE_FILES example-ping-lr-wpan.cc
|
||||
LIBRARIES_TO_LINK
|
||||
${libnetwork}
|
||||
${libsixlowpan}
|
||||
${libinternet}
|
||||
${liblr-wpan}
|
||||
${libinternet-apps}
|
||||
)
|
||||
|
||||
set(name example-ping-lr-wpan-beacon)
|
||||
set(source_files ${name}.cc)
|
||||
set(header_files)
|
||||
set(libraries_to_link ${libnetwork} ${libsixlowpan} ${libinternet}
|
||||
${liblr-wpan} ${libinternet-apps}
|
||||
)
|
||||
build_lib_example(
|
||||
"${name}" "${source_files}" "${header_files}" "${libraries_to_link}"
|
||||
NAME example-ping-lr-wpan-beacon
|
||||
SOURCE_FILES example-ping-lr-wpan-beacon.cc
|
||||
LIBRARIES_TO_LINK
|
||||
${libnetwork}
|
||||
${libsixlowpan}
|
||||
${libinternet}
|
||||
${liblr-wpan}
|
||||
${libinternet-apps}
|
||||
)
|
||||
|
||||
set(name example-ping-lr-wpan-mesh-under)
|
||||
set(source_files ${name}.cc)
|
||||
set(header_files)
|
||||
set(libraries_to_link ${libnetwork} ${libsixlowpan} ${libinternet}
|
||||
${liblr-wpan} ${libinternet-apps} ${libcsma}
|
||||
)
|
||||
build_lib_example(
|
||||
"${name}" "${source_files}" "${header_files}" "${libraries_to_link}"
|
||||
NAME example-ping-lr-wpan-mesh-under
|
||||
SOURCE_FILES example-ping-lr-wpan-mesh-under.cc
|
||||
LIBRARIES_TO_LINK
|
||||
${libnetwork}
|
||||
${libsixlowpan}
|
||||
${libinternet}
|
||||
${liblr-wpan}
|
||||
${libinternet-apps}
|
||||
${libcsma}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user