Re: [cmake-developers] FindDevIL.cmake module looks for wrong header

2011-08-03 Thread Brad King

On 8/2/2011 4:41 PM, Miłosz Kosobucki wrote:

FindDevIL.cmake module seems to be looking for il.h header instead of
IL/il.h. This way, user should be writing

#includeil.h

instead of

#includeIL/il.h

in his code. Note that the latter version is used with all examples in
DevIL library. Also libraries like OpenGL use the latter format.

I hope I included the patch properly. It was tested on Windows (MSVC
2010) and Linux.


Unfortunately this is a backward-incompatible change.  If a CMake-based
project does

  find_package(DevIL)
  include_directories(${IL_INCLUDE_DIR})

and in its C code has

  #include il.h

then it would work prior to this patch and not afterward.  In order to
make this change in a compatible way you will need to use a different
variable name.

The module also needs to be fixed to follow conventions documented in
the module readme (note the difference between singular and plural names):

  http://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/readme.txt;hb=v2.8.5

Perhaps you can name all the variables with a DevIL_ prefix and the
proper behavior you propose above.  Then provide compatible values in
the old names.

BTW, currently the FindDevIL module has no module maintainer:

  http://www.cmake.org/Wiki/CMake:Module_Maintainers

to review patches and maintain the module.  If you're interested in
becoming the maintainer for this module, let me know.

-Brad
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


[cmake-developers] FindDevIL.cmake module looks for wrong header

2011-08-02 Thread Miłosz Kosobucki
Hi,

FindDevIL.cmake module seems to be looking for il.h header instead of
IL/il.h. This way, user should be writing

#include il.h

instead of

#include IL/il.h

in his code. Note that the latter version is used with all examples in
DevIL library. Also libraries like OpenGL use the latter format.

I hope I included the patch properly. It was tested on Windows (MSVC
2010) and Linux.

From c693f6f95faa3eed069b2f3e42d5923d1adb1933 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mi=C5=82osz=20Kosobucki?= mikom@snowball.(none)
Date: Tue, 2 Aug 2011 22:22:04 +0200
Subject: [PATCH] FindDevIL.cmake module is now looking for IL/il.h instead of il.h

---
 Modules/FindDevIL.cmake |8 
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Modules/FindDevIL.cmake b/Modules/FindDevIL.cmake
index 0e21284..a220f75 100644
--- a/Modules/FindDevIL.cmake
+++ b/Modules/FindDevIL.cmake
@@ -5,7 +5,7 @@
 # IL_LIBRARIES the name of the IL library. These include the full path to the core DevIL library. This one has to be linked into the application.
 # ILU_LIBRARIES the name of the ILU library. Again, the full path. This library is for filters and effects, not actual loading. It doesn't have to be linked if the functionality it provides is not used.
 # ILUT_LIBRARIES the name of the ILUT library. Full path. This part of the library interfaces with OpenGL. It is not strictly needed in applications.
-# IL_INCLUDE_DIR where to find the il.h, ilu.h and ilut.h files.
+# IL_INCLUDE_DIR where to find the IL/il.h, IL/ilu.h and IL/ilut.h files.
 # IL_FOUND this is set to TRUE if all the above variables were set. This will be set to false if ILU or ILUT are not found, even if they are not needed. In most systems, if one library is found all the others are as well. That's the way the DevIL developers release it.
 
 #=
@@ -27,9 +27,9 @@
 
 INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
 
-FIND_PATH(IL_INCLUDE_DIR il.h 
-  PATH_SUFFIXES include IL
-  DOC The path the the directory that contains il.h
+FIND_PATH(IL_INCLUDE_DIR IL/il.h 
+  PATH_SUFFIXES include
+  DOC The path the the directory that contains IL/il.h
 )
 
 #MESSAGE(IL_INCLUDE_DIR is ${IL_INCLUDE_DIR})
-- 
1.7.4.1

___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers