2 # FindJsonSchemaBuilder
3 # ---------------------
4 # Finds the JsonSchemaBuilder
6 # If WITH_JSONSCHEMABUILDER is defined and points to a directory,
7 # this path will be used to search for the JsonSchemaBuilder binary
10 # This will define the following (imported) targets::
12 # JsonSchemaBuilder::JsonSchemaBuilder - The JsonSchemaBuilder executable
14 if(NOT TARGET JsonSchemaBuilder::JsonSchemaBuilder)
16 get_filename_component(_jsbpath "${NATIVEPREFIX}/bin" ABSOLUTE)
17 find_program(JSONSCHEMABUILDER_EXECUTABLE NAMES "${APP_NAME_LC}-JsonSchemaBuilder" JsonSchemaBuilder
20 add_executable(JsonSchemaBuilder::JsonSchemaBuilder IMPORTED GLOBAL)
21 set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES
22 IMPORTED_LOCATION "${JSONSCHEMABUILDER_EXECUTABLE}")
23 elseif(CORE_SYSTEM_NAME STREQUAL windowsstore)
24 get_filename_component(_jsbpath "${DEPENDS_PATH}/bin/json-rpc" ABSOLUTE)
25 find_program(JSONSCHEMABUILDER_EXECUTABLE NAMES "${APP_NAME_LC}-JsonSchemaBuilder" JsonSchemaBuilder
28 add_executable(JsonSchemaBuilder::JsonSchemaBuilder IMPORTED GLOBAL)
29 set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES
30 IMPORTED_LOCATION "${JSONSCHEMABUILDER_EXECUTABLE}")
32 if(WITH_JSONSCHEMABUILDER)
33 get_filename_component(_jsbpath ${WITH_JSONSCHEMABUILDER} ABSOLUTE)
34 get_filename_component(_jsbpath ${_jsbpath} DIRECTORY)
35 find_program(JSONSCHEMABUILDER_EXECUTABLE NAMES "${APP_NAME_LC}-JsonSchemaBuilder" JsonSchemaBuilder
38 include(FindPackageHandleStandardArgs)
39 find_package_handle_standard_args(JsonSchemaBuilder "Could not find '${APP_NAME_LC}-JsonSchemaBuilder' or 'JsonSchemaBuilder' executable in ${_jsbpath} supplied by -DWITH_JSONSCHEMABUILDER. Make sure the executable file name matches these names!"
40 JSONSCHEMABUILDER_EXECUTABLE)
41 if(JSONSCHEMABUILDER_FOUND)
42 add_executable(JsonSchemaBuilder::JsonSchemaBuilder IMPORTED GLOBAL)
43 set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES
44 IMPORTED_LOCATION "${JSONSCHEMABUILDER_EXECUTABLE}")
46 mark_as_advanced(JSONSCHEMABUILDER)
48 add_subdirectory(${CMAKE_SOURCE_DIR}/tools/depends/native/JsonSchemaBuilder build/jsonschemabuilder)
49 add_executable(JsonSchemaBuilder::JsonSchemaBuilder ALIAS JsonSchemaBuilder)
50 set_target_properties(JsonSchemaBuilder PROPERTIES FOLDER Tools)