@@ -66,6 +66,7 @@ function(add_cpp_library)
6666 set (ARG_BUILD_INCLUDE_DIRS "${PROJECT_SOURCE_DIR} /src" )
6767 endif ()
6868
69+ set (TARGET_NAME "${ARG_NAMESPACE} _${ARG_NAME} " )
6970 set (ALIAS_TARGET_NAME "${ARG_NAMESPACE} ::${ARG_NAME} " )
7071
7172 check_if_header_only(ARG_PUBLIC_HEADERS IS_VALID_INTERFACE INVALID_HEADER_FILE)
@@ -177,55 +178,49 @@ endfunction()
177178#
178179# @param {string} NAME
179180# @param {string} NAMESPACE
180- # @param {string} [CONFIG_DEST_DIR="${CMAKE_INSTALL_LIBDIR}/cmake/${ARG_NAMESPACE}/libs"]
181- # Destination to install the generated config file (`NAME-config.cmake`).
182- # @param {string} [CONFIG_INPUT_DIR="${PROJECT_SOURCE_DIR}/cmake/libs"]
183- # `configure_package_config_file` input file (`NAME-config.cmake.in`).
184- # @param {string} [CONFIG_OUTPUT_DIR="${CMAKE_CURRENT_BINARY_DIR}"] `configure_package_config_file`
185- # output file (`NAME-config.cmake`).
181+ # @param {string} CONFIG_DEST_DIR Destination to install the generated config file
182+ # (`NAME-config.cmake`).
183+ # @param {string} CONFIG_INPUT_DIR `configure_package_config_file` input file
184+ # (`NAME-config.cmake.in`).
186185function (install_library)
187186 set (SINGLE_VALUE_ARGS
188187 NAME
189188 NAMESPACE
190189 CONFIG_DEST_DIR
191190 CONFIG_INPUT_DIR
192- CONFIG_OUTPUT_DIR
193191 )
194192 set (REQUIRED_ARGS
195193 NAME
196194 NAMESPACE
195+ CONFIG_DEST_DIR
196+ CONFIG_INPUT_DIR
197197 )
198198 cmake_parse_arguments (ARG "" "${SINGLE_VALUE_ARGS} " "" ${ARGN} )
199199 check_required_arguments_exist("${REQUIRED_ARGS} " )
200200
201- if (NOT DEFINED ARG_CONFIG_DEST_DIR)
202- set (ARG_CONFIG_DEST_DIR "${CMAKE_INSTALL_LIBDIR} /cmake/${ARG_NAMESPACE} /libs" )
203- endif ()
204-
205- if (NOT DEFINED ARG_CONFIG_INPUT_DIR)
206- set (ARG_CONFIG_INPUT_DIR "${PROJECT_SOURCE_DIR} /cmake/libs" )
207- endif ()
208-
209- if (NOT DEFINED ARG_CONFIG_OUTPUT_DIR)
210- set (ARG_CONFIG_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR} " )
211- endif ()
212-
213201 set (EXPORT_NAME "${ARG_NAME} -target" )
214202 install (TARGETS "${ARG_NAME} " EXPORT "${EXPORT_NAME} " LIBRARY ARCHIVE RUNTIME FILE_SET HEADERS)
215-
203+ set_target_properties (
204+ "${ARG_NAME} "
205+ PROPERTIES
206+ OUTPUT_NAME
207+ "${ARG_NAMESPACE} _${ARG_NAME} "
208+ )
216209 install (
217210 EXPORT "${EXPORT_NAME} "
218211 DESTINATION ${ARG_CONFIG_DEST_DIR}
219212 NAMESPACE "${ARG_NAMESPACE} ::"
220213 )
221214
222215 set (CONFIG_FILE_NAME "${ARG_NAME} -config.cmake" )
223- set (CONFIG_OUTPUT_PATH "${ARG_CONFIG_OUTPUT_DIR} /${CONFIG_FILE_NAME} " )
224216 configure_package_config_file(
225217 "${ARG_CONFIG_INPUT_DIR} /${CONFIG_FILE_NAME} .in"
226- "${CONFIG_OUTPUT_PATH } "
218+ "${CMAKE_CURRENT_BINARY_DIR} / ${CONFIG_FILE_NAME } "
227219 INSTALL_DESTINATION "${ARG_CONFIG_DEST_DIR} "
228220 )
229-
230- install (FILES "${CONFIG_OUTPUT_PATH} " DESTINATION "${ARG_CONFIG_DEST_DIR} " )
221+ install (
222+ FILES
223+ "${CMAKE_CURRENT_BINARY_DIR} /${CONFIG_FILE_NAME} "
224+ DESTINATION "${ARG_CONFIG_DEST_DIR} "
225+ )
231226endfunction ()
0 commit comments