Skip to content

Commit 011d3dd

Browse files
committed
if CPM_LOCAL_PACKAGES_ONLY, make find_package fail.
1 parent 21527a7 commit 011d3dd

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

cmake/CPM.cmake

+15-11
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,7 @@ endfunction()
533533
# method to overwrite internal FetchContent properties, to allow using CPM.cmake to overload
534534
# FetchContent calls. As these are internal cmake properties, this method should be used carefully
535535
# and may need modification in future CMake versions. Source:
536-
# https://github.com/Kitware/CMake/blob/dc3d0b5a0a7d26d43d6cfeb511e224533b5d188f/Modules/FetchContent.cmake#L1152
536+
# https://github.com/Kitware/CMake/blob/dc3d0b5a0a7d26d43d6cfeb511e224533b5d188f/Modules/FetchContent.cmake #L1152
537537
function(cpm_override_fetchcontent contentName)
538538
cmake_parse_arguments(PARSE_ARGV 1 arg "" "SOURCE_DIR;BINARY_DIR" "")
539539
if(NOT "${arg_UNPARSED_ARGUMENTS}" STREQUAL "")
@@ -716,26 +716,30 @@ function(CPMAddPackage)
716716
endif()
717717

718718
if(NOT CPM_ARGS_FORCE)
719-
if(CPM_USE_LOCAL_PACKAGES OR CPM_LOCAL_PACKAGES_ONLY)
719+
if(CPM_USE_LOCAL_PACKAGES)
720720
cpm_find_package(${CPM_ARGS_NAME} "${CPM_ARGS_VERSION}" ${CPM_ARGS_FIND_PACKAGE_ARGUMENTS})
721721

722-
string(REPLACE " " ";" EDITED_CPM_ARGS_FIND_PACKAGE_ARGUMENTS "${CPM_ARGS_FIND_PACKAGE_ARGUMENTS}")
723-
724722
if(CPM_PACKAGE_FOUND)
725723
cpm_export_variables(${CPM_ARGS_NAME})
726724
return()
727-
elseif(CPM_USE_LOCAL_PACKAGES)
728-
message(
729-
WARNING
730-
"${CPM_INDENT} ${CPM_ARGS_NAME} not found via find_package(${CPM_ARGS_NAME} ${CPM_ARGS_VERSION} ${EDITED_CPM_ARGS_FIND_PACKAGE_ARGUMENTS})"
731-
)
732725
else()
726+
string(REPLACE " " ";" EDITED_CPM_ARGS_FIND_PACKAGE_ARGUMENTS
727+
"${CPM_ARGS_FIND_PACKAGE_ARGUMENTS}"
728+
)
733729
message(
734-
FATAL_ERROR
730+
WARNING
735731
"${CPM_INDENT} ${CPM_ARGS_NAME} not found via find_package(${CPM_ARGS_NAME} ${CPM_ARGS_VERSION} ${EDITED_CPM_ARGS_FIND_PACKAGE_ARGUMENTS})"
736732
)
737733
endif()
738734
endif()
735+
if(CPM_LOCAL_PACKAGES_ONLY)
736+
cpm_find_package(
737+
${CPM_ARGS_NAME} "${CPM_ARGS_VERSION}" REQUIRED ${CPM_ARGS_FIND_PACKAGE_ARGUMENTS}
738+
)
739+
740+
cpm_export_variables(${CPM_ARGS_NAME})
741+
return()
742+
endif()
739743
endif()
740744

741745
CPMRegisterPackage("${CPM_ARGS_NAME}" "${CPM_ARGS_VERSION}")
@@ -1070,7 +1074,7 @@ function(
10701074
list(APPEND addSubdirectoryExtraArgs EXCLUDE_FROM_ALL)
10711075
endif()
10721076
if("${SYSTEM}" AND "${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.25")
1073-
# https://cmake.org/cmake/help/latest/prop_dir/SYSTEM.html#prop_dir:SYSTEM
1077+
# https://cmake.org/cmake/help/latest/prop_dir/SYSTEM.html #prop_dir:SYSTEM
10741078
list(APPEND addSubdirectoryExtraArgs SYSTEM)
10751079
endif()
10761080
if(OPTIONS)

0 commit comments

Comments
 (0)