27 lines
1004 B
CMake
27 lines
1004 B
CMake
function(luna_app SOURCE_FILE APP_NAME SETUID)
|
|
add_executable(${APP_NAME} ${SOURCE_FILE})
|
|
target_compile_options(${APP_NAME} PRIVATE -Os ${COMMON_FLAGS} -Wno-write-strings)
|
|
add_dependencies(${APP_NAME} libc)
|
|
target_include_directories(${APP_NAME} PRIVATE ${LUNA_BASE}/usr/include)
|
|
target_link_libraries(${APP_NAME} PRIVATE os)
|
|
if(${SETUID})
|
|
install(TARGETS ${APP_NAME} DESTINATION ${LUNA_ROOT}/initrd/bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE SETUID)
|
|
else()
|
|
install(TARGETS ${APP_NAME} DESTINATION ${LUNA_ROOT}/initrd/bin)
|
|
endif()
|
|
endfunction()
|
|
|
|
luna_app(init.cpp init OFF)
|
|
luna_app(env.cpp env OFF)
|
|
luna_app(su.cpp su ON)
|
|
luna_app(sh.cpp sh OFF)
|
|
luna_app(cat.cpp cat OFF)
|
|
luna_app(date.cpp date OFF)
|
|
luna_app(edit.cpp edit OFF)
|
|
luna_app(ls.cpp ls OFF)
|
|
luna_app(chown.cpp chown OFF)
|
|
luna_app(chmod.cpp chmod OFF)
|
|
luna_app(mkdir.cpp mkdir OFF)
|
|
luna_app(rm.cpp rm OFF)
|
|
luna_app(stat.cpp stat OFF)
|