aboutsummaryrefslogtreecommitdiff
path: root/cmake/wnix_program.cmake
blob: 65efc50a3caf6b83a970089e907df64f0326f522 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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()