Skip to content

Commit d4dbec0

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

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

cmake/CPM.cmake

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -611,18 +611,15 @@ 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 overide for local package-source
615+
if(NOT DEFINED CPM_${CPM_ARGS_NAME}_SOURCE AND DEFINED ENV{CPM_${CPM_ARGS_NAME}_SOURCE})
616+
file(TO_CMAKE_PATH $ENV{CPM_${CPM_ARGS_NAME}_SOURCE} CPM_${CPM_ARGS_NAME}_SOURCE)
621617
endif()
622618

623619
# 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
620+
if(NOT CPM_ARGS_FORCE AND NOT "${CPM_${CPM_ARGS_NAME}_SOURCE}" STREQUAL "")
621+
set(PACKAGE_SOURCE ${CPM_${CPM_ARGS_NAME}_SOURCE})
622+
set(CPM_${CPM_ARGS_NAME}_SOURCE "")
626623
CPMAddPackage(
627624
NAME "${CPM_ARGS_NAME}"
628625
SOURCE_DIR "${PACKAGE_SOURCE}"

0 commit comments

Comments
 (0)