Skip to content

Commit 68a0f74

Browse files
Simplified local-package with TODO for allowing as extension-point
1 parent 8f58d23 commit 68a0f74

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

cmake/CPM.cmake

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -611,18 +611,16 @@ function(CPMAddPackage)
611611
return()
612612
endif()
613613

614-
# Check for ENV overide for local package-source when not already defined. NOTE: Uses a recursive
615-
# CPMAddPackage call where `CPM_${CPM_ARGS_NAME}_SOURCE` == "" which causes first if-case to stop
616-
# recusrion
617-
if(CPM_${CPM_ARGS_NAME}_SOURCE)
618-
file(TO_CMAKE_PATH "${CPM_${CPM_ARGS_NAME}_SOURCE}" PACKAGE_SOURCE)
619-
elseif(DEFINED ENV{CPM_${CPM_ARGS_NAME}_SOURCE})
620-
file(TO_CMAKE_PATH "$ENV{CPM_${CPM_ARGS_NAME}_SOURCE}" PACKAGE_SOURCE)
614+
# @TODO Allow this as from a user-extension point for locating package source e.g. Check for ENV
615+
# overide for local package-source
616+
if(NOT DEFINED CPM_${CPM_ARGS_NAME}_SOURCE AND DEFINED ENV{CPM_${CPM_ARGS_NAME}_SOURCE})
617+
file(TO_CMAKE_PATH $ENV{CPM_${CPM_ARGS_NAME}_SOURCE} CPM_${CPM_ARGS_NAME}_SOURCE)
621618
endif()
622619

623620
# Check for manual overrides
624-
if(NOT CPM_ARGS_FORCE AND NOT "${PACKAGE_SOURCE}" STREQUAL "")
625-
set(CPM_${CPM_ARGS_NAME}_SOURCE "") # Assign empty to prevent recursion
621+
if(NOT CPM_ARGS_FORCE AND NOT "${CPM_${CPM_ARGS_NAME}_SOURCE}" STREQUAL "")
622+
set(PACKAGE_SOURCE ${CPM_${CPM_ARGS_NAME}_SOURCE})
623+
set(CPM_${CPM_ARGS_NAME}_SOURCE "")
626624
CPMAddPackage(
627625
NAME "${CPM_ARGS_NAME}"
628626
SOURCE_DIR "${PACKAGE_SOURCE}"

0 commit comments

Comments
 (0)