From 757683b2caa52d4f873a26efa28d6eaaeb019991 Mon Sep 17 00:00:00 2001 From: Noel Eck Date: Thu, 15 Mar 2018 13:33:38 -0700 Subject: [PATCH] Cordova: Renamed cmake Find module for bindings Renamed find module from FindCordova to FindUpmCordovaGenerator to be more descriptive with the intent of the find module. Updated the find module to use find_package_handle_standard_args so a version can be specified and handle REQUIRED keyword. Signed-off-by: Noel Eck --- CMakeLists.txt | 2 +- cmake/modules/FindCordova.cmake | 8 -------- cmake/modules/FindUpmCordovaGenerator.cmake | 20 ++++++++++++++++++++ 3 files changed, 21 insertions(+), 9 deletions(-) delete mode 100644 cmake/modules/FindCordova.cmake create mode 100644 cmake/modules/FindUpmCordovaGenerator.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index bd8bfe1e..7df2f855 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -178,7 +178,7 @@ if (BUILDCORDOVA) find_package (Node REQUIRED) find_package (Npm REQUIRED) - find_package (Cordova REQUIRED) + find_package (UpmCordovaGenerator 0.2.1 REQUIRED) endif (BUILDCORDOVA) # Find swig if any wrapper is enabled diff --git a/cmake/modules/FindCordova.cmake b/cmake/modules/FindCordova.cmake deleted file mode 100644 index b2d867db..00000000 --- a/cmake/modules/FindCordova.cmake +++ /dev/null @@ -1,8 +0,0 @@ -find_program(UPM_CORDOVA_BINDING NAMES upm-cordova-binding -) - -if(UPM_CORDOVA_BINDING) - message(STATUS "The npm package to build cordova bindings found at ${UPM_CORDOVA_BINDING}") -else() - message(FATAL_ERROR "Unable to find the npm package for building cordova bindings, please install by 'npm install -g upm-cordova-binding'") -endif() \ No newline at end of file diff --git a/cmake/modules/FindUpmCordovaGenerator.cmake b/cmake/modules/FindUpmCordovaGenerator.cmake new file mode 100644 index 00000000..83894639 --- /dev/null +++ b/cmake/modules/FindUpmCordovaGenerator.cmake @@ -0,0 +1,20 @@ +find_program (UPM_CORDOVA_BINDING NAMES upm-cordova-binding + DOC "UPM Cordova binding generator") + +include (FindPackageHandleStandardArgs) + +# Get version +if (UPM_CORDOVA_BINDING) + execute_process(COMMAND ${NPM_EXECUTABLE} info upm-cordova-binding version + OUTPUT_VARIABLE UPM_CORDOVA_BINDING_VERSION + ERROR_VARIABLE UPM_CORDOVA_BINDING_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_STRIP_TRAILING_WHITESPACE) +endif() + +find_package_handle_standard_args(UpmCordovaGenerator + REQUIRED_VARS UPM_CORDOVA_BINDING + VERSION_VAR UPM_CORDOVA_BINDING_VERSION + FAIL_MESSAGE "Unable to find the npm package for generating UPM Cordova bindings. The generator can be installed via: 'npm install -g upm-cordova-binding'") + +mark_as_advanced (UPM_CORDOVA_BINDING UPM_CORDOVA_BINDING_VERSION)