From: ibs Date: Tue, 28 Jan 2014 15:17:50 +0000 (+0400) Subject: 0024580: CMake doesn't unset becoming unused variables when 3rdparty's usage is switc... X-Git-Tag: HYDRO-2014-01-31~7 X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=a5deedd07b984830d414d76ea9875cb33a9fa6f5 0024580: CMake doesn't unset becoming unused variables when 3rdparty's usage is switched off unset becoming unused variables when freeimage, opencl, tbb and gl2ps are switched off --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 1468ea73d9..e7cfe1d157 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -209,6 +209,19 @@ SET(USE_OPENCL OFF CACHE BOOL "whether use OpenCL or not") SET(INSTALL_TESTS OFF CACHE BOOL "Is tests copy to install directory") +MACRO (CHECK_AND_UNSET VARNAME) + IF(DEFINED ${VARNAME}) + UNSET(${VARNAME} CACHE) + ENDIF() +ENDMACRO() + +MACRO (CHECK_AND_UNSET_GROUP VARNAME) + CHECK_AND_UNSET ("${VARNAME}_DIR") + CHECK_AND_UNSET ("${VARNAME}_INCLUDE_DIR") + CHECK_AND_UNSET ("${VARNAME}_DLL") + CHECK_AND_UNSET ("${VARNAME}_LIBRARY") +ENDMACRO() + MACRO(THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME) IF(NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DIR) SET(3RDPARTY_${PRODUCT_NAME}_DIR "" CACHE PATH "Directory contains ${PRODUCT_NAME} product") @@ -382,12 +395,20 @@ IF(USE_FREEIMAGE) THIRDPARTY_PRODUCT("FREEIMAGEPLUS" "FreeImagePlus.h" "freeimageplus${BUILD_SUFFIX}") ENDIF() +ELSE() + CHECK_AND_UNSET_GROUP ("3RDPARTY_FREEIMAGE") + CHECK_AND_UNSET_GROUP ("3RDPARTY_FREEIMAGEPLUS") + CHECK_AND_UNSET ("INSTALL_FREEIMAGE") + CHECK_AND_UNSET ("INSTALL_FREEIMAGEPLUS") ENDIF() # GL2PS IF(USE_GL2PS) ADD_DEFINITIONS(-DHAVE_GL2PS) THIRDPARTY_PRODUCT("GL2PS" "gl2ps.h" "gl2ps${BUILD_SUFFIX}") +ELSE() + CHECK_AND_UNSET_GROUP ("3RDPARTY_GL2PS") + CHECK_AND_UNSET ("INSTALL_GL2PS") ENDIF() # OPENCL @@ -418,6 +439,11 @@ IF(USE_OPENCL) # if CL/cl.h isn't found (and 3RDPARTY_OPENCL_INCLUDE_DIR isn't defined) # then try to find OpenCL/cl.h (all other variable won't be changed) THIRDPARTY_PRODUCT("OPENCL" "OpenCL/cl.h" "OpenCL${BUILD_SUFFIX}") +ELSE() + CHECK_AND_UNSET_GROUP ("3RDPARTY_OPENCL") + CHECK_AND_UNSET ("3RDPARTY_OPENCL_ADDITIONAL_PATH_FOR_LIB") + CHECK_AND_UNSET ("3RDPARTY_OPENCL_ADDITIONAL_PATH_FOR_LIB") + CHECK_AND_UNSET ("INSTALL_OPENCL") ENDIF() # TBB @@ -435,6 +461,11 @@ IF (USE_TBB) GET_FILENAME_COMPONENT(3RDPARTY_TBB_DLL_DIR "${3RDPARTY_TBB_DLL}" PATH) GET_FILENAME_COMPONENT(3RDPARTY_TBB_MALLOC_DLL_DIR "${3RDPARTY_TBB_MALLOC_DLL}" PATH) ENDIF() +ELSE() + CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB") + CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB_MALLOC") + CHECK_AND_UNSET ("3RDPARTY_TBB_DIR_NAME") + CHECK_AND_UNSET ("INSTALL_TBB") ENDIF() string( REGEX REPLACE ";" " " 3RDPARTY_NOT_INCLUDED "${3RDPARTY_NOT_INCLUDED}")