More accurate cmake flags sets/unsets for 3rdparty libs
authorAndrey Kamaev <no@email>
Fri, 2 Mar 2012 11:36:34 +0000 (11:36 +0000)
committerAndrey Kamaev <no@email>
Fri, 2 Mar 2012 11:36:34 +0000 (11:36 +0000)
cmake/OpenCVIOLibs.cmake

index 2ef9262..bf28eaa 100644 (file)
@@ -1,6 +1,12 @@
+macro(unset_all)
+  foreach(var ${ARGN})
+    unset(${var} CACHE)
+  endforeach()
+endmacro()
+
 ################### zlib - required
 if(BUILD_ZLIB)
-  set(ZLIB_FOUND FALSE)
+  unset_all(ZLIB_FOUND)
 else()
   if(ANDROID)
     set(ZLIB_FOUND TRUE)
@@ -13,6 +19,8 @@ else()
 endif()
 
 if(NOT ZLIB_FOUND)
+  unset_all(ZLIB_LIBRARY ZLIB_LIBRARIES ZLIB_INCLUDE_DIR)
+
   set(ZLIB_LIBRARY zlib)
   set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
   add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/zlib")
@@ -22,13 +30,15 @@ endif()
 ################### libtiff - optional (should be searched after zlib)
 if(WITH_TIFF)
   if(BUILD_TIFF)
-    set(TIFF_FOUND FALSE)
+    unset_all(TIFF_FOUND)
   else()
     include(FindTIFF)
   endif()
 endif()
 
 if(WITH_TIFF AND NOT TIFF_FOUND)
+  unset_all(TIFF_LIBRARY TIFF_LIBRARIES TIFF_INCLUDE_DIR)
+
   set(TIFF_LIBRARY libtiff)
   set(TIFF_LIBRARIES ${TIFF_LIBRARY})
   add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/libtiff")
@@ -38,13 +48,15 @@ endif()
 ################### libjpeg - optional
 if(WITH_JPEG)
   if(BUILD_JPEG)
-    set(JPEG_FOUND FALSE)
+    unset_all(JPEG_FOUND)
   else()
     include(FindJPEG)
   endif()
 endif()
 
 if(WITH_JPEG AND NOT JPEG_FOUND)
+  unset_all(JPEG_LIBRARY JPEG_LIBRARIES JPEG_INCLUDE_DIR)
+
   set(JPEG_LIBRARY libjpeg)
   set(JPEG_LIBRARIES ${JPEG_LIBRARY})
   add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/libjpeg")
@@ -54,13 +66,15 @@ endif()
 ################### libjasper - optional (should be searched after libjpeg)
 if(WITH_JASPER)
   if(BUILD_JASPER)
-    set(JASPER_FOUND FALSE)
+    unset_all(JASPER_FOUND)
   else()
     include(FindJasper)
   endif()
 endif()
 
 if(WITH_JASPER AND NOT JASPER_FOUND)
+  unset_all(JASPER_LIBRARY JASPER_LIBRARIES JASPER_INCLUDE_DIR)
+
   set(JASPER_LIBRARY libjasper)
   set(JASPER_LIBRARIES ${JASPER_LIBRARY})
   add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/libjasper")
@@ -70,7 +84,7 @@ endif()
 ################### libpng - optional (should be searched after zlib)
 if(WITH_PNG)
   if(BUILD_PNG)
-    set(PNG_FOUND FALSE)
+    unset_all(PNG_FOUND)
   else()
     include(FindPNG)
     if(PNG_FOUND)
@@ -81,16 +95,13 @@ if(WITH_PNG)
 endif()
 
 if(WITH_PNG AND NOT PNG_FOUND)
+  unset_all(PNG_LIBRARY PNG_LIBRARIES PNG_INCLUDE_DIR PNG_PNG_INCLUDE_DIR HAVE_PNG_H HAVE_LIBPNG_PNG_H PNG_DEFINITIONS)
+
   set(PNG_LIBRARY libpng)
   set(PNG_LIBRARIES ${PNG_LIBRARY})
   add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/libpng")
   set(PNG_INCLUDE_DIR "${${PNG_LIBRARY}_SOURCE_DIR}")
   set(PNG_DEFINITIONS "")
-  unset(HAVE_LIBPNG_PNG_H CACHE)
-  unset(HAVE_PNG_H CACHE)
-  unset(HAVE_PNG_H CACHE)
-  unset(PNG_LIBRARY CACHE)
-  unset(PNG_PNG_INCLUDE_DIR CACHE)
 endif()
 
 ################### OpenEXR - optional