123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- macro(include_boilerplate location)
- if(ZEPHYR_UNITTEST)
- set(ZephyrUnittest_FOUND True)
- set(BOILERPLATE_FILE ${ZEPHYR_BASE}/subsys/testsuite/unittest.cmake)
- else()
- set(Zephyr_FOUND True)
- set(BOILERPLATE_FILE ${ZEPHYR_BASE}/cmake/app/boilerplate.cmake)
- endif()
- if(NOT NO_BOILERPLATE)
- message("Including boilerplate (${location}): ${BOILERPLATE_FILE}")
- include(${BOILERPLATE_FILE} NO_POLICY_SCOPE)
- endif()
- endmacro()
- set(ENV_ZEPHYR_BASE $ENV{ZEPHYR_BASE})
- if((NOT DEFINED ZEPHYR_BASE) AND (DEFINED ENV_ZEPHYR_BASE))
-
-
-
- get_filename_component(ZEPHYR_BASE ${ENV_ZEPHYR_BASE} ABSOLUTE)
- set(ZEPHYR_BASE ${ZEPHYR_BASE} CACHE PATH "Zephyr base")
- include_boilerplate("Zephyr base")
- return()
- endif()
- if (DEFINED ZEPHYR_BASE)
- include_boilerplate("Zephyr base (cached)")
- return()
- endif()
- if(ZEPHYR_CANDIDATE)
- set(IS_INCLUDED TRUE)
- else()
- include(${CMAKE_CURRENT_LIST_DIR}/zephyr_package_search.cmake)
- endif()
- get_filename_component(CURRENT_ZEPHYR_DIR ${CMAKE_CURRENT_LIST_FILE}/${ZEPHYR_RELATIVE_DIR} ABSOLUTE)
- get_filename_component(CURRENT_WORKSPACE_DIR ${CMAKE_CURRENT_LIST_FILE}/${WORKSPACE_RELATIVE_DIR} ABSOLUTE)
- string(FIND "${CMAKE_CURRENT_SOURCE_DIR}" "${CURRENT_ZEPHYR_DIR}/" COMMON_INDEX)
- if (COMMON_INDEX EQUAL 0)
-
-
- set(ZEPHYR_BASE ${CURRENT_ZEPHYR_DIR} CACHE PATH "Zephyr base")
- include_boilerplate("Zephyr repository")
- return()
- endif()
- if(IS_INCLUDED)
-
-
- set(ZEPHYR_BASE ${CURRENT_ZEPHYR_DIR} CACHE PATH "Zephyr base")
- include_boilerplate("Zephyr workspace")
- endif()
- if(NOT IS_INCLUDED)
- string(FIND "${CMAKE_CURRENT_SOURCE_DIR}" "${CURRENT_WORKSPACE_DIR}/" COMMON_INDEX)
- if (COMMON_INDEX EQUAL 0)
-
-
-
-
-
-
-
-
-
- check_zephyr_package(CURRENT_WORKSPACE_DIR ${CURRENT_WORKSPACE_DIR})
- if(ZEPHYR_PREFER)
- check_zephyr_package(SEARCH_PARENTS CANDIDATES_PREFERENCE_LIST ${ZEPHYR_PREFER})
- endif()
-
- set(ZEPHYR_BASE ${CURRENT_ZEPHYR_DIR} CACHE PATH "Zephyr base")
- include_boilerplate("Zephyr workspace")
- return()
- endif()
- check_zephyr_package(SEARCH_PARENTS CANDIDATES_PREFERENCE_LIST ${ZEPHYR_PREFER})
-
-
-
-
- set(ZEPHYR_BASE ${CURRENT_ZEPHYR_DIR} CACHE PATH "Zephyr base")
- include_boilerplate("Freestanding")
- endif()
|