mirror of
https://github.com/wiiu-env/wut.git
synced 2025-01-06 13:58:18 +01:00
wut.cmake: Update to support creating RPL files, and exports.
This commit is contained in:
parent
2ea440c90e
commit
6d8dabb15b
@ -1,39 +1,56 @@
|
||||
cmake_minimum_required(VERSION 3.2)
|
||||
|
||||
macro(wut_enable_newlib target)
|
||||
set_property(TARGET ${target}
|
||||
APPEND_STRING PROPERTY
|
||||
LINK_FLAGS " -Wl,--whole-archive -lwutnewlib -Wl,--no-whole-archive")
|
||||
set_property(TARGET ${target} APPEND_STRING PROPERTY
|
||||
LINK_FLAGS " -Wl,--whole-archive -lwutnewlib -Wl,--no-whole-archive")
|
||||
endmacro(wut_enable_newlib)
|
||||
|
||||
macro(wut_enable_devoptab target)
|
||||
set_property(TARGET ${target}
|
||||
APPEND_STRING PROPERTY
|
||||
LINK_FLAGS " -Wl,--whole-archive -lwutdevoptab -Wl,--no-whole-archive")
|
||||
set_property(TARGET ${target} APPEND_STRING PROPERTY
|
||||
LINK_FLAGS " -Wl,--whole-archive -lwutdevoptab -Wl,--no-whole-archive")
|
||||
endmacro(wut_enable_devoptab)
|
||||
|
||||
macro(wut_enable_stdcpp target)
|
||||
target_link_libraries(${target}
|
||||
stdc++)
|
||||
|
||||
set_property(TARGET ${target}
|
||||
APPEND_STRING PROPERTY
|
||||
COMPILE_FLAGS "-std=c++17")
|
||||
set_property(TARGET ${target} APPEND_STRING PROPERTY
|
||||
COMPILE_FLAGS "-std=c++17")
|
||||
|
||||
set_property(TARGET ${target}
|
||||
APPEND_STRING PROPERTY
|
||||
LINK_FLAGS " -Wl,--whole-archive -lwutstdc++ -Wl,--no-whole-archive")
|
||||
set_property(TARGET ${target} APPEND_STRING PROPERTY
|
||||
LINK_FLAGS " -Wl,--whole-archive -lwutstdc++ -Wl,--no-whole-archive")
|
||||
endmacro(wut_enable_stdcpp)
|
||||
|
||||
macro(wut_create_rpx target source)
|
||||
function(wut_create_rpl target source)
|
||||
set(RPL_OPTIONS IS_RPX)
|
||||
set(RPL_SINGLE_ARGS EXPORTS_FILE)
|
||||
set(RPL_MULTI_ARGS "")
|
||||
cmake_parse_arguments(RPL "${RPL_OPTIONS}" "${RPL_SINGLE_ARGS}" "${RPL_MULTI_ARGS}" "${ARGN}")
|
||||
|
||||
if(NOT RPL_IS_RPX)
|
||||
set(ELF2RPL_FLAGS ${ELF2RPL_FLAGS} --rpl)
|
||||
endif()
|
||||
|
||||
if(RPL_EXPORTS_FILE)
|
||||
if(NOT IS_ABSOLUTE ${RPL_EXPORTS_FILE})
|
||||
set(RPL_EXPORTS_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${RPL_EXPORTS_FILE}")
|
||||
endif()
|
||||
|
||||
set(ELF2RPL_FLAGS ${ELF2RPL_FLAGS} --exports ${RPL_EXPORTS_FILE})
|
||||
endif()
|
||||
|
||||
target_link_libraries(${source}
|
||||
wutcrt
|
||||
coreinit)
|
||||
|
||||
add_custom_target(${target} ALL
|
||||
COMMAND ${WUT_ELF2RPL} ${source} ${target}
|
||||
COMMAND ${WUT_ELF2RPL} ${ELF2RPL_FLAGS} ${source} ${target}
|
||||
DEPENDS ${source}
|
||||
COMMENT "Converting to RPX ${target}")
|
||||
|
||||
add_dependencies(${target} ${source})
|
||||
endmacro(wut_create_rpx)
|
||||
add_dependencies(${target} ${source})
|
||||
endfunction()
|
||||
|
||||
function(wut_create_rpx)
|
||||
wut_create_rpl(${ARGV} IS_RPX)
|
||||
endfunction()
|
||||
|
Loading…
Reference in New Issue
Block a user