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

Annotation of /trunk/cmake/SearchForStuff.cmake

Parent Directory Parent Directory | Revision Log Revision Log


Revision 62 - (hide annotations) (download)
Tue Sep 7 11:08:22 2010 UTC (9 years, 11 months ago) by william
File size: 5433 byte(s)
Auto Commited Import of: pcsx2-0.9.7-r3738-debug in ./trunk
1 william 31 #-------------------------------------------------------------------------------
2 william 62 # Search all libraries on the system
3 william 31 #-------------------------------------------------------------------------------
4 william 62 # 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 william 31
7 william 62 ## 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 william 31
25 william 62 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 william 31 endif(Linux)
30    
31 william 62 ## 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 william 31
47 william 62 ## 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 william 31
57 william 62 # 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 william 31 # use project one
69     set(projectZLIB TRUE)
70 william 62 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 william 31
77 william 62 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 william 31
87     #----------------------------------------
88 william 62 # Use system include (if not 3rdparty one)
89 william 31 #----------------------------------------
90 william 62 if(Linux)
91     # GTK2
92     if(GTK2_FOUND)
93     include_directories(${GTK2_INCLUDE_DIRS})
94     endif(GTK2_FOUND)
95 william 31
96 william 62 # x11
97 william 31 if(X11_FOUND)
98     include_directories(${X11_INCLUDE_DIR})
99     endif(X11_FOUND)
100     endif(Linux)
101    
102 william 62 # A52
103     if(A52_FOUND)
104 william 31 include_directories(${A52_INCLUDE_DIR})
105 william 62 endif(A52_FOUND)
106 william 31
107 william 62 # ALSA
108 william 31 if(ALSA_FOUND)
109     include_directories(${ALSA_INCLUDE_DIRS})
110     endif(ALSA_FOUND)
111    
112 william 62 # bzip2
113     if(BZIP2_FOUND)
114 william 31 include_directories(${BZIP2_INCLUDE_DIR})
115 william 62 endif(BZIP2_FOUND)
116 william 31
117 william 62 # Cg
118 william 31 if(CG_FOUND)
119 william 62 include_directories(${CG_INCLUDE_DIRS})
120 william 31 endif(CG_FOUND)
121    
122 william 62 # Jpeg
123     if(JPEG_FOUND)
124     include_directories(${JPEG_INCLUDE_DIR})
125     endif(JPEG_FOUND)
126 william 31
127 william 62 # GLEW
128 william 31 if(GLEW_FOUND)
129     include_directories(${GLEW_INCLUDE_PATH})
130     endif(GLEW_FOUND)
131    
132 william 62 # OpenGL
133 william 31 if(OPENGL_FOUND)
134     include_directories(${OPENGL_INCLUDE_DIR})
135     endif(OPENGL_FOUND)
136    
137 william 62 # PortAudio
138 william 31 if(PORTAUDIO_FOUND)
139     include_directories(${PORTAUDIO_INCLUDE_DIR})
140     endif(PORTAUDIO_FOUND)
141    
142 william 62 # SDL
143 william 31 if(SDL_FOUND)
144     include_directories(${SDL_INCLUDE_DIR})
145     endif(SDL_FOUND)
146    
147 william 62 # SoundTouch
148     if(SOUNDTOUCH_FOUND AND NOT projectSoundTouch)
149 william 31 include_directories(${SOUNDTOUCH_INCLUDE_DIR})
150 william 62 endif(SOUNDTOUCH_FOUND AND NOT projectSoundTouch)
151 william 31
152 william 62 # SPARSEHASH
153     if(SPARSEHASH_FOUND)
154     include_directories(${SPARSEHASH_INCLUDE_DIR})
155     endif(SPARSEHASH_FOUND)
156 william 31
157 william 62 # 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 william 31
168 william 62 include(${wxWidgets_USE_FILE})
169     endif(wxWidgets_FOUND)
170 william 31
171 william 62 # 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