1# 2# Copyright (c) 2019, The OpenThread Authors. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are met: 7# 1. Redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer. 9# 2. Redistributions in binary form must reproduce the above copyright 10# notice, this list of conditions and the following disclaimer in the 11# documentation and/or other materials provided with the distribution. 12# 3. Neither the name of the copyright holder nor the 13# names of its contributors may be used to endorse or promote products 14# derived from this software without specific prior written permission. 15# 16# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 20# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26# POSSIBILITY OF SUCH DAMAGE. 27# 28 29set(COMMON_INCLUDES 30 ${OT_PUBLIC_INCLUDES} 31 ${PROJECT_SOURCE_DIR}/src 32 ${PROJECT_SOURCE_DIR}/src/core 33 ${PROJECT_SOURCE_DIR}/src/posix/platform 34 ${PROJECT_SOURCE_DIR}/src/posix/platform/include 35) 36 37set(OT_READLINE_VALUES 38 "readline" 39 "edit" 40) 41 42set(OT_READLINE "" CACHE STRING "set readline library name") 43set_property(CACHE OT_READLINE PROPERTY STRINGS ${OT_READLINE_VALUES}) 44 45if(OT_READLINE STREQUAL "") 46 foreach(X IN LISTS OT_READLINE_VALUES) 47 find_library(READLINE ${X}) 48 if (READLINE) 49 set(OT_READLINE ${X}) 50 break() 51 endif() 52 endforeach() 53elseif(OT_READLINE) 54 find_library(READLINE ${OT_READLINE}) 55 56 if (NOT READLINE) 57 message(FATAL_ERROR "Failed to find ${OT_READLINE}") 58 endif() 59endif() 60 61if (READLINE) 62 message(STATUS "Readline: ${OT_READLINE}") 63 64 find_library(NCURSES ncurses) 65 if (NOT NCURSES) 66 message(FATAL_ERROR "Failed to find ncurses") 67 endif() 68 69 list(APPEND READLINE_LINK_LIBRARIES "${READLINE}" "${NCURSES}") 70endif() 71 72if(OT_DAEMON) 73 include(daemon.cmake) 74 75 if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) 76 set(CPACK_PACKAGE_NAME "openthread-daemon") 77 endif() 78elseif(OT_APP_CLI) 79 include(cli.cmake) 80 81 if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) 82 set(CPACK_PACKAGE_NAME "openthread-standalone") 83 endif() 84endif() 85 86if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) 87 set(CPACK_GENERATOR "DEB") 88 set(CPACK_DEBIAN_PACKAGE_MAINTAINER "OpenThread Authors (https://github.com/openthread/openthread)") 89 set(CPACK_PACKAGE_CONTACT "OpenThread Authors (https://github.com/openthread/openthread)") 90 include(CPack) 91endif() 92