Implement adding windows resource file for a target

This commit is contained in:
Nikita Lisitsa 2022-12-22 21:50:25 +03:00
parent 2349882abc
commit 64425e4cc9
2 changed files with 21 additions and 0 deletions

View file

@ -94,3 +94,23 @@ function(psemek_add_library target)
target_compile_definitions(${target} PUBLIC "-DPSEMEK_PACKAGE_MODE") target_compile_definitions(${target} PUBLIC "-DPSEMEK_PACKAGE_MODE")
endif() endif()
endfunction() endfunction()
function(psemek_add_winrc target path)
if(WIN32 AND (TARGET ${target}))
get_target_property(OUT_DIR ${target} BINARY_DIR)
set(_IN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${path}")
file(MAKE_DIRECTORY "${OUT_DIR}/winrc")
set(_OUT_FILE "${OUT_DIR}/winrc/res.o")
message("CMAKE_RC_COMPILER: ${CMAKE_RC_COMPILER}")
add_custom_command(OUTPUT "${_OUT_FILE}"
COMMAND ${CMAKE_RC_COMPILER} "${_IN_FILE}" "${_OUT_FILE}"
DEPENDS psemek-resource-compiler "${_IN_FILE}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
target_sources(${target} PRIVATE "${_OUT_FILE}")
endif()
endfunction()

View file

@ -3,6 +3,7 @@ set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix)
set(CMAKE_SYSTEM_NAME Windows) set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSROOT /usr/x86_64-w64-mingw32) set(CMAKE_SYSROOT /usr/x86_64-w64-mingw32)
set(CMAKE_BUILD_TYPE Release) set(CMAKE_BUILD_TYPE Release)
set(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32-windres)
set(PSEMEK_PACKAGE_MODE ON) set(PSEMEK_PACKAGE_MODE ON)
set(PSEMEK_PACKAGE_ROOT "${CMAKE_CURRENT_LIST_DIR}") set(PSEMEK_PACKAGE_ROOT "${CMAKE_CURRENT_LIST_DIR}")