diff --git a/package/CMakeLists.txt b/package/CMakeLists.txt index 2b850689..85519b3b 100644 --- a/package/CMakeLists.txt +++ b/package/CMakeLists.txt @@ -94,3 +94,23 @@ function(psemek_add_library target) target_compile_definitions(${target} PUBLIC "-DPSEMEK_PACKAGE_MODE") endif() 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() diff --git a/package/win/toolchain-target.cmake b/package/win/toolchain-target.cmake index 2ad41156..dff58710 100644 --- a/package/win/toolchain-target.cmake +++ b/package/win/toolchain-target.cmake @@ -3,6 +3,7 @@ set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix) set(CMAKE_SYSTEM_NAME Windows) set(CMAKE_SYSROOT /usr/x86_64-w64-mingw32) set(CMAKE_BUILD_TYPE Release) +set(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32-windres) set(PSEMEK_PACKAGE_MODE ON) set(PSEMEK_PACKAGE_ROOT "${CMAKE_CURRENT_LIST_DIR}")