summaryrefslogtreecommitdiffstats
path: root/cmake/EchoTarget.cmake
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cmake/EchoTarget.cmake178
1 files changed, 178 insertions, 0 deletions
diff --git a/cmake/EchoTarget.cmake b/cmake/EchoTarget.cmake
new file mode 100644
index 0000000..1275925
--- /dev/null
+++ b/cmake/EchoTarget.cmake
@@ -0,0 +1,178 @@
+function(echo_target_property tgt prop)
+ # v for value, d for defined, s for set
+ get_property(v TARGET ${tgt} PROPERTY ${prop})
+ get_property(d TARGET ${tgt} PROPERTY ${prop} DEFINED)
+ get_property(s TARGET ${tgt} PROPERTY ${prop} SET)
+
+ # only produce output for values that are set
+ if(s)
+ message("tgt='${tgt}' prop='${prop}'")
+ message(" value='${v}'")
+ message(" defined='${d}'")
+ message(" set='${s}'")
+ message("")
+ endif()
+endfunction()
+
+function(echo_target tgt)
+ if(NOT TARGET ${tgt})
+ message("There is no target named '${tgt}'")
+ return()
+ endif()
+
+ set(props
+ DEBUG_OUTPUT_NAME
+ RELEASE_OUTPUT_NAME
+ DEBUG_POSTFIX
+ RELEASE_POSTFIX
+ ARCHIVE_OUTPUT_DIRECTORY
+ ARCHIVE_OUTPUT_DIRECTORY_DEBUG
+ ARCHIVE_OUTPUT_DIRECTORY_RELEASE
+ ARCHIVE_OUTPUT_NAME
+ ARCHIVE_OUTPUT_NAME_DEBUG
+ ARCHIVE_OUTPUT_NAME_RELEASE
+ AUTOMOC
+ AUTOMOC_MOC_OPTIONS
+ BUILD_WITH_INSTALL_RPATH
+ BUNDLE
+ BUNDLE_EXTENSION
+ COMPILE_DEFINITIONS
+ COMPILE_DEFINITIONS_DEBUG
+ COMPILE_DEFINITIONS_RELEASE
+ COMPILE_FLAGS
+ DEBUG_POSTFIX
+ DEFINE_SYMBOL
+ ENABLE_EXPORTS
+ EXCLUDE_FROM_ALL
+ EchoString
+ FOLDER
+ FRAMEWORK
+ Fortran_FORMAT
+ Fortran_MODULE_DIRECTORY
+ GENERATOR_FILE_NAME
+ GNUtoMS
+ HAS_CXX
+ IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
+ IMPORTED
+ IMPORTED_CONFIGURATIONS
+ IMPORTED_IMPLIB
+ IMPORTED_IMPLIB_RELEASE
+ IMPORTED_IMPLIB_RELEASE
+ IMPORTED_LINK_DEPENDENT_LIBRARIES
+ IMPORTED_LINK_DEPENDENT_LIBRARIES_DEBUG
+ IMPORTED_LINK_DEPENDENT_LIBRARIES_RELEASE
+ IMPORTED_LINK_INTERFACE_LANGUAGES
+ IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG
+ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE
+ IMPORTED_LINK_INTERFACE_LIBRARIES
+ IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG
+ IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE
+ IMPORTED_LINK_INTERFACE_MULTIPLICITY
+ IMPORTED_LINK_INTERFACE_MULTIPLICITY_DEBUG
+ IMPORTED_LINK_INTERFACE_MULTIPLICITY_RELEASE
+ IMPORTED_LOCATION
+ IMPORTED_LOCATION_DEBUG
+ IMPORTED_LOCATION_RELEASE
+ IMPORTED_NO_SONAME
+ IMPORTED_NO_SONAME_DEBUG
+ IMPORTED_NO_SONAME_RELEASE
+ IMPORTED_SONAME
+ IMPORTED_SONAME_DEBUG
+ IMPORTED_SONAME_RELEASE
+ IMPORT_PREFIX
+ IMPORT_SUFFIX
+ INCLUDE_DIRECTORIES
+ INSTALL_NAME_DIR
+ INSTALL_RPATH
+ INSTALL_RPATH_USE_LINK_PATH
+ INTERPROCEDURAL_OPTIMIZATION
+ INTERPROCEDURAL_OPTIMIZATION_DEBUG
+ INTERPROCEDURAL_OPTIMIZATION_RELEASE
+ LABELS
+ LIBRARY_OUTPUT_DIRECTORY
+ LIBRARY_OUTPUT_DIRECTORY_DEBUG
+ LIBRARY_OUTPUT_DIRECTORY_RELEASE
+ LIBRARY_OUTPUT_NAME
+ LIBRARY_OUTPUT_NAME_DEBUG
+ LIBRARY_OUTPUT_NAME_RELEASE
+ LINKER_LANGUAGE
+ LINK_DEPENDS
+ LINK_LIBRARIES
+ LINK_FLAGS
+ LINK_FLAGS_DEBUG
+ LINK_FLAGS_RELEASE
+ LINK_INTERFACE_LIBRARIES
+ LINK_INTERFACE_LIBRARIES_DEBUG
+ LINK_INTERFACE_LIBRARIES_RELEASE
+ LINK_INTERFACE_MULTIPLICITY
+ LINK_INTERFACE_MULTIPLICITY_DEBUG
+ LINK_INTERFACE_MULTIPLICITY_RELEASE
+ LINK_SEARCH_END_STATIC
+ LINK_SEARCH_START_STATIC
+ LOCATION
+ LOCATION_DEBUG
+ LOCATION_RELEASE
+ MACOSX_BUNDLE
+ MACOSX_BUNDLE_INFO_PLIST
+ MACOSX_FRAMEWORK_INFO_PLIST
+ MAP_IMPORTED_CONFIG_DEBUG
+ MAP_IMPORTED_CONFIG_RELEASE
+ OSX_ARCHITECTURES
+ OSX_ARCHITECTURES_DEBUG
+ OSX_ARCHITECTURES_RELEASE
+ OUTPUT_NAME
+ OUTPUT_NAME_DEBUG
+ OUTPUT_NAME_RELEASE
+ POST_INSTALL_SCRIPT
+ PREFIX
+ PRE_INSTALL_SCRIPT
+ PRIVATE_HEADER
+ PROJECT_LABEL
+ PUBLIC_HEADER
+ RESOURCE
+ RULE_LAUNCH_COMPILE
+ RULE_LAUNCH_CUSTOM
+ RULE_LAUNCH_LINK
+ RUNTIME_OUTPUT_DIRECTORY
+ RUNTIME_OUTPUT_DIRECTORY_DEBUG
+ RUNTIME_OUTPUT_DIRECTORY_RELEASE
+ RUNTIME_OUTPUT_NAME
+ RUNTIME_OUTPUT_NAME_DEBUG
+ RUNTIME_OUTPUT_NAME_RELEASE
+ SKIP_BUILD_RPATH
+ SOURCES
+ SOVERSION
+ STATIC_LIBRARY_FLAGS
+ STATIC_LIBRARY_FLAGS_DEBUG
+ STATIC_LIBRARY_FLAGS_RELEASE
+ SUFFIX
+ TYPE
+ VERSION
+ VS_DOTNET_REFERENCES
+ VS_GLOBAL_KEYWORD
+ VS_GLOBAL_PROJECT_TYPES
+ VS_KEYWORD
+ VS_SCC_AUXPATH
+ VS_SCC_LOCALPATH
+ VS_SCC_PROJECTNAME
+ VS_SCC_PROVIDER
+ VS_WINRT_EXTENSIONS
+ VS_WINRT_REFERENCES
+ WIN32_EXECUTABLE
+ )
+
+ message("======================== ${tgt} ========================")
+ foreach(p ${props})
+ echo_target_property("${tgt}" "${p}")
+ endforeach()
+ message("")
+
+endfunction()
+
+function(echo_targets)
+ set(tgts ${ARGV})
+ foreach(t ${tgts})
+ echo_target("${t}")
+ endforeach()
+endfunction()
+