Merge topic 'GenerateExportHeader-include-guard'

b1ae9aaf GenerateExportHeader: add release notes, tests for include guard changes
f4082b0e GenerateExportHeader: add INCLUDE_GUARD_NAME option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1643
This commit is contained in:
Brad King
2018-01-24 13:52:59 +00:00
committed by Kitware Robot
22 changed files with 62 additions and 17 deletions
@@ -0,0 +1,8 @@
GenerateExportHeader-include-guard
----------------------------------
* The :module:`GenerateExportHeader` module learned an optional
``INCLUDE_GUARD_NAME`` parameter to change the name of the include guard
symbol written to the generated export header.
Additionally, it now adds a comment after the closing ``#endif`` on the
generated export header's include guard.
+7 -2
View File
@@ -19,6 +19,7 @@
# [EXPORT_FILE_NAME <export_file_name>]
# [DEPRECATED_MACRO_NAME <deprecated_macro_name>]
# [NO_EXPORT_MACRO_NAME <no_export_macro_name>]
# [INCLUDE_GUARD_NAME <include_guard_name>]
# [STATIC_DEFINE <static_define>]
# [NO_DEPRECATED_MACRO_NAME <no_deprecated_macro_name>]
# [DEFINE_NO_DEPRECATED]
@@ -277,7 +278,7 @@ macro(_DO_GENERATE_EXPORT_HEADER TARGET_LIBRARY)
set(options DEFINE_NO_DEPRECATED)
set(oneValueArgs PREFIX_NAME BASE_NAME EXPORT_MACRO_NAME EXPORT_FILE_NAME
DEPRECATED_MACRO_NAME NO_EXPORT_MACRO_NAME STATIC_DEFINE
NO_DEPRECATED_MACRO_NAME CUSTOM_CONTENT_FROM_VARIABLE)
NO_DEPRECATED_MACRO_NAME CUSTOM_CONTENT_FROM_VARIABLE INCLUDE_GUARD_NAME)
set(multiValueArgs)
cmake_parse_arguments(_GEH "${options}" "${oneValueArgs}" "${multiValueArgs}"
@@ -341,7 +342,11 @@ macro(_DO_GENERATE_EXPORT_HEADER TARGET_LIBRARY)
endif()
string(MAKE_C_IDENTIFIER ${NO_DEPRECATED_MACRO_NAME} NO_DEPRECATED_MACRO_NAME)
set(INCLUDE_GUARD_NAME "${EXPORT_MACRO_NAME}_H")
if(_GEH_INCLUDE_GUARD_NAME)
set(INCLUDE_GUARD_NAME ${_GEH_INCLUDE_GUARD_NAME})
else()
set(INCLUDE_GUARD_NAME "${EXPORT_MACRO_NAME}_H")
endif()
get_target_property(EXPORT_IMPORT_CONDITION ${TARGET_LIBRARY} DEFINE_SYMBOL)
+1 -1
View File
@@ -39,4 +39,4 @@
# endif
#endif
@CUSTOM_CONTENT@
#endif
#endif /* @INCLUDE_GUARD_NAME@ */
@@ -85,6 +85,7 @@ macro_add_test_library(libshared)
macro_add_test_library(libstatic)
add_subdirectory(nodeprecated)
add_subdirectory(includeguard)
if(NOT BORLAND)
add_subdirectory(c_identifier)
endif()
@@ -12,6 +12,8 @@ function(run_GEH)
run_cmake(GEH)
run_cmake_command(GEH-build ${CMAKE_COMMAND} --build . --config Debug)
run_cmake_command(GEH-run ${RunCMake_TEST_BINARY_DIR}/GenerateExportHeader)
run_cmake_command(GEH-incguard-macro-run ${RunCMake_TEST_BINARY_DIR}/test_includeguard_macro)
run_cmake_command(GEH-incguard-custom-run ${RunCMake_TEST_BINARY_DIR}/test_includeguard_custom)
file(STRINGS "${RunCMake_TEST_BINARY_DIR}/failure_test_targets"
failure_test_targets)
@@ -0,0 +1,19 @@
set(libincludeguard_SRC libincludeguard.cpp)
add_library(includeguard_macro ${libincludeguard_SRC})
generate_export_header(includeguard_macro)
set(EXPORT_HEADER includeguard_macro_export.h)
set(DEF_SYMBOL INCLUDEGUARD_MACRO_EXPORT_H)
set(NDEF_SYMBOL CUSTOM_GUARD)
configure_file(main.cpp.in main_macro.cpp)
add_executable(test_includeguard_macro ${CMAKE_CURRENT_BINARY_DIR}/main_macro.cpp)
add_library(includeguard_custom ${libincludeguard_SRC})
generate_export_header(includeguard_custom INCLUDE_GUARD_NAME CUSTOM_GUARD)
set(EXPORT_HEADER includeguard_custom_export.h)
set(DEF_SYMBOL CUSTOM_GUARD)
set(NDEF_SYMBOL INCLUDEGUARD_CUSTOM_EXPORT_H)
configure_file(main.cpp.in main_custom.cpp)
add_executable(test_includeguard_custom ${CMAKE_CURRENT_BINARY_DIR}/main_custom.cpp)
@@ -0,0 +1,10 @@
#include "@EXPORT_HEADER@"
int main()
{
#if defined(@DEF_SYMBOL@) && !defined(@NDEF_SYMBOL@)
return 0;
#else
return 1;
#endif
}
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSHARED_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSTATIC_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSHARED_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSTATIC_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSHARED_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSTATIC_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSHARED_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSTATIC_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSHARED_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSTATIC_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSHARED_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSTATIC_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSHARED_EXPORT_H */
@@ -39,4 +39,4 @@
# endif
#endif
#endif
#endif /* LIBSTATIC_EXPORT_H */