Blame cmake/EchoTarget.cmake

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