cmake: update for compatibility with CMake 4.0

This commit is contained in:
2026-03-22 13:11:10 +00:00
parent ac8f669e6b
commit 119a86b8e6
12 changed files with 36 additions and 32 deletions

View File

@@ -26,7 +26,7 @@ bsp_add_library(
NAME libc
LIB_DIR /usr/lib)
target_link_libraries(libc libmango libxpc-static interface::fs)
target_link_libraries(libc PRIVATE libmango libxpc-static interface::fs)
target_compile_definitions(libc PRIVATE ENABLE_GLOBAL_HEAP=1)
add_subdirectory(pthread)

View File

@@ -22,4 +22,4 @@ sysroot_add_library(
HEADER_DIR /usr/include
LIB_DIR /usr/lib)
target_link_libraries(libc-core libmango)
target_link_libraries(libc-core PRIVATE libmango librosetta)

View File

@@ -1,33 +1,32 @@
set(source_dirs thread)
set(pthread_source_dirs thread)
foreach (dir ${source_dirs})
foreach (dir ${pthread_source_dirs})
file(GLOB dir_sources ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/*.c)
file(GLOB dir_headers ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/*.h)
set(sources ${sources} ${dir_sources})
set(headers ${headers} ${dir_headers})
set(pthread_sources ${pthread_sources} ${dir_sources})
set(pthread_headers ${pthread_headers} ${dir_headers})
endforeach (dir)
file(GLOB sys_sources
file(GLOB pthread_sys_sources
${CMAKE_CURRENT_SOURCE_DIR}/sys/${CMAKE_SYSTEM_PROCESSOR}/*.c
${CMAKE_CURRENT_SOURCE_DIR}/sys/${CMAKE_SYSTEM_PROCESSOR}/*.S)
set_property(SOURCE ${sys_sources} PROPERTY LANGUAGE C)
set(sources ${sources} ${sys_sources})
set(pthread_sources ${pthread_sources} ${pthread_sys_sources})
set(headers ${headers} ${CMAKE_CURRENT_SOURCE_DIR}/include/pthread.h)
set(public_include_dir ${CMAKE_CURRENT_SOURCE_DIR}/include)
set(pthread_headers ${pthread_headers} ${CMAKE_CURRENT_SOURCE_DIR}/include/pthread.h)
set(pthread_public_include_dir ${CMAKE_CURRENT_SOURCE_DIR}/include)
rosetta_add_library(STATIC
NAME libc-pthread
PUBLIC_INCLUDE_DIRS ${public_include_dir}
SOURCES ${sources}
HEADERS ${headers})
PUBLIC_INCLUDE_DIRS ${pthread_public_include_dir}
SOURCES ${pthread_sources}
HEADERS ${pthread_headers})
rosetta_add_library(SHARED
NAME libpthread
PUBLIC_INCLUDE_DIRS ${public_include_dir}
SOURCES ${sources}
HEADERS ${headers})
PUBLIC_INCLUDE_DIRS ${pthread_public_include_dir}
SOURCES ${pthread_sources}
HEADERS ${pthread_headers})
sysroot_add_library(
NAME libc-pthread
@@ -38,5 +37,10 @@ sysroot_add_library(
HEADER_DIR /usr/include
LIB_DIR /usr/lib)
target_link_libraries(libc-pthread libc-io libmango)
target_link_libraries(libpthread libmango libc)
bsp_add_library(
NAME libpthread
LIB_DIR /usr/lib)
target_link_libraries(libc-pthread PRIVATE libc-io libmango)
target_link_libraries(libpthread PRIVATE libmango)
target_link_libraries(libpthread PUBLIC libc)

View File

@@ -1,6 +1,5 @@
file(GLOB runtime_sources
${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_PROCESSOR}/*.s)
set_property(SOURCE ${runtime_sources} PROPERTY LANGUAGE C)
rosetta_add_object_library(
NAME libc-runtime STATIC

View File

@@ -18,4 +18,4 @@ sysroot_add_library(
HEADER_DIR /usr/include
LIB_DIR /usr/lib)
target_link_libraries(liblaunch librosetta libmango libc-core)
target_link_libraries(liblaunch PRIVATE librosetta libmango libc-core)

View File

@@ -12,4 +12,4 @@ sysroot_add_library(
HEADER_DIR /usr/include
LIB_DIR /usr/lib)
target_link_libraries(librosetta libmango)
target_link_libraries(librosetta PRIVATE libmango)