diff --git a/src/addon/ESMX/Driver/CMakeLists.txt b/src/addon/ESMX/Driver/CMakeLists.txt index 9bda54e302..ab75e98d17 100644 --- a/src/addon/ESMX/Driver/CMakeLists.txt +++ b/src/addon/ESMX/Driver/CMakeLists.txt @@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.22) # load packages and modules list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) +set(Python_FIND_UNVERSIONED_NAMES "FIRST") +set(Python_FIND_FRAMEWORK "LAST") +set(Python_FIND_REGISTRY "LAST") find_package(Python 3.5 REQUIRED COMPONENTS Interpreter) find_package(ESMF 8.6.0 MODULE REQUIRED) include(FetchContent) diff --git a/src/apps/ESMX_Builder/ESMX_Builder.sh b/src/apps/ESMX_Builder/ESMX_Builder.sh index c5d239deb8..5b7bdfd7b0 100755 --- a/src/apps/ESMX_Builder/ESMX_Builder.sh +++ b/src/apps/ESMX_Builder/ESMX_Builder.sh @@ -29,7 +29,9 @@ usage () { printf " -g\n" printf " set --build-type=debug\n" printf " --build-args=BUILD_ARGS\n" - printf " cmake arguments (e.g. -DARG=VAL)\n" + printf " ESMX build arguments (e.g. --build-args=\"-DFOO=BAR\")\n" + printf " --cmake-args=CMAKE_ARGS\n" + printf " cmake arguments (e.g. --cmake-args=\"-DFOO=BAR\")\n" printf " --disable-comps=DISABLE_COMPS\n" printf " disable components\n" printf " --build-jobs=BUILD_JOBS\n" @@ -63,6 +65,12 @@ settings () { printf " INSTALL_PREFIX=${INSTALL_PREFIX}\n" printf " BUILD_TYPE=${BUILD_TYPE}\n" printf " BUILD_ARGS=${BUILD_ARGS}\n" + printf " CMAKE_ARGS=\n" + if [ ${#CMAKE_ARGS[@]} -gt 0 ]; then + for arg in "${CMAKE_ARGS[@]}"; do + printf " ${arg}\n" + done + fi printf " DISABLE_COMPS=${DISABLE_COMPS}\n" printf " BUILD_JOBS=${BUILD_JOBS}\n" printf " MODULEFILE=${MODULEFILE}\n" @@ -80,6 +88,7 @@ BUILD_FILE="esmxBuild.yaml" ESMF_ESMXDIR="" BUILD_TYPE="release" BUILD_ARGS="" +CMAKE_ARGS=() DISABLE_COMPS="" BUILD_JOBS="" BUILD_DIR="${CWD}/build" @@ -125,6 +134,9 @@ while [[ $# -gt 0 ]]; do --build-jobs=?*) BUILD_JOBS=${1#*=} ;; --build-jobs) usage_error "$1" "requires an argument" ;; --build-jobs=) usage_error "$1" "requires an argument" ;; + --cmake-args=?*) CMAKE_ARGS+=(${1#*=}) ;; + --cmake-args) usage_error "$1" "requires an argument" ;; + --cmake-args=) usage_error "$1" "requires an argument" ;; --disable-comps=?*) DISABLE_COMPS=${1#*=} DISABLE_COMPS=${DISABLE_COMPS/' '/','} DISABLE_COMPS=${DISABLE_COMPS/';'/','} ;; @@ -232,6 +244,11 @@ fi if [ ! -z "${BUILD_ARGS}" ]; then CMAKE_SETTINGS+=("-DESMX_BUILD_ARGS=${BUILD_ARGS}") fi +if [ ${#CMAKE_ARGS[@]} -gt 0 ]; then + for arg in "${CMAKE_ARGS[@]}"; do + CMAKE_SETTINGS+=("${arg}") + done +fi # make settings BUILD_SETTINGS=("")