| | |
| | | # |
| | | #This module provides the following imported targets, if found: |
| | | # |
| | | #``license_generator::lcc`` |
| | | # The lcc executable |
| | | #``license_generator::lccgen`` |
| | | # The lccgen executable |
| | | # |
| | | #If lcc is not found this module will try to download it as a submodule |
| | | #Git must be installed. |
| | |
| | | # |
| | | #]=======================================================================] |
| | | |
| | | set(lcc_names lcc lcc.exe) |
| | | set(lcc_names lccgen lccgen.exe) |
| | | set (failure_messge "Error finding lcc executable.") |
| | | find_package(PkgConfig) |
| | | |
| | | if(LCC_LOCATION) |
| | | find_package(lcc HINTS ${LCC_LOCATION} CONFIG) #try to find it without looping on this module |
| | | find_package(lccgen HINTS ${LCC_LOCATION} CONFIG) #try to find it without looping on this module |
| | | if(NOT lcc_FOUND) |
| | | find_program(LCC_EXECUTABLE |
| | | NAMES ${lcc_names} HINTS ${LCC_LOCATION} DOC "lcc command line client") |
| | | FIND_PACKAGE_HANDLE_STANDARD_ARGS(lcc FOUND_VAR LCC_FOUND |
| | | NAMES ${lcc_names} HINTS ${LCC_LOCATION} DOC "lccgen command line client") |
| | | FIND_PACKAGE_HANDLE_STANDARD_ARGS(lccgen FOUND_VAR LCC_FOUND |
| | | REQUIRED_VARS LCC_EXECUTABLE |
| | | FAIL_MESSAGE "Error finding lcc executable. variable LCC_LOCATION non set correctly.") |
| | | add_executable(license_generator::lcc IMPORTED GLOBAL) |
| | | set_property(TARGET license_generator::lcc PROPERTY IMPORTED_LOCATION ${LCC_EXECUTABLE}) |
| | | add_executable(license_generator::lccgen IMPORTED GLOBAL) |
| | | set_property(TARGET license_generator::lccgen PROPERTY IMPORTED_LOCATION ${LCC_EXECUTABLE}) |
| | | ENDIF(NOT lcc_FOUND) |
| | | ELSE(LCC_LOCATION) |
| | | find_package(lcc HINTS ${CMAKE_BINARY_DIR} CONFIG) #try to find it without looping on this module |
| | | find_package(lccgen HINTS ${CMAKE_BINARY_DIR} CONFIG) #try to find it without looping on this module |
| | | |
| | | IF(NOT lcc_FOUND) |
| | | IF(NOT lccgen_FOUND) |
| | | find_package(Git QUIET) |
| | | if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") |
| | | # Update submodules as needed |
| | | # Update submodules as needed |
| | | option(GIT_SUBMODULE "Check submodules during build" ON) |
| | | if(GIT_SUBMODULE) |
| | | message(STATUS "Submodule update") |
| | |
| | | set(failure_messge "All the options to find lcc executable failed. And i can't compile one from source GIT_SUBMODULE was turned off or failed. Please update submodules and try again.") |
| | | endif() |
| | | add_subdirectory("${PROJECT_SOURCE_DIR}/extern/license-generator") |
| | | set(lcc_FOUND TRUE) |
| | | ENDIF(NOT lcc_FOUND) |
| | | set(lccgen_FOUND TRUE) |
| | | ENDIF(NOT lccgen_FOUND) |
| | | ENDIF(LCC_LOCATION) |
| | | |
| | | |