aboutsummaryrefslogtreecommitdiff
path: root/cmake/wnix_program.cmake
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi92@disroot.org>2025-11-12 00:37:26 +0100
committerXavier Del Campo Romero <xavi92@disroot.org>2025-11-16 22:57:45 +0100
commit2ce58c995946f85666e793c4f06efff683e76ae4 (patch)
treefbf2658bb0b0f61dadcf4ca27f997eaded78aae5 /cmake/wnix_program.cmake
parent5ce25ae3b5d8666d373f7d7e336546ce8508c213 (diff)
Diffstat (limited to 'cmake/wnix_program.cmake')
-rw-r--r--cmake/wnix_program.cmake19
1 files changed, 19 insertions, 0 deletions
diff --git a/cmake/wnix_program.cmake b/cmake/wnix_program.cmake
new file mode 100644
index 0000000..65efc50
--- /dev/null
+++ b/cmake/wnix_program.cmake
@@ -0,0 +1,19 @@
+function(wnix_program)
+ add_compile_options(-g)
+
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ add_compile_options(-Og)
+ endif()
+
+ add_subdirectory(../libc ${CMAKE_CURRENT_BINARY_DIR}/libc)
+ target_link_libraries(${PROJECT_NAME} PRIVATE c)
+ # TODO: Debugging symbols could still be there, but nwc still has issues.
+ add_custom_target(${PROJECT_NAME}_strip ALL
+ ${CMAKE_STRIP} ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}
+ BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}
+ )
+ add_dependencies(${PROJECT_NAME}_strip ${PROJECT_NAME})
+ install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
+endfunction()