[SOLVED] CMake can't find anything...

For help with general CEGUI usage:
- Questions about the usage of CEGUI and its features, if not explained in the documentation.
- Problems with the CMAKE configuration or problems occuring during the build process/compilation.
- Errors or unexpected behaviour.

Moderators: CEGUI MVP, CEGUI Team

Zodiaclawl
Just popping in
Just popping in
Posts: 6
Joined: Tue Feb 25, 2014 02:11

[SOLVED] CMake can't find anything...

Postby Zodiaclawl » Tue Feb 25, 2014 02:16

Hello. I've been wanting to try out CEGUI for some time but as always CMake is being nothing but trouble.

Here's the output from the configuration:

Code: Select all

Could NOT find PCRE (missing:  PCRE_LIB_DBG)
Could NOT find FREETYPE (missing:  FREETYPE_LIB_DBG)
Could NOT find MINIZIP (missing:  MINIZIP_LIB MINIZIP_LIB_DBG MINIZIP_H_PATH)
Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)
Could NOT find FRIBIDI (missing:  FRIBIDI_FOUND_ALL_LIBS FRIBIDI_FOUND_ALL_LIBS_DBG FRIBIDI_INCLUDE_DIR)
Found OpenGL: opengl32 
Could NOT find GLEW (missing:  GLEW_LIB_DBG)
Found GLM: C:/Users/Zodiac/Desktop/Irrlicht/cegui/cegui-0.8.3/dependencies/include 
Could NOT find GLFW (missing:  GLFW_LIB_DBG)
Found DIRECTXSDK: C:/Program Files (x86)/Microsoft DirectX SDK (March 2009)/Lib/x64 
Could NOT find D3DX11EFFECTS (missing:  D3DX11EFFECTS_LIB D3DX11EFFECTS_LIB_DBG D3DX11EFFECTS_H_PATH)
Could NOT find IRRLICHT (missing:  IRRLICHT_LIB IRRLICHT_H_PATH)
Found OGRE: C:/Users/Zodiac/Desktop/OGRE_Engine/OgreSDK_vc10_v1-8-1/lib/Release/OgreMain.lib 
Could NOT find Boost
Could NOT find OIS (missing:  OIS_LIB OIS_H_PATH)
Could NOT find DIRECTFB (missing:  DIRECTFB_LIB DIRECTFB_LIB_DBG DIRECTFB_H_PATH)
Could NOT find OPENGLES (missing:  OPENGLES_LIB OPENGLES_H_PATH)
Could NOT find EXPAT (missing:  EXPAT_LIB_DBG)
Could NOT find XERCESC (missing:  XERCESC_LIB XERCESC_LIB_DBG XERCESC_H_PATH)
Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
Could NOT find TINYXML (missing:  TINYXML_LIB TINYXML_LIB_DBG TINYXML_H_PATH)
Could NOT find RAPIDXML (missing:  RAPIDXML_H_PATH)
Could NOT find IL (missing:  IL_LIB IL_LIB_DBG IL_H_PATH)
Could NOT find ILU (missing:  ILU_LIB ILU_LIB_DBG)
Could NOT find FREEIMAGE (missing:  FREEIMAGE_LIB FREEIMAGE_LIB_DBG FREEIMAGE_H_PATH)
Could NOT find SILLY (missing:  SILLY_LIB_DBG)
Could NOT find CORONA (missing:  CORONA_LIB CORONA_LIB_DBG CORONA_H_PATH)
Could NOT find PVRTOOLS (missing:  PVRTOOLS_LIB PVRTOOLS_H_PATH)
Could NOT find LUA51 (missing:  LUA_LIB_DBG)
Could NOT find TOLUAPP (missing:  TOLUAPP_LIB_DBG)
Found PythonInterp: C:/Python33/python.exe (found version "3.3")
Found PythonLibs: C:/Python33/libs/python33.lib (found version "3.3.0")
Could NOT find Boost
Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
Could NOT find FREETYPE (missing:  FREETYPE_LIB_DBG)
Some or all of the gtk libraries were not found. (missing:  GTK2_GTK_LIBRARY GTK2_GTK_INCLUDE_DIR GTK2_GDK_INCLUDE_DIR GTK2_GDKCONFIG_INCLUDE_DIR GTK2_GDK_LIBRARY GTK2_GLIB_INCLUDE_DIR GTK2_GLIBCONFIG_INCLUDE_DIR GTK2_GLIB_LIBRARY)
CMake Warning at CMakeLists.txt:336 (message):
  None of the XML parser modules are going to be built.

  You should ensure that CEGUI_OPTION_DEFAULT_XMLPARSER is set to something

  appropriate.


Configuring done


Before you ask, I have compiled the dependencies and it worked just fine. I've tried to copy and paste the dependencies folder to a billion different places but no matter where I put it I can't get CMake to find it. Another strange thing is that I have Irrlicht and Boost installed but it can't seem to find those either. Will I have to specify all the paths manually or can I use an environment variable or something like that to force CMake to find the appropriate directories? Sorry I haven't used CMake much before but in my experience it's been nothing but trouble.

I'd appreciate any help. Thanks.

TheSHEEEP
Not too shy to talk
Not too shy to talk
Posts: 33
Joined: Mon Aug 12, 2013 09:59

Re: CMake can't find anything...

Postby TheSHEEEP » Tue Feb 25, 2014 10:42

Funny enough, finding the dependencies is one of the things that did not cause me any trouble. :D

I put the compiled (so, the "dependencies" folder that is in your build folder after you built) dependencies folder into the root folder of the cegui sources (not its build folder). That is afaik where it needs to be.
If you have tried that, it is possible that CMake still had its cache believing it is not there. In that case, the easiest thing is to clear the cache via the CMake gui.

I agree that CMake can be a pain, but all the alternatives are even less comfortable. Or even more obscure.

Zodiaclawl
Just popping in
Just popping in
Posts: 6
Joined: Tue Feb 25, 2014 02:11

Re: CMake can't find anything...

Postby Zodiaclawl » Tue Feb 25, 2014 13:35

TheSHEEEP wrote:Funny enough, finding the dependencies is one of the things that did not cause me any trouble. :D

I put the compiled (so, the "dependencies" folder that is in your build folder after you built) dependencies folder into the root folder of the cegui sources (not its build folder). That is afaik where it needs to be.
If you have tried that, it is possible that CMake still had its cache believing it is not there. In that case, the easiest thing is to clear the cache via the CMake gui.

I agree that CMake can be a pain, but all the alternatives are even less comfortable. Or even more obscure.

Thanks for your input. That's exactly where I put it too.

If you look at the output you can see that it finds the header files for GLM in the dependencies folder. But it can't find the static libraries.

Code: Select all

Found GLM: C:/Users/Zodiac/Desktop/Irrlicht/cegui/cegui-0.8.3/dependencies/include


That's the dependencies folder that contains all .lib and .dll files. I even tried to copy and paste the .lib files to C:/Users/Zodiac/Desktop/Irrlicht/cegui/cegui-0.8.3/dependencies/include to see if it would find them but nope! There doesn't seem to be anything wrong but CMake just can't find what it's looking for.

What am I supposed to do!? I tried rebuilding all the .lib and .dll files just to be sure and they all built just fine in a clean build. There's nothing missing and there's nothing that "should" be wrong but CMake still can't find them.

Even if I change _LIB_PATH to C:\Users\Zodiac\Desktop\Irrlicht\cegui\cegui-0.8.3\dependencies\lib it changes nothing...

User avatar
Kulik
CEGUI Team
Posts: 1382
Joined: Mon Jul 26, 2010 18:47
Location: Czech Republic
Contact:

Re: CMake can't find anything...

Postby Kulik » Tue Feb 25, 2014 15:56

If you know how linking really works you should be able to get static linking to work. If you are just starting out, please, please, please, avoid static linking and just use dynamic linking.

Have you seen https://www.youtube.com/watch?v=VaD-MQJLtWk ? It contains even the deps.

Zodiaclawl
Just popping in
Just popping in
Posts: 6
Joined: Tue Feb 25, 2014 02:11

Re: CMake can't find anything...

Postby Zodiaclawl » Tue Feb 25, 2014 20:37

Edit: Never mind, I managed to solve it. If anyone else ever encounters this problem and wants an easy fix here's how I did it:

In cmake/FindIrrlicht.cmake:

Code: Select all

find_path(IRRLICHT_H_PATH NAMES irrlicht.h PATH_SUFFIXES irrlicht PATHS C:/Users/Zodiac/Desktop/Irrlicht/irrlicht/include)
find_library(IRRLICHT_LIB NAMES Irrlicht libIrrlicht PATHS C:/Users/Zodiac/Desktop/Irrlicht/irrlicht/lib/Win64-visualStudio)
find_library(IRRLICHT_LIB_DBG NAMES Irrlicht_d libIrrlicht_d PATHS C:/Users/Zodiac/Desktop/Irrlicht/irrlicht/lib/Win64-visualStudio)

Add PATHS followed by the path to the folder where the files are.

Kulik wrote:If you know how linking really works you should be able to get static linking to work. If you are just starting out, please, please, please, avoid static linking and just use dynamic linking.

Have you seen https://www.youtube.com/watch?v=VaD-MQJLtWk ? It contains even the deps.

Thanks for the help. I managed to solve it pretty easily. I forgot to build the dependencies as debug, I only built them as release.

But I still have a problem, and it's a very small but frustrating problem since it shouldn't really be hard at all to fix. CMake can't find Irrlicht. I've tried to copy and paste it pretty much everywhere including the dependencies folder.

Code: Select all

Could NOT find IRRLICHT (missing:  IRRLICHT_LIB IRRLICHT_H_PATH)


It's really frustrating since I know exactly where the includes and the .lib files are. The .lib file names match those in FindIrrlicht.cmake as well. Is there any way I can modify the .cmake file to point to the right directory? Since CMake can't find Irrlicht by looking for it I figured it would be better if I just pointed it in the right direction instead, but I haven't written any .cmake files before.

Or if not, where should I put my Irrlicht files? I'm sorry for bothering you but I just can't figure this out myself :/

I need the CEGUI Irrlicht Renderer.

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: CMake can't find anything...

Postby Ident » Wed Feb 26, 2014 14:18

First of all dont edit the cmake file. You should be able to edit these variables (IRRLICHT_H_PATH etc) INSIDE Cmake. Maybe the option isn't displayed, try to click Advanced, search for anything that contains Irrlicht, there is a filter for that. Report if this worked for you.

Secondly, LIB and LIB_DB point to files not folders. You need to add the filename at the end of the path. IF you had done it via Cmake it would not allow you to select a folder but make you select a file, i think. Either way, selecting a file is the right way for those two variables.

Did it help?
CrazyEddie: "I don't like GUIs"

Zodiaclawl
Just popping in
Just popping in
Posts: 6
Joined: Tue Feb 25, 2014 02:11

Re: CMake can't find anything...

Postby Zodiaclawl » Sat Mar 01, 2014 03:14

Ident wrote:First of all dont edit the cmake file. You should be able to edit these variables (IRRLICHT_H_PATH etc) INSIDE Cmake. Maybe the option isn't displayed, try to click Advanced, search for anything that contains Irrlicht, there is a filter for that. Report if this worked for you.

Secondly, LIB and LIB_DB point to files not folders. You need to add the filename at the end of the path. IF you had done it via Cmake it would not allow you to select a folder but make you select a file, i think. Either way, selecting a file is the right way for those two variables.

Did it help?

Thanks for the input. But I did fix the problem with the cmake changes that I posted in the previous post. I edited the post instead of deleting it in case someone else has the same problem as me in the future. Maybe it was a sloppy fix, but it did work. I know I should learn how cmake works properly, but I don't think I'll use it much so a hackjob like this is good enough for now :)


Return to “Help”

Who is online

Users browsing this forum: No registered users and 8 guests