cmake: fix package config to deal with versioning and namespaces
This commit is contained in:
		
							parent
							
								
									e184b6ecf2
								
							
						
					
					
						commit
						1729db85c1
					
				
					 2 changed files with 12 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -86,10 +86,10 @@ include(CMakePackageConfigHelpers)
 | 
			
		|||
write_basic_package_version_file(
 | 
			
		||||
    ${NLOHMANN_JSON_CMAKE_VERSION_CONFIG_FILE} COMPATIBILITY SameMajorVersion
 | 
			
		||||
)
 | 
			
		||||
configure_package_config_file(
 | 
			
		||||
configure_file(
 | 
			
		||||
    ${NLOHMANN_JSON_CMAKE_CONFIG_TEMPLATE}
 | 
			
		||||
    ${NLOHMANN_JSON_CMAKE_PROJECT_CONFIG_FILE}
 | 
			
		||||
    INSTALL_DESTINATION ${NLOHMANN_JSON_CONFIG_INSTALL_DIR}
 | 
			
		||||
    @ONLY
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
install(
 | 
			
		||||
| 
						 | 
				
			
			@ -121,4 +121,3 @@ install(
 | 
			
		|||
    NAMESPACE ${PROJECT_NAME}::
 | 
			
		||||
    DESTINATION ${NLOHMANN_JSON_CONFIG_INSTALL_DIR}
 | 
			
		||||
)
 | 
			
		||||
export(PACKAGE ${PROJECT_NAME})
 | 
			
		||||
| 
						 | 
				
			
			@ -1,9 +1,15 @@
 | 
			
		|||
@PACKAGE_INIT@
 | 
			
		||||
include(FindPackageHandleStandardArgs)
 | 
			
		||||
set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG ${CMAKE_CURRENT_LIST_FILE})
 | 
			
		||||
find_package_handle_standard_args(@PROJECT_NAME@ CONFIG_MODE)
 | 
			
		||||
 | 
			
		||||
if(NOT TARGET @PROJECT_NAME@::@NLOHMANN_JSON_TARGET_NAME@)
 | 
			
		||||
    include("${CMAKE_CURRENT_LIST_DIR}/@NLOHMANN_JSON_TARGETS_EXPORT_NAME@.cmake")
 | 
			
		||||
    if((NOT TARGET @NLOHMANN_JSON_TARGET_NAME@) AND
 | 
			
		||||
       (PACKAGE_FIND_VERSION VERSION_LESS 3.2.0))
 | 
			
		||||
      add_library(@NLOHMANN_JSON_TARGET_NAME@ ALIAS @PROJECT_NAME@::@NLOHMANN_JSON_TARGET_NAME@)
 | 
			
		||||
       (NOT @PROJECT_NAME@_FIND_VERSION OR
 | 
			
		||||
        @PROJECT_NAME@_FIND_VERSION VERSION_LESS 3.2.0))
 | 
			
		||||
        add_library(@NLOHMANN_JSON_TARGET_NAME@ INTERFACE IMPORTED)
 | 
			
		||||
        set_target_properties(@NLOHMANN_JSON_TARGET_NAME@ PROPERTIES
 | 
			
		||||
            INTERFACE_LINK_LIBRARIES @PROJECT_NAME@::@NLOHMANN_JSON_TARGET_NAME@
 | 
			
		||||
        )
 | 
			
		||||
    endif()
 | 
			
		||||
endif()
 | 
			
		||||
check_required_components("@PROJECT_NAME@")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue