@@ -134,32 +134,16 @@ function(package_project)
134134 list (APPEND _PackageProject_PRIVATE_DEPENDENCIES ${_PRIVATE_DEPENDENCIES_CONFIG} )
135135
136136 # Installation of package (compatible with vcpkg, etc)
137+ set (_targets_list ${_PackageProject_TARGETS} )
138+ unset (_PackageProject_TARGETS) # to avoid ycm conflict
137139 install (
138- TARGETS ${_PackageProject_TARGETS }
140+ TARGETS ${_targets_list }
139141 EXPORT ${_PackageProject_EXPORT}
140142 LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} " COMPONENT shlib
141143 ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} " COMPONENT lib
142144 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} " COMPONENT bin
143145 PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} /${_PackageProject_NAME} " COMPONENT dev)
144146
145- # install the usage file
146- set (_targets_str "" )
147- foreach (_target ${_PackageProject_TARGETS} )
148- set (_targets_str "${_targets_str} ${_PackageProject_NAMESPACE}${_target} " )
149- endforeach ()
150- set (USAGE_FILE_CONTENT
151- "The package ${_PackageProject_NAME} provides CMake targets:
152-
153- find_package(${_PackageProject_NAME} CONFIG REQUIRED)
154- target_link_libraries(main PRIVATE ${_targets_str} )
155- " )
156- install (CODE "MESSAGE(STATUS \" ${USAGE_FILE_CONTENT} \" )" )
157- file (WRITE "${_PackageProject_EXPORT_DESTINATION} /usage" "${USAGE_FILE_CONTENT} " )
158- install (FILES "${_PackageProject_EXPORT_DESTINATION} /usage"
159- DESTINATION "${_PackageProject_CONFIG_INSTALL_DESTINATION} " )
160-
161- unset (_PackageProject_TARGETS)
162-
163147 # download ForwardArguments
164148 FetchContent_Declare (
165149 _fargs
@@ -192,5 +176,21 @@ function(package_project)
192176
193177 install_basic_package_files (${_PackageProject_NAME} "${_FARGS_LIST} " )
194178
179+ # install the usage file
180+ set (_targets_str "" )
181+ foreach (_target ${_targets_list} )
182+ set (_targets_str "${_targets_str} ${_PackageProject_NAMESPACE}${_target} " )
183+ endforeach ()
184+ set (USAGE_FILE_CONTENT
185+ "# The package ${_PackageProject_NAME} provides the following CMake targets:
186+
187+ find_package(${_PackageProject_NAME} CONFIG REQUIRED)
188+ target_link_libraries(main PRIVATE ${_targets_str} )
189+ " )
190+ file (WRITE "${_PackageProject_EXPORT_DESTINATION} /usage" "${USAGE_FILE_CONTENT} " )
191+ install (FILES "${_PackageProject_EXPORT_DESTINATION} /usage"
192+ DESTINATION "${_PackageProject_CONFIG_INSTALL_DESTINATION} " )
193+ install (CODE "MESSAGE(STATUS \" ${USAGE_FILE_CONTENT} \" )" )
194+
195195 include ("${_ycm_SOURCE_DIR} /modules/AddUninstallTarget.cmake" )
196196endfunction ()
0 commit comments