1
1
#
2
2
# $Id$
3
3
#
4
- # Author(s): Anton Deguet
5
- # Created on: 2007-02-23
4
+ # Author(s): Anton Deguet Created on: 2007-02-23
6
5
#
7
- # (C) Copyright 2007-2007 Johns Hopkins University (JHU), All Rights
8
- # Reserved.
6
+ # (C) Copyright 2007-2007 Johns Hopkins University (JHU), All Rights Reserved.
9
7
#
10
8
# --- begin cisst license - do not edit ---
11
- #
12
- # This software is provided "as is" under an open source license, with
13
- # no warranty. The complete license can be found in license.txt and
14
- # http://www.cisst.org/cisst/license.txt.
15
- #
9
+ #
10
+ # This software is provided "as is" under an open source license, with no warranty. The complete license can be found
11
+ # in license.txt and http://www.cisst.org/cisst/license.txt.
12
+ #
16
13
# --- end cisst license ---
17
14
18
15
#
19
16
# This file contains code found on the Wiki page of CMake
20
17
#
21
18
22
- # - Test for DirectShow on Windows.
23
- # Once loaded this will define
24
- # DIRECTSHOW_FOUND - system has DirectShow
25
- # DIRECTSHOW_INCLUDE_DIR - include directory for DirectShow
26
- # DIRECTSHOW_LIBRARIES - libraries you need to link to
19
+ # * Test for DirectShow on Windows. Once loaded this will define DIRECTSHOW_FOUND - system has DirectShow
20
+ # DIRECTSHOW_INCLUDE_DIR - include directory for DirectShow DIRECTSHOW_LIBRARIES - libraries you need to link to
27
21
28
- SET (DIRECTSHOW_FOUND "NO" )
22
+ set (DIRECTSHOW_FOUND "NO" )
29
23
30
24
# DirectShow is only available on Windows platforms
31
- IF (WIN32 )
32
- SET (SVL_WIN64 FALSE )
33
-
34
- # Note that newer versions of MSVC generators as well as newer versions of CMake do not include the "bitness" of the generator.
35
- IF ("${CMAKE_GENERATOR} " MATCHES "(Win64|IA64)" )
36
- SET (SVL_WIN64 TRUE )
37
- ENDIF ("${CMAKE_GENERATOR} " MATCHES "(Win64|IA64)" )
38
-
39
- # One more check for bitness
40
- # In CMake 3.1 and up we can use CMAKE_GENERATOR_PLATFORM. For now assume that systems that are still building
41
- # with older versions of CMake are not using the latest build tools.
42
- IF (NOT SVL_WIN64 AND ${CMAKE_MAJOR_VERSION} GREATER_EQUAL 3 AND ${CMAKE_MINOR_VERSION} GREATER_EQUAL 1 )
43
- IF ("${CMAKE_GENERATOR_PLATFORM} " MATCHES "(Win64|IA64|x64)" )
25
+ if (WIN32 )
26
+ set (SVL_WIN64 FALSE )
27
+ message (STATUS "Searching for DirectShow on Windows" )
28
+
29
+ # One more check for bitness In CMake 3.1 and up we can use CMAKE_GENERATOR_PLATFORM. For now assume that systems
30
+ # that are still building with older versions of CMake are not using the latest build tools.
31
+ if (NOT SVL_WIN64 )
32
+ if ("${CMAKE_GENERATOR_PLATFORM} " MATCHES "(Win64|IA64|x64)" )
44
33
set (SVL_WIN64 TRUE )
45
- ENDIF ("${CMAKE_GENERATOR_PLATFORM} " MATCHES "(Win64|IA64|x64)" )
46
- ENDIF (NOT SVL_WIN64 AND ${CMAKE_MAJOR_VERSION} GREATER_EQUAL 3 AND ${CMAKE_MINOR_VERSION} GREATER_EQUAL 1 )
34
+ endif ("${CMAKE_GENERATOR_PLATFORM} " MATCHES "(Win64|IA64|x64)" )
35
+ endif (NOT SVL_WIN64 )
47
36
48
- SET (PROGRAMFILES_DIR "$ENV{SystemDrive} /Program Files" )
49
- SET (PROGRAMFILES_X86_DIR "$ENV{SystemDrive} /Program Files (x86)" )
37
+ set (PROGRAMFILES_DIR "$ENV{SystemDrive} /Program Files" )
38
+ set (PROGRAMFILES_X86_DIR "$ENV{SystemDrive} /Program Files (x86)" )
50
39
51
- SET (DIRECTSHOW_INCLUDE_DIRS
40
+ set (DIRECTSHOW_INCLUDE_DIRS
52
41
"${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v7.0/Include"
53
42
"${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v6.0A/Include"
54
43
"${PROGRAMFILES_DIR} /Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Include"
@@ -60,104 +49,103 @@ IF(WIN32)
60
49
"${PROGRAMFILES_X86_DIR} /Microsoft DirectX SDK (February 2006)/Include"
61
50
"${PROGRAMFILES_X86_DIR} /Microsoft DirectX 9.0 SDK (June 2005)/Include"
62
51
"$ENV{SystemDrive} /DXSDK/Include"
52
+ )
53
+
54
+ if (SVL_WIN64 )
55
+ message (STATUS "DirectShow using 64-bit static libraries" )
56
+ set (DIRECTSHOW_LIBRARY_DIRS
57
+ "${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v7.0/Lib/x64"
58
+ "${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v6.0A/Lib/x64"
59
+ "${PROGRAMFILES_DIR} /Microsoft Platform SDK for Windows Server 2003 R2/Lib/x64"
60
+ "${PROGRAMFILES_DIR} /Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib/x64"
61
+ "${PROGRAMFILES_DIR} /Microsoft Platform SDK/Lib/x64"
62
+ "${PROGRAMFILES_X86_DIR} /Microsoft SDKs/Windows/v7.0/Lib/x64"
63
+ "${PROGRAMFILES_X86_DIR} /Microsoft SDKs/Windows/v6.0A/Lib/x64"
64
+ "${PROGRAMFILES_X86_DIR} /Microsoft Platform SDK for Windows Server 2003 R2/Lib/x64"
65
+ "${PROGRAMFILES_X86_DIR} /Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib/x64"
66
+ "${PROGRAMFILES_X86_DIR} /Microsoft Platform SDK/Lib/x64"
67
+ "$ENV{SystemDrive} /DXSDK/Include/Lib/x64"
63
68
)
64
-
65
- IF (SVL_WIN64 )
66
- MESSAGE (STATUS "DirectShow using 64-bit static libraries" )
67
- SET (DIRECTSHOW_LIBRARY_DIRS
68
- "${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v7.0/Lib/x64"
69
- "${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v6.0A/Lib/x64"
70
- "${PROGRAMFILES_DIR} /Microsoft Platform SDK for Windows Server 2003 R2/Lib/x64"
71
- "${PROGRAMFILES_DIR} /Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib/x64"
72
- "${PROGRAMFILES_DIR} /Microsoft Platform SDK/Lib/x64"
73
- "${PROGRAMFILES_X86_DIR} /Microsoft SDKs/Windows/v7.0/Lib/x64"
74
- "${PROGRAMFILES_X86_DIR} /Microsoft SDKs/Windows/v6.0A/Lib/x64"
75
- "${PROGRAMFILES_X86_DIR} /Microsoft Platform SDK for Windows Server 2003 R2/Lib/x64"
76
- "${PROGRAMFILES_X86_DIR} /Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib/x64"
77
- "${PROGRAMFILES_X86_DIR} /Microsoft Platform SDK/Lib/x64"
78
- "$ENV{SystemDrive} /DXSDK/Include/Lib/x64"
79
- )
80
- ELSE (SVL_WIN64 )
81
- SET (DIRECTSHOW_LIBRARY_DIRS
82
- "${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v7.0/Lib"
83
- "${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v6.0A/Lib"
84
- "${PROGRAMFILES_DIR} /Microsoft Platform SDK for Windows Server 2003 R2/Lib"
85
- "${PROGRAMFILES_DIR} /Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib"
86
- "${PROGRAMFILES_DIR} /Microsoft Platform SDK/Lib"
87
- "${PROGRAMFILES_X86_DIR} /Microsoft SDKs/Windows/v7.0/Lib"
88
- "${PROGRAMFILES_X86_DIR} /Microsoft SDKs/Windows/v6.0A/Lib"
89
- "${PROGRAMFILES_X86_DIR} /Microsoft Platform SDK for Windows Server 2003 R2/Lib"
90
- "${PROGRAMFILES_X86_DIR} /Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib"
91
- "${PROGRAMFILES_X86_DIR} /Microsoft Platform SDK/Lib"
92
- "$ENV{SystemDrive} /DXSDK/Include/Lib"
93
- )
94
- ENDIF (SVL_WIN64 )
69
+ else (SVL_WIN64 )
70
+ set (DIRECTSHOW_LIBRARY_DIRS
71
+ "${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v7.0/Lib"
72
+ "${PROGRAMFILES_DIR} /Microsoft SDKs/Windows/v6.0A/Lib"
73
+ "${PROGRAMFILES_DIR} /Microsoft Platform SDK for Windows Server 2003 R2/Lib"
74
+ "${PROGRAMFILES_DIR} /Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib"
75
+ "${PROGRAMFILES_DIR} /Microsoft Platform SDK/Lib"
76
+ "${PROGRAMFILES_X86_DIR} /Microsoft SDKs/Windows/v7.0/Lib"
77
+ "${PROGRAMFILES_X86_DIR} /Microsoft SDKs/Windows/v6.0A/Lib"
78
+ "${PROGRAMFILES_X86_DIR} /Microsoft Platform SDK for Windows Server 2003 R2/Lib"
79
+ "${PROGRAMFILES_X86_DIR} /Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib"
80
+ "${PROGRAMFILES_X86_DIR} /Microsoft Platform SDK/Lib"
81
+ "$ENV{SystemDrive} /DXSDK/Include/Lib"
82
+ )
83
+ endif (SVL_WIN64 )
95
84
96
85
# Need CMake version 3.4 to use CMAKE_VS_WINDOWS_TARGET_PLATFORM
97
- IF (${CMAKE_MAJOR_VERSION} GREATER_EQUAL 3 AND ${CMAKE_MINOR_VERSION} GREATER_EQUAL 4 )
98
- message (STATUS "Appending paths" )
99
- LIST (APPEND DIRECTSHOW_INCLUDE_DIRS "${PROGRAMFILES_X86_DIR} /Windows Kits/10/Include/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION} /um" )
100
-
101
- # Figure out which lib folder to use.
102
- SET (LIB_APPEND_PATH "${PROGRAMFILES_X86_DIR} /Windows Kits/10/Lib/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION} /um" )
103
- IF (SVL_WIN64 )
104
- SET (LIB_APPEND_PATH "${LIB_APPEND_PATH} /x64" )
105
- ELSE ()
106
- SET (LIB_APPEND_PATH "${LIB_APPEND_PATH} /x86" )
107
- endif (SVL_WIN64 )
108
- LIST (APPEND DIRECTSHOW_LIBRARY_DIRS ${LIB_APPEND_PATH} )
109
- ENDIF (${CMAKE_MAJOR_VERSION} GREATER_EQUAL 3 AND ${CMAKE_MINOR_VERSION} GREATER_EQUAL 4 )
86
+ message (STATUS "Appending paths" )
87
+ list (APPEND DIRECTSHOW_INCLUDE_DIRS
88
+ "${PROGRAMFILES_X86_DIR} /Windows Kits/10/Include/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION} /um"
89
+ )
90
+
91
+ # Figure out which lib folder to use.
92
+ set (LIB_APPEND_PATH
93
+ "${PROGRAMFILES_X86_DIR} /Windows Kits/10/Lib/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION} /um"
94
+ )
95
+ if (SVL_WIN64 )
96
+ set (LIB_APPEND_PATH "${LIB_APPEND_PATH} /x64" )
97
+ else ()
98
+ set (LIB_APPEND_PATH "${LIB_APPEND_PATH} /x86" )
99
+ endif (SVL_WIN64 )
100
+ list (APPEND DIRECTSHOW_LIBRARY_DIRS ${LIB_APPEND_PATH} )
110
101
111
102
# Find DirectX Include Directory
112
- FIND_PATH (DIRECTX_INCLUDE_DIR
113
- NAMES ddraw.h
114
- PATHS ${DIRECTSHOW_INCLUDE_DIRS}
115
- )
103
+ find_path (
104
+ DIRECTX_INCLUDE_DIR
105
+ NAMES ddraw.h
106
+ PATHS ${DIRECTSHOW_INCLUDE_DIRS}
107
+ )
116
108
117
109
# if DirectX found, then find DirectShow include directory
118
- IF (DIRECTX_INCLUDE_DIR )
119
- FIND_PATH (DIRECTSHOW_INCLUDE_DIR
120
- NAMES dshow.h
121
- PATHS ${DIRECTSHOW_INCLUDE_DIRS}
122
- )
110
+ if (DIRECTX_INCLUDE_DIR )
111
+ find_path (
112
+ DIRECTSHOW_INCLUDE_DIR
113
+ NAMES dshow.h
114
+ PATHS ${DIRECTSHOW_INCLUDE_DIRS}
115
+ )
123
116
124
117
# if DirectShow include dir found, then find DirectShow libraries
125
- IF (DIRECTSHOW_INCLUDE_DIR )
126
- FIND_LIBRARY (DIRECTSHOW_strmiids_LIBRARY
127
- NAMES strmiids
128
- PATHS ${DIRECTSHOW_LIBRARY_DIRS}
129
- )
130
- FIND_LIBRARY (DIRECTSHOW_WinMM_LIBRARY
131
- NAMES WinMM
132
- PATHS ${DIRECTSHOW_LIBRARY_DIRS}
133
- )
118
+ if (DIRECTSHOW_INCLUDE_DIR )
119
+ find_library (
120
+ DIRECTSHOW_strmiids_LIBRARY
121
+ NAMES strmiids
122
+ PATHS ${DIRECTSHOW_LIBRARY_DIRS}
123
+ )
124
+ find_library (
125
+ DIRECTSHOW_WinMM_LIBRARY
126
+ NAMES WinMM
127
+ PATHS ${DIRECTSHOW_LIBRARY_DIRS}
128
+ )
134
129
135
130
# if DirectShow libraries found, then we're ok
136
- IF (DIRECTSHOW_strmiids_LIBRARY AND DIRECTSHOW_WinMM_LIBRARY )
131
+ if (DIRECTSHOW_strmiids_LIBRARY AND DIRECTSHOW_WinMM_LIBRARY )
137
132
# everything found
138
- SET (DIRECTSHOW_FOUND "YES" )
139
- ENDIF (DIRECTSHOW_strmiids_LIBRARY AND DIRECTSHOW_WinMM_LIBRARY )
140
- ENDIF (DIRECTSHOW_INCLUDE_DIR )
141
- ENDIF (DIRECTX_INCLUDE_DIR )
142
- ENDIF (WIN32 )
143
-
144
-
145
- IF (DIRECTSHOW_FOUND )
146
- SET (DIRECTSHOW_INCLUDE_DIR
147
- ${DIRECTSHOW_INCLUDE_DIR}
148
- ${DIRECTX_INCLUDE_DIR}
149
- )
150
- SET (DIRECTSHOW_LIBRARIES
151
- ${DIRECTSHOW_strmiids_LIBRARY}
152
- )
153
- ELSE (DIRECTSHOW_FOUND )
133
+ set (DIRECTSHOW_FOUND "YES" )
134
+ endif (DIRECTSHOW_strmiids_LIBRARY AND DIRECTSHOW_WinMM_LIBRARY )
135
+ endif (DIRECTSHOW_INCLUDE_DIR )
136
+ endif (DIRECTX_INCLUDE_DIR )
137
+ endif (WIN32 )
138
+
139
+ if (DIRECTSHOW_FOUND )
140
+ set (DIRECTSHOW_INCLUDE_DIR ${DIRECTSHOW_INCLUDE_DIR} ${DIRECTX_INCLUDE_DIR} )
141
+ set (DIRECTSHOW_LIBRARIES ${DIRECTSHOW_strmiids_LIBRARY} )
142
+ else (DIRECTSHOW_FOUND )
154
143
# make FIND_PACKAGE friendly
155
- IF (NOT DIRECTSHOW_FIND_QUIETLY )
156
- IF (DIRECTSHOW_FIND_REQUIRED )
157
- MESSAGE (FATAL_ERROR "DirectShow required, please specify it's location." )
158
- ELSE (DIRECTSHOW_FIND_REQUIRED )
159
- MESSAGE (STATUS "DirectShow was not found." )
160
- ENDIF (DIRECTSHOW_FIND_REQUIRED )
161
- ENDIF (NOT DIRECTSHOW_FIND_QUIETLY )
162
- ENDIF (DIRECTSHOW_FOUND )
163
-
144
+ if (NOT DIRECTSHOW_FIND_QUIETLY )
145
+ if (DIRECTSHOW_FIND_REQUIRED )
146
+ message (FATAL_ERROR "DirectShow required, please specify it's location." )
147
+ else (DIRECTSHOW_FIND_REQUIRED )
148
+ message (STATUS "DirectShow was not found." )
149
+ endif (DIRECTSHOW_FIND_REQUIRED )
150
+ endif (NOT DIRECTSHOW_FIND_QUIETLY )
151
+ endif (DIRECTSHOW_FOUND )
0 commit comments