diff options
Diffstat (limited to 'src/CMakeLists.txt')
| -rw-r--r-- | src/CMakeLists.txt | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0f28e58..05c73c4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -# wanix, a Unix-like operating system for WebAssembly +# wnix, a Unix-like operating system for WebAssembly applications. # Copyright (C) 2025 Xavier Del Campo Romero # # This program is free software: you can redistribute it and/or modify @@ -14,17 +14,33 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. +set(NW_LOG_CUSTOM ON) add_subdirectory(nanowasm) -target_link_libraries(${PROJECT_NAME} PRIVATE nanowasm) +set(WIP_LOG_CUSTOM ON) +add_subdirectory(wip) +add_subdirectory(dynstr) # Avoid C11 since it is not supported by the i386-mingw32 toolchain. -set(cflags ${cflags} -Wall -ffunction-sections -fdata-sections -pedantic) +set(cflags ${cflags} -Wall -pedantic) set(components aio + bin + caio + drv + endian + fs + gfx + init + io + kprintf + loop + net + page ) set(interfaces + state ) if(PS1_BUILD) @@ -35,24 +51,24 @@ endif() target_compile_options(${PROJECT_NAME} PUBLIC ${cflags}) target_compile_options(nanowasm PUBLIC ${cflags}) # Dependencies for main.c -# target_link_libraries(${PROJECT_NAME} PRIVATE) +target_link_libraries(${PROJECT_NAME} PRIVATE gfx init loop) foreach(c ${components}) - add_subdirectory("${c}") + add_subdirectory(${c}) target_compile_options(${c} PUBLIC ${cflags}) target_compile_features(${c} PUBLIC c_std_99) set_target_properties(${c} PROPERTIES C_STANDARD 99 C_EXTENSIONS OFF) target_link_libraries(${PROJECT_NAME} PRIVATE ${c}) if(PS1_BUILD) - target_link_libraries(${c} PRIVATE c) + target_link_libraries(${c} PUBLIC c) endif() endforeach() foreach(i ${interfaces}) - add_subdirectory("${i}") + add_subdirectory(${i}) target_compile_options(${i} INTERFACE ${cflags}) - target_link_libraries(${PROJECT_NAME} PRIVATE ${c}) + target_link_libraries(${i} INTERFACE ${c}) endforeach() target_link_options(${PROJECT_NAME} PRIVATE -Wl,--gc-sections) |
