From 881f64017f279a1deab66793da7e22b53dbaa4f1 Mon Sep 17 00:00:00 2001 From: Gabriel Ferreira Date: Sat, 8 Oct 2022 21:11:38 -0300 Subject: [PATCH] build: support "private" headers (unlisted in module headers) --- build-support/cmake-format-modules.txt | 1 + build-support/cmake-format.txt | 1 + .../custom-modules/ns3-module-macros.cmake | 16 +++++++++++----- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/build-support/cmake-format-modules.txt b/build-support/cmake-format-modules.txt index 706d0011e..963cefa50 100644 --- a/build-support/cmake-format-modules.txt +++ b/build-support/cmake-format-modules.txt @@ -17,6 +17,7 @@ additional_commands: LIBNAME : '1' SOURCE_FILES : '*' HEADER_FILES : '*' + PRIVATE_HEADER_FILES : '*' LIBRARIES_TO_LINK : '*' TEST_SOURCES : '*' DEPRECATED_HEADER_FILES : '*' diff --git a/build-support/cmake-format.txt b/build-support/cmake-format.txt index 8b925366e..58d38a3dd 100644 --- a/build-support/cmake-format.txt +++ b/build-support/cmake-format.txt @@ -17,6 +17,7 @@ additional_commands: LIBNAME : '1' SOURCE_FILES : '*' HEADER_FILES : '*' + PRIVATE_HEADER_FILES : '*' LIBRARIES_TO_LINK : '*' TEST_SOURCES : '*' DEPRECATED_HEADER_FILES : '*' diff --git a/build-support/custom-modules/ns3-module-macros.cmake b/build-support/custom-modules/ns3-module-macros.cmake index 963c59b5b..ec9f00523 100644 --- a/build-support/custom-modules/ns3-module-macros.cmake +++ b/build-support/custom-modules/ns3-module-macros.cmake @@ -35,8 +35,14 @@ function(build_lib) # Argument parsing set(options IGNORE_PCH) set(oneValueArgs LIBNAME) - set(multiValueArgs SOURCE_FILES HEADER_FILES LIBRARIES_TO_LINK TEST_SOURCES - DEPRECATED_HEADER_FILES MODULE_ENABLED_FEATURES + set(multiValueArgs + SOURCE_FILES + HEADER_FILES + LIBRARIES_TO_LINK + TEST_SOURCES + DEPRECATED_HEADER_FILES + MODULE_ENABLED_FEATURES + PRIVATE_HEADER_FILES ) cmake_parse_arguments( "BLIB" "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} @@ -119,7 +125,7 @@ function(build_lib) ${lib${BLIB_LIBNAME}} PROPERTIES PUBLIC_HEADER - "${BLIB_HEADER_FILES};${BLIB_DEPRECATED_HEADER_FILES};${config_headers};${CMAKE_HEADER_OUTPUT_DIRECTORY}/${BLIB_LIBNAME}-module.h" + "${BLIB_HEADER_FILES};${BLIB_DEPRECATED_HEADER_FILES};${config_headers};${BLIB_PRIVATE_HEADER_FILES};${CMAKE_HEADER_OUTPUT_DIRECTORY}/${BLIB_LIBNAME}-module.h" RUNTIME_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} # set output # directory for # DLLs @@ -221,8 +227,8 @@ function(build_lib) # Copy all header files to outputfolder/include before each build copy_headers_before_building_lib( - ${BLIB_LIBNAME} ${CMAKE_HEADER_OUTPUT_DIRECTORY} "${BLIB_HEADER_FILES}" - public + ${BLIB_LIBNAME} ${CMAKE_HEADER_OUTPUT_DIRECTORY} + "${BLIB_HEADER_FILES};${BLIB_PRIVATE_HEADER_FILES}" public ) if(BLIB_DEPRECATED_HEADER_FILES) copy_headers_before_building_lib(