]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/include/Modules/FindKGFO.cmake
ManualPaint RangeSlider 50% DFCH
[creaMaracasVisu.git] / lib / maracasVisuLib / include / Modules / FindKGFO.cmake
1 #
2 # This module finds if kgfo is installed and determines where the
3 # include files and libraries are. It also determines what the name of
4 # the library is. This code sets the following variables:
5 #
6 #  KGFO_FOUND        = system has kgfo and it should be used
7 #  KGFO_LIBRARIES         = full path to the kgfo library and linker flags on unix
8 #  CMAKE_KGFO_CXX_FLAGS        = compiler flags for building kgfo 
9 #  KGFO_INCLUDE_DIR    = include path of kgfo
10
11 IF(WIN32)
12   IF(NOT UNIX)
13
14     SET (KGFO_POSSIBLE_LIB_PATHS
15       $ENV{KGFO}/lib
16       $ENV{CREATIS}/kgfo/win32inst/lib
17       "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\kgfo_is1;Inno Setup: App Path]/lib"
18     )
19
20     FIND_LIBRARY(KGFO_STATIC_LIBRARY
21       NAMES kgfo
22       PATHS ${KGFO_POSSIBLE_LIB_PATHS} 
23     )
24
25     FIND_LIBRARY(KGFO_SHARED_LIBRARY
26       NAMES kgfo
27       PATHS ${KGFO_POSSIBLE_LIB_PATHS} 
28     )
29
30     SET (KGFO_POSSIBLE_INCLUDE_PATHS
31       $ENV{KGFO}/include
32       $ENV{CREATIS}/kgfo/win32inst/include
33       "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\kgfo_is1;Inno Setup: App Path]/include"
34     )
35
36     FIND_PATH(KGFO_INCLUDE_DIR
37       kgfo/kgfo-setup.hxx
38       ${KGFO_POSSIBLE_INCLUDE_PATHS} 
39     )
40
41     IF(KGFO_SHARED_LIBRARY)
42       OPTION(KGFO_USE_SHARED_LIBS 
43              "Use shared versions of kgfo libraries" ON)
44       MARK_AS_ADVANCED(KGFO_USE_SHARED_LIBS)
45     ENDIF(KGFO_SHARED_LIBRARY)
46
47     SET(CMAKE_KGFO_LIBRARIES ${CMAKE_KGFO_LIBRARIES}) # comctl32 ctl3d32 wsock32 rpcrt4)
48
49     IF(KGFO_USE_SHARED_LIBS)
50       SET(KGFO_LIBRARIES ${KGFO_SHARED_LIBRARY} ${CMAKE_KGFO_LIBRARIES})
51       ADD_DEFINITIONS(-DKGFO_USING_DLL)
52     ELSE(KGFO_USE_SHARED_LIBS)
53       SET(KGFO_LIBRARIES ${KGFO_STATIC_LIBRARY} ${CMAKE_KGFO_LIBRARIES})
54     ENDIF(KGFO_USE_SHARED_LIBS)
55
56     MARK_AS_ADVANCED(
57       KGFO_STATIC_LIBRARY
58       KGFO_SHARED_LIBRARY
59       KGFO_INCLUDE_DIR
60     )
61
62   ENDIF(NOT UNIX)
63 ENDIF(WIN32)
64
65 IF(UNIX)
66
67   FIND_PROGRAM(CMAKE_KGFO_CONFIG kgfo-config ../kgfo/bin ../../kgfo/bin)
68   SET(CMAKE_KGFO_CXX_FLAGS "`${CMAKE_KGFO_CONFIG} --cflags`")
69   SET(KGFO_LIBRARIES "`${CMAKE_KGFO_CONFIG} --libs`")
70
71 ENDIF(UNIX)  
72
73 MARK_AS_ADVANCED(
74   CMAKE_KGFO_CONFIG
75   CMAKE_KGFO_CXX_FLAGS
76   KGFO_INCLUDE_DIR
77 )
78
79 IF(KGFO_LIBRARIES)
80   IF(KGFO_INCLUDE_DIR OR CMAKE_KGFO_CXX_FLAGS)
81     SET(CMAKE_KGFO_CAN_COMPILE 1)
82     SET(KGFO_FOUND 1)
83   ENDIF(KGFO_INCLUDE_DIR OR CMAKE_KGFO_CXX_FLAGS)
84 ENDIF(KGFO_LIBRARIES)
85