From f1cd9d77bb861238fe520d423888d9f85d26280a Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Mon, 23 May 2011 10:52:37 +0000 Subject: [PATCH] [CMAKE] * Add module_clean targets. svn path=/trunk/; revision=51857 --- reactos/CMakeMacros.cmake | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/reactos/CMakeMacros.cmake b/reactos/CMakeMacros.cmake index d2993a28bd5..08a421dbf80 100644 --- a/reactos/CMakeMacros.cmake +++ b/reactos/CMakeMacros.cmake @@ -204,3 +204,26 @@ function(add_cd_file) endif() endif() #end bootcd endfunction() + +# Create module_clean targets +function(add_clean_target target) + if(CMAKE_GENERATOR MATCHES "Unix Makefiles" OR CMAKE_GENERATOR MATCHES "MinGW Makefiles") + set(CLEAN_COMMAND make clean) + elseif(CMAKE_GENERATOR MATCHES "NMake Makefiles") + set(CLEAN_COMMAND nmake clean) + endif() + add_custom_target(${target}_clean + COMMAND ${CLEAN_COMMAND} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Cleaning ${target}") +endfunction() + +function(add_library name) + _add_library(${name} ${ARGN}) + add_clean_target(${name}) +endfunction() + +function(add_executable name) + _add_executable(${name} ${ARGN}) + add_clean_target(${name}) +endfunction()