kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #16055
Re: Again with the glew on 10.10
> On Dec 11, 2014, at 11:51 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>
> On 12/11/2014 1:19 PM, Andy Peters wrote:
>>
>>> On Dec 11, 2014, at 9:50 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>>
>>> On 12/11/2014 11:31 AM, Andy Peters wrote:
>>>>
>>>>> On Dec 10, 2014, at 6:05 PM, Adam Wolf <adamwolf@xxxxxxxxxxxxxxxxxxxx> wrote:
>>>>>
>>>>> I have not seen this issue, but I am using brew for glew.
>>>>>
>>>>> Adam Wolf
>>>>> Cofounder and Engineer
>>>>> W&L
>>>>
>>>> I see that the header in question is in /usr/include/GL (this is where glew's make install put it), which means that the make system assumes that glew is installed someplace else. Where is that include directory specified? I can install the glew stuff to wherever, just as long as I know where it is supposed to go!
>>>>
>>>> -a
>>>
>>> A large part of the problem is neither KiCad's custom FindGLEW.cmake or
>>> the stock one shipped with CMake is very well thought out. They both
>>> use the typical check for platform tests which inevitably break instead
>>> of feature tests. Glew (at least the recent versions) will use
>>> pkg-config if it is available to create the correct configuration
>>> information which is how FindGLEW.cmake should work instead of using the
>>> platform specific paths. Pkg-config is available on all platforms
>>> including windows so this should be the default search mechanism. The
>>> platform specific stuff should be the fall back and there should be the
>>> catch all root path variable for custom builds which should always take
>>> precedence. There is also the option of setting
>>> -DCMAKE_PREFIX_PATH=/usr on the command line.
Does this add to the existing prefix path, or does it replace it entirely?
>>>
>> pkg-config is on my systems, and it should work, I agree, but something is borked.
>>
>> I looked at FindGLEW.cmake and added the correct path to the headers:
>>
>> IF (APPLE)
>> # These values for Apple could probably do with improvement.
>> FIND_PATH( GLEW_INCLUDE_DIR GL/glew.h
>> /System/Library/Frameworks/GLEW.framework/Versions/A/Headers
>> /opt/local/include
>> /usr/include <- I added this!
>> ${OPENGL_LIBRARY_DIR}
>> )
>>
>> FIND_LIBRARY( GLEW_GLEW_LIBRARY GLEW
>> /opt/local/lib
>> /usr/lib
>> )
>
> This will work but is at the heart of the problem. Adding every
> possible combination of paths is not a long term solution.
> Unfortunately it's how most of the cmake find package files are written.
>
>>
>> and re-ran cmake, and it didn't seem to care. I even did a make clean. I don't know if there's a "cmake clean" command which forces cmake to rebuild everything.
>
> You have to delete all of the CMake build files in order for this to
> work. Once the path is cached, it doesn't change even if you change the
> cmake files. The easiest way is to do a clean build. You could try
> `make rebuild_cache` and see if that updates the glew path.
all righty, I just deleted my entire kicad checkout and bzr branched the latest. Then I edited FindGLEW.cmake as noted above, did the build, and then it failed again at the same spot.
Follow ups
References