/[pcsx2_0.9.7]/trunk/cmake/SearchForStuff.cmake
ViewVC logotype

Contents of /trunk/cmake/SearchForStuff.cmake

Parent Directory Parent Directory | Revision Log Revision Log


Revision 62 - (show annotations) (download)
Tue Sep 7 11:08:22 2010 UTC (9 years, 4 months ago) by william
File size: 5433 byte(s)
Auto Commited Import of: pcsx2-0.9.7-r3738-debug in ./trunk
1 #-------------------------------------------------------------------------------
2 # Search all libraries on the system
3 #-------------------------------------------------------------------------------
4 # Do not search Lib in /usr/lib64. Hope it is not overwritten in find_package or others macro
5 SET(FIND_LIBRARY_USE_LIB64_PATHS FALSE)
6
7 ## Linux only libraries
8 if(Linux)
9 # Most plugins (if not all) and PCSX2 core need gtk2, so
10 # set the required flags
11 find_package(GTK2 REQUIRED gtk)
12 if(GTK2_FOUND)
13 # From version 2.21.3 gtk moved gdk-pixbuf into a separate module
14 # Cmake need to be fixed. For the moment uses a manual detection.
15 find_path(GDK_PIXBUF_INCLUDE_DIRS NAMES gdk-pixbuf/gdk-pixbuf.h PATHS
16 /usr/include/gdk-pixbuf-2.0
17 /usr/include)
18 if (GDK_PIXBUF_INCLUDE_DIRS)
19 set(GTK2_INCLUDE_DIRS "${GDK_PIXBUF_INCLUDE_DIRS}" "${GTK2_INCLUDE_DIRS}")
20 # Remove duplicates when cmake will be fixed
21 list(REMOVE_DUPLICATES GTK2_INCLUDE_DIRS)
22 endif (GDK_PIXBUF_INCLUDE_DIRS)
23 endif(GTK2_FOUND)
24
25 find_package(X11)
26 # Manually find Xxf86vm because it is not done in the module...
27 FIND_LIBRARY(X11_Xxf86vm_LIB Xxf86vm ${X11_LIB_SEARCH_PATH})
28 MARK_AS_ADVANCED(X11_Xxf86vm_LIB)
29 endif(Linux)
30
31 ## Use cmake package to find module
32 find_package(ALSA)
33 find_package(BZip2)
34 find_package(JPEG)
35 find_package(OpenGL)
36 # Tell cmake that we use SDL as a library and not as an application
37 set(SDL_BUILDING_LIBRARY TRUE)
38 find_package(SDL)
39 find_package(Subversion)
40 # The requierement of wxWidgets is checked in SelectPcsx2Plugins module
41 # Does not requier the module (allow to compile non-wx plugins)
42 find_package(wxWidgets COMPONENTS base core adv)
43 if(NOT FORCE_INTERNAL_ZLIB)
44 find_package(ZLIB)
45 endif(NOT FORCE_INTERNAL_ZLIB)
46
47 ## Use pcsx2 package to find module
48 include(FindA52)
49 include(FindCg)
50 include(FindGlew)
51 include(FindPortAudio)
52 if(NOT FORCE_INTERNAL_SOUNDTOUCH)
53 include(FindSoundTouch)
54 endif(NOT FORCE_INTERNAL_SOUNDTOUCH)
55 include(FindSparseHash)
56
57 # Note for include_directory: The order is important to avoid a mess between include file from your system and the one of pcsx2
58 # If you include first 3rdparty, all 3rdpary include will have a higer priority...
59 # If you include first /usr/include, all system include will have a higer priority over the pcsx2 one...
60 # Current implementation:
61 # 1/ include 3rdparty sub-directory that we will used (either request or fallback)
62 # 2/ include system one
63 #----------------------------------------
64 # Fallback on 3rdparty libraries
65 #----------------------------------------
66 # Note to avoid some conflict with system include, we must include 3rdparty first
67 if(NOT ZLIB_FOUND OR FORCE_INTERNAL_ZLIB)
68 # use project one
69 set(projectZLIB TRUE)
70 set(ZLIB_FOUND TRUE)
71 # Set path
72 set(ZLIB_LIBRARIES pcsx2_zlib)
73 include_directories(${PROJECT_SOURCE_DIR}/3rdparty/zlib)
74 message(STATUS "Use internal pcsx2 zlib library")
75 endif(NOT ZLIB_FOUND OR FORCE_INTERNAL_ZLIB)
76
77 if(NOT SOUNDTOUCH_FOUND OR FORCE_INTERNAL_SOUNDTOUCH)
78 # use project one
79 set(projectSoundTouch TRUE)
80 set(SOUNDTOUCH_FOUND TRUE)
81 # Set path
82 set(SOUNDTOUCH_LIBRARIES pcsx2_SoundTouch)
83 include_directories(${PROJECT_SOURCE_DIR}/3rdparty/soundtouch_linux_include)
84 message(STATUS "Use internal pcsx2 SoundTouch library")
85 endif(NOT SOUNDTOUCH_FOUND OR FORCE_INTERNAL_SOUNDTOUCH)
86
87 #----------------------------------------
88 # Use system include (if not 3rdparty one)
89 #----------------------------------------
90 if(Linux)
91 # GTK2
92 if(GTK2_FOUND)
93 include_directories(${GTK2_INCLUDE_DIRS})
94 endif(GTK2_FOUND)
95
96 # x11
97 if(X11_FOUND)
98 include_directories(${X11_INCLUDE_DIR})
99 endif(X11_FOUND)
100 endif(Linux)
101
102 # A52
103 if(A52_FOUND)
104 include_directories(${A52_INCLUDE_DIR})
105 endif(A52_FOUND)
106
107 # ALSA
108 if(ALSA_FOUND)
109 include_directories(${ALSA_INCLUDE_DIRS})
110 endif(ALSA_FOUND)
111
112 # bzip2
113 if(BZIP2_FOUND)
114 include_directories(${BZIP2_INCLUDE_DIR})
115 endif(BZIP2_FOUND)
116
117 # Cg
118 if(CG_FOUND)
119 include_directories(${CG_INCLUDE_DIRS})
120 endif(CG_FOUND)
121
122 # Jpeg
123 if(JPEG_FOUND)
124 include_directories(${JPEG_INCLUDE_DIR})
125 endif(JPEG_FOUND)
126
127 # GLEW
128 if(GLEW_FOUND)
129 include_directories(${GLEW_INCLUDE_PATH})
130 endif(GLEW_FOUND)
131
132 # OpenGL
133 if(OPENGL_FOUND)
134 include_directories(${OPENGL_INCLUDE_DIR})
135 endif(OPENGL_FOUND)
136
137 # PortAudio
138 if(PORTAUDIO_FOUND)
139 include_directories(${PORTAUDIO_INCLUDE_DIR})
140 endif(PORTAUDIO_FOUND)
141
142 # SDL
143 if(SDL_FOUND)
144 include_directories(${SDL_INCLUDE_DIR})
145 endif(SDL_FOUND)
146
147 # SoundTouch
148 if(SOUNDTOUCH_FOUND AND NOT projectSoundTouch)
149 include_directories(${SOUNDTOUCH_INCLUDE_DIR})
150 endif(SOUNDTOUCH_FOUND AND NOT projectSoundTouch)
151
152 # SPARSEHASH
153 if(SPARSEHASH_FOUND)
154 include_directories(${SPARSEHASH_INCLUDE_DIR})
155 endif(SPARSEHASH_FOUND)
156
157 # Wx
158 if(wxWidgets_FOUND)
159 if(Linux)
160 # Force the use of 32 bit library configuration on
161 # 64 bits machine with 32 bits library in /usr/lib32
162 if(CMAKE_SIZEOF_VOID_P MATCHES "8" AND EXISTS "/usr/lib32")
163 STRING(REGEX REPLACE "/usr/lib/wx" "/usr/lib32/wx"
164 wxWidgets_INCLUDE_DIRS "${wxWidgets_INCLUDE_DIRS}")
165 endif(CMAKE_SIZEOF_VOID_P MATCHES "8" AND EXISTS "/usr/lib32")
166 endif(Linux)
167
168 include(${wxWidgets_USE_FILE})
169 endif(wxWidgets_FOUND)
170
171 # Zlib
172 if(ZLIB_FOUND AND NOT projectZLIB)
173 include_directories(${ZLIB_INCLUDE_DIRS})
174 endif(ZLIB_FOUND AND NOT projectZLIB)

  ViewVC Help
Powered by ViewVC 1.1.22