diff --git a/CMakeLists.txt b/CMakeLists.txt index 79289c38..c6c16a81 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,7 @@ project(pip) cmake_minimum_required(VERSION 2.6) include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) +set(PIP_BUILD 1) include(CheckFunctionExists) include(PIPMacros.cmake) diff --git a/PIPMacros.cmake b/PIPMacros.cmake index 93d10333..5f8a87f1 100644 --- a/PIPMacros.cmake +++ b/PIPMacros.cmake @@ -77,14 +77,24 @@ macro(pip_resources RESULT INPUT) if(NOT DEFINED PIP_DLL_DIR) set(PIP_DLL_DIR ${CMAKE_CURRENT_BINARY_DIR}) endif() + set(RC_DEPS ${RC_FILES}) + if(NOT PIP_BUILD) + execute_process(COMMAND "${PIP_RC}" -l -i "${RC_FILES}" + WORKING_DIRECTORY ${PIP_DLL_DIR} + OUTPUT_VARIABLE RC_LIST) + #message("${RC_LIST}") + string(REPLACE "\n" ";" RC_LIST "${RC_LIST}") + list(APPEND RC_DEPS "${RC_LIST}") + endif() #message("PIP_RC: ${PIP_RC}") #message("RC_OUT: ${RC_OUT}") #message("RC_FILES: ${RC_FILES}") #message("PIP_DLL_DIR: ${PIP_DLL_DIR}") + #message("RC_DEPS: ${RC_DEPS}") add_custom_command(OUTPUT ${RC_OUT} COMMAND ${PIP_RC} ARGS -i ${RC_FILES} -o ${RC_OUT} - DEPENDS ${RC_FILES} + DEPENDS ${RC_DEPS} WORKING_DIRECTORY ${PIP_DLL_DIR} COMMENT "Generating ${RC_FILE}" VERBATIM)