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)