Added namespace for file names
This commit is contained in:
parent
9c9a47e551
commit
3730830880
|
@ -140,7 +140,7 @@ if (NOT META_NO_INSTALL_TARGETS AND ENABLE_INSTALL_TARGETS)
|
||||||
get_filename_component(ICON_FILE_EXT "${ICON_FILE}" EXT)
|
get_filename_component(ICON_FILE_EXT "${ICON_FILE}" EXT)
|
||||||
install(
|
install(
|
||||||
FILES "${ICON_FILE}"
|
FILES "${ICON_FILE}"
|
||||||
RENAME "${ICON_FILE_NAME}${META_CONFIG_SUFFIX}${ICON_FILE_EXT}"
|
RENAME "${NAMESPACE_PREFIX}${ICON_FILE_NAME}${META_CONFIG_SUFFIX}${ICON_FILE_EXT}"
|
||||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps"
|
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps"
|
||||||
COMPONENT desktop)
|
COMPONENT desktop)
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
@ -247,7 +247,7 @@ function (add_desktop_file)
|
||||||
DESKTOP_FILE_CMD
|
DESKTOP_FILE_CMD
|
||||||
"${META_TARGET_NAME}"
|
"${META_TARGET_NAME}"
|
||||||
DESKTOP_FILE_ICON
|
DESKTOP_FILE_ICON
|
||||||
"${META_PROJECT_NAME}${META_CONFIG_SUFFIX}"
|
"${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}"
|
||||||
DESKTOP_FILE_ADDITIONAL_ENTRIES
|
DESKTOP_FILE_ADDITIONAL_ENTRIES
|
||||||
"${DESKTOP_FILE_ADDITIONAL_ENTRIES}")
|
"${DESKTOP_FILE_ADDITIONAL_ENTRIES}")
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,14 @@ if (CONFIGURATION_DISPLAY_NAME)
|
||||||
set(META_APP_NAME "${META_APP_NAME} (${CONFIGURATION_DISPLAY_NAME})")
|
set(META_APP_NAME "${META_APP_NAME} (${CONFIGURATION_DISPLAY_NAME})")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
set(NAMESPACE
|
||||||
|
""
|
||||||
|
CACHE STRING "adds a prefix to files and folders installed in the OS toplevel")
|
||||||
|
if (NAMESPACE)
|
||||||
|
set(NAMESPACE_PREFIX "${NAMESPACE}-")
|
||||||
|
set(TARGET_PREFIX "${NAMESPACE}-")
|
||||||
|
endif ()
|
||||||
|
|
||||||
# allow setting a library/application target suffix - A different configuration name might not require a different target
|
# allow setting a library/application target suffix - A different configuration name might not require a different target
|
||||||
# name since it might differ anyways (e.g. library extensions for static and shared configuration). Hence there's not simply
|
# name since it might differ anyways (e.g. library extensions for static and shared configuration). Hence there's not simply
|
||||||
# the configuration name used to distinguish targets as well.
|
# the configuration name used to distinguish targets as well.
|
||||||
|
@ -103,8 +111,8 @@ include(GNUInstallDirs)
|
||||||
|
|
||||||
# define a few variables
|
# define a few variables
|
||||||
set(META_TARGET_NAME "${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}")
|
set(META_TARGET_NAME "${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}")
|
||||||
set(META_DATA_DIR "${CMAKE_INSTALL_DATAROOTDIR}/${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
set(META_DATA_DIR "${CMAKE_INSTALL_DATAROOTDIR}/${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
||||||
set(META_DATA_DIR_ABSOLUTE "${CMAKE_INSTALL_FULL_DATAROOTDIR}/${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
set(META_DATA_DIR_ABSOLUTE "${CMAKE_INSTALL_FULL_DATAROOTDIR}/${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
||||||
string(TOUPPER "${CMAKE_BUILD_TYPE}" META_CURRENT_CONFIGURATION)
|
string(TOUPPER "${CMAKE_BUILD_TYPE}" META_CURRENT_CONFIGURATION)
|
||||||
|
|
||||||
# set META_GENERIC_NAME to META_APP_NAME if not specified explicitly
|
# set META_GENERIC_NAME to META_APP_NAME if not specified explicitly
|
||||||
|
|
|
@ -32,9 +32,9 @@ include(TemplateFinder)
|
||||||
# set install destination for the CMake modules, config files and header files
|
# set install destination for the CMake modules, config files and header files
|
||||||
set(INCLUDE_SUBDIR "${CMAKE_INSTALL_INCLUDEDIR}")
|
set(INCLUDE_SUBDIR "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||||
set(HEADER_INSTALL_DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
|
set(HEADER_INSTALL_DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
|
||||||
if (META_CONFIG_SUFFIX)
|
if (NAMESPACE_PREFIX OR META_CONFIG_SUFFIX)
|
||||||
set(INCLUDE_SUBDIR "${INCLUDE_SUBDIR}/${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
set(INCLUDE_SUBDIR "${INCLUDE_SUBDIR}/${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
||||||
set(HEADER_INSTALL_DESTINATION "${HEADER_INSTALL_DESTINATION}/${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
set(HEADER_INSTALL_DESTINATION "${HEADER_INSTALL_DESTINATION}/${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
||||||
endif ()
|
endif ()
|
||||||
set(CMAKE_MODULE_INSTALL_DESTINATION "${META_DATA_DIR_ABSOLUTE}/cmake/modules")
|
set(CMAKE_MODULE_INSTALL_DESTINATION "${META_DATA_DIR_ABSOLUTE}/cmake/modules")
|
||||||
set(CMAKE_CONFIG_INSTALL_DESTINATION "${META_DATA_DIR_ABSOLUTE}/cmake")
|
set(CMAKE_CONFIG_INSTALL_DESTINATION "${META_DATA_DIR_ABSOLUTE}/cmake")
|
||||||
|
@ -250,7 +250,7 @@ endforeach ()
|
||||||
|
|
||||||
# generate CMake code to configure CMake-target to pkg-config module mapping
|
# generate CMake code to configure CMake-target to pkg-config module mapping
|
||||||
set(TARGET_TO_PKG_CONFIG_MODULE_NAME_MAPPING
|
set(TARGET_TO_PKG_CONFIG_MODULE_NAME_MAPPING
|
||||||
"set(PKG_CONFIG_${META_TARGET_NAME} \"${META_PROJECT_NAME}${META_CONFIG_SUFFIX}\")")
|
"set(PKG_CONFIG_${META_TARGET_NAME} \"${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}\")")
|
||||||
foreach (INTERFACE_REQUIRED_PKG_CONFIG_MODULE ${INTERFACE_REQUIRED_PKG_CONFIG_MODULES})
|
foreach (INTERFACE_REQUIRED_PKG_CONFIG_MODULE ${INTERFACE_REQUIRED_PKG_CONFIG_MODULES})
|
||||||
string(REPLACE "::" "_" INTERFACE_REQUIRED_PKG_CONFIG_MODULE_VARNAME "${INTERFACE_REQUIRED_PKG_CONFIG_MODULE}")
|
string(REPLACE "::" "_" INTERFACE_REQUIRED_PKG_CONFIG_MODULE_VARNAME "${INTERFACE_REQUIRED_PKG_CONFIG_MODULE}")
|
||||||
set(TARGET_TO_PKG_CONFIG_MODULE_NAME_MAPPING
|
set(TARGET_TO_PKG_CONFIG_MODULE_NAME_MAPPING
|
||||||
|
@ -267,8 +267,8 @@ if (INTERFACE_REQUIRED_PKG_CONFIG_MODULES)
|
||||||
list(REMOVE_ITEM INTERFACE_REQUIRED_PKG_CONFIG_MODULES "")
|
list(REMOVE_ITEM INTERFACE_REQUIRED_PKG_CONFIG_MODULES "")
|
||||||
list(REMOVE_DUPLICATES INTERFACE_REQUIRED_PKG_CONFIG_MODULES)
|
list(REMOVE_DUPLICATES INTERFACE_REQUIRED_PKG_CONFIG_MODULES)
|
||||||
endif ()
|
endif ()
|
||||||
set(CONFIG_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/${META_PROJECT_NAME}${META_CONFIG_SUFFIX}Config.cmake")
|
set(CONFIG_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}Config.cmake")
|
||||||
if (META_CONFIG_SUFFIX)
|
if (NAMESPACE_PREFIX OR META_CONFIG_SUFFIX)
|
||||||
list(APPEND CONFIG_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/${META_PROJECT_NAME}Config.cmake")
|
list(APPEND CONFIG_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/${META_PROJECT_NAME}Config.cmake")
|
||||||
endif ()
|
endif ()
|
||||||
find_template_file("Config.cmake" CPP_UTILITIES CONFIG_TEMPLATE_FILE)
|
find_template_file("Config.cmake" CPP_UTILITIES CONFIG_TEMPLATE_FILE)
|
||||||
|
@ -279,12 +279,12 @@ foreach (CONFIG_TARGET ${CONFIG_TARGETS})
|
||||||
PATH_VARS CMAKE_MODULE_INSTALL_DESTINATION CMAKE_CONFIG_INSTALL_DESTINATION HEADER_INSTALL_DESTINATION
|
PATH_VARS CMAKE_MODULE_INSTALL_DESTINATION CMAKE_CONFIG_INSTALL_DESTINATION HEADER_INSTALL_DESTINATION
|
||||||
BIN_INSTALL_DESTINATION LIB_INSTALL_DESTINATION META_DATA_DIR)
|
BIN_INSTALL_DESTINATION LIB_INSTALL_DESTINATION META_DATA_DIR)
|
||||||
endforeach ()
|
endforeach ()
|
||||||
list(APPEND CMAKE_CONFIG_FILES "${CMAKE_CURRENT_BINARY_DIR}/${META_PROJECT_NAME}${META_CONFIG_SUFFIX}Config.cmake"
|
list(APPEND CMAKE_CONFIG_FILES "${CMAKE_CURRENT_BINARY_DIR}/${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}Config.cmake"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/${META_PROJECT_NAME}${META_CONFIG_SUFFIX}ConfigVersion.cmake")
|
"${CMAKE_CURRENT_BINARY_DIR}/${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}ConfigVersion.cmake")
|
||||||
|
|
||||||
# write the CMake version config file
|
# write the CMake version config file
|
||||||
write_basic_package_version_file(
|
write_basic_package_version_file(
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${META_PROJECT_NAME}${META_CONFIG_SUFFIX}ConfigVersion.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}ConfigVersion.cmake
|
||||||
VERSION "${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH}"
|
VERSION "${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH}"
|
||||||
COMPATIBILITY SameMajorVersion)
|
COMPATIBILITY SameMajorVersion)
|
||||||
|
|
||||||
|
@ -402,7 +402,7 @@ if (META_PUBLIC_LIB_DEPENDS_FOR_PC)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# compute other values for pkg-config
|
# compute other values for pkg-config
|
||||||
set(META_PROJECT_NAME_FOR_PC "${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
set(META_PROJECT_NAME_FOR_PC "${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}")
|
||||||
foreach (COMPILE_DEFINITION ${META_PUBLIC_COMPILE_DEFINITIONS})
|
foreach (COMPILE_DEFINITION ${META_PUBLIC_COMPILE_DEFINITIONS})
|
||||||
set(META_COMPILE_DEFINITIONS_FOR_PC "${META_COMPILE_DEFINITIONS_FOR_PC} -D${COMPILE_DEFINITION}")
|
set(META_COMPILE_DEFINITIONS_FOR_PC "${META_COMPILE_DEFINITIONS_FOR_PC} -D${COMPILE_DEFINITION}")
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
@ -499,14 +499,14 @@ if (NOT META_NO_INSTALL_TARGETS AND ENABLE_INSTALL_TARGETS)
|
||||||
endif ()
|
endif ()
|
||||||
install(
|
install(
|
||||||
TARGETS ${TARGETS_TO_EXPORT}
|
TARGETS ${TARGETS_TO_EXPORT}
|
||||||
EXPORT "${META_PROJECT_NAME}${META_CONFIG_SUFFIX}Targets"
|
EXPORT "${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}Targets"
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary
|
||||||
LIBRARY DESTINATION ${LIBRARY_DESTINATION} COMPONENT binary
|
LIBRARY DESTINATION ${LIBRARY_DESTINATION} COMPONENT binary
|
||||||
ARCHIVE DESTINATION ${LIBRARY_DESTINATION} COMPONENT binary)
|
ARCHIVE DESTINATION ${LIBRARY_DESTINATION} COMPONENT binary)
|
||||||
add_dependencies(install-binary "${META_TARGET_NAME}")
|
add_dependencies(install-binary "${META_TARGET_NAME}")
|
||||||
add_dependencies(install-binary-strip "${META_TARGET_NAME}")
|
add_dependencies(install-binary-strip "${META_TARGET_NAME}")
|
||||||
install(
|
install(
|
||||||
EXPORT ${META_PROJECT_NAME}${META_CONFIG_SUFFIX}Targets
|
EXPORT ${NAMESPACE_PREFIX}${META_PROJECT_NAME}${META_CONFIG_SUFFIX}Targets
|
||||||
DESTINATION "${META_DATA_DIR}/cmake"
|
DESTINATION "${META_DATA_DIR}/cmake"
|
||||||
EXPORT_LINK_INTERFACE_LIBRARIES
|
EXPORT_LINK_INTERFACE_LIBRARIES
|
||||||
COMPONENT cmake-config)
|
COMPONENT cmake-config)
|
||||||
|
|
|
@ -38,7 +38,7 @@ set(@META_PROJECT_VARNAME_UPPER@_QT_RESOURCES @QT_RESOURCES@)
|
||||||
# define additional find_package arguments for required CMake-packages
|
# define additional find_package arguments for required CMake-packages
|
||||||
@ADDITIONAL_ARGUMENTS_FOR_REQUIRED_CMAKE_PACKAGES@
|
@ADDITIONAL_ARGUMENTS_FOR_REQUIRED_CMAKE_PACKAGES@
|
||||||
# define library config, add imported target
|
# define library config, add imported target
|
||||||
set(@META_PROJECT_VARNAME_UPPER@_PACKAGE "@META_PROJECT_NAME@@META_CONFIG_SUFFIX@")
|
set(@META_PROJECT_VARNAME_UPPER@_PACKAGE "@NAMESPACE_PREFIX@@META_PROJECT_NAME@@META_CONFIG_SUFFIX@")
|
||||||
set(@META_PROJECT_VARNAME_UPPER@_LIB "@META_TARGET_NAME@")
|
set(@META_PROJECT_VARNAME_UPPER@_LIB "@META_TARGET_NAME@")
|
||||||
set(@META_PROJECT_VARNAME_UPPER@_LIB_IS_SHARED "@BUILD_SHARED_LIBS@")
|
set(@META_PROJECT_VARNAME_UPPER@_LIB_IS_SHARED "@BUILD_SHARED_LIBS@")
|
||||||
set(@META_PROJECT_VARNAME_UPPER@_STATIC_LINKAGE "@STATIC_LINKAGE_CONFIGURED@")
|
set(@META_PROJECT_VARNAME_UPPER@_STATIC_LINKAGE "@STATIC_LINKAGE_CONFIGURED@")
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#define PROJECT_VARNAME_UPPER "@META_PROJECT_VARNAME_UPPER@"
|
#define PROJECT_VARNAME_UPPER "@META_PROJECT_VARNAME_UPPER@"
|
||||||
#define PROJECT_LICENSE "@META_PROJECT_LICENSE@"
|
#define PROJECT_LICENSE "@META_PROJECT_LICENSE@"
|
||||||
#define PROJECT_CONFIG_NAME "@META_CONFIG_NAME@"
|
#define PROJECT_CONFIG_NAME "@META_CONFIG_NAME@"
|
||||||
|
#define PROJECT_NAMESPACE "@NAMESPACE_PREFIX@"
|
||||||
#define PROJECT_CONFIG_SUFFIX "@META_CONFIG_SUFFIX@"
|
#define PROJECT_CONFIG_SUFFIX "@META_CONFIG_SUFFIX@"
|
||||||
#define PROJECT_CONFIG_TARGET_SUFFIX "@TARGET_SUFFIX@"
|
#define PROJECT_CONFIG_TARGET_SUFFIX "@TARGET_SUFFIX@"
|
||||||
#define APP_NAME "@META_APP_NAME@"
|
#define APP_NAME "@META_APP_NAME@"
|
||||||
|
|
Loading…
Reference in New Issue