diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ba96e4bfa95a..b25a885460e82 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -214,9 +214,6 @@ if(CONFIG_MISRA_SANE) zephyr_compile_options($<$:${CPP_MISRA_SANE_FLAG}>) endif() -# @Intent: Set compiler specific flags for standard C includes -toolchain_cc_nostdinc() - # @Intent: Set compiler specific macro inclusion of AUTOCONF_H toolchain_cc_imacros(${AUTOCONF_H}) @@ -1497,3 +1494,8 @@ if(CONFIG_BOARD_DEPRECATED) removed in version ${CONFIG_BOARD_DEPRECATED}" ) endif() + +# @Intent: Set compiler specific flags for standard C includes +# Done at the very end, so any other system includes which may +# be added by Zephyr components were first in list. +toolchain_cc_nostdinc() diff --git a/lib/libc/minimal/CMakeLists.txt b/lib/libc/minimal/CMakeLists.txt index 3ac2ebade1c5b..036a4f139c09e 100644 --- a/lib/libc/minimal/CMakeLists.txt +++ b/lib/libc/minimal/CMakeLists.txt @@ -1,6 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 -zephyr_include_directories(include) +zephyr_system_include_directories(include) zephyr_library() zephyr_library_sources( diff --git a/lib/posix/CMakeLists.txt b/lib/posix/CMakeLists.txt index a83dff9296050..ed9a7c416eb94 100644 --- a/lib/posix/CMakeLists.txt +++ b/lib/posix/CMakeLists.txt @@ -1,9 +1,9 @@ # SPDX-License-Identifier: Apache-2.0 -add_library(PTHREAD INTERFACE) +zephyr_interface_library_named(posix_subsys) -target_include_directories(PTHREAD INTERFACE ${ZEPHYR_BASE}/include/posix) +target_include_directories(posix_subsys INTERFACE ${ZEPHYR_BASE}/include/posix) zephyr_library() zephyr_library_sources(pthread_common.c) @@ -21,5 +21,5 @@ zephyr_library_sources_ifdef(CONFIG_PTHREAD_IPC pthread_key.c) zephyr_library_sources_ifdef(CONFIG_POSIX_MQUEUE mqueue.c) zephyr_library_sources_ifdef(CONFIG_POSIX_FS fs.c) -zephyr_library_link_libraries(PTHREAD) -target_link_libraries(PTHREAD INTERFACE zephyr_interface) +zephyr_library_link_libraries(posix_subsys) +target_link_libraries(posix_subsys INTERFACE zephyr_interface) diff --git a/lib/posix/Kconfig b/lib/posix/Kconfig index ef8e60638764d..268a22a26f2d5 100644 --- a/lib/posix/Kconfig +++ b/lib/posix/Kconfig @@ -96,4 +96,12 @@ config POSIX_MAX_OPEN_FILES endif endif # FILE_SYSTEM +# The name of this option is mandated by zephyr_interface_library_named +# cmake directive. +config APP_LINK_WITH_POSIX_SUBSYS + bool "Make POSIX headers available to application" + default y + help + Add POSIX subsystem header files to the 'app' include path. + endif # POSIX_API diff --git a/tests/posix/common/CMakeLists.txt b/tests/posix/common/CMakeLists.txt index dcc43da1ef63b..8ad20ac3515a0 100644 --- a/tests/posix/common/CMakeLists.txt +++ b/tests/posix/common/CMakeLists.txt @@ -4,6 +4,5 @@ cmake_minimum_required(VERSION 3.13.1) include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE) project(posix_common) -target_include_directories(app PRIVATE $ENV{ZEPHYR_BASE}/include/posix) FILE(GLOB app_sources src/*.c) target_sources(app PRIVATE ${app_sources}) diff --git a/tests/posix/fs/CMakeLists.txt b/tests/posix/fs/CMakeLists.txt index 8d7c60607bb63..863e2231b4792 100644 --- a/tests/posix/fs/CMakeLists.txt +++ b/tests/posix/fs/CMakeLists.txt @@ -4,7 +4,5 @@ cmake_minimum_required(VERSION 3.13.1) include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE) project(fs) -target_include_directories(app PRIVATE $ENV{ZEPHYR_BASE}/include/) - FILE(GLOB app_sources src/*.c) target_sources(app PRIVATE ${app_sources})