-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
64 lines (62 loc) · 2.3 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
cmake_minimum_required(VERSION 2.4.6)
#find the package
if(PATH_TO_FILE)
set (CMAKE_MODULE_PATH ${PATH_TO_FILE} ${CMAKE_MODULE_PATH})
set (${PACKAGE}_DIR ${PATH_TO_FILE})
endif(PATH_TO_FILE)
if(PACKAGE_COMPONENTS)
if(REQUIRED_VERSION)
find_package(${PACKAGE} ${REQUIRED_VERSION} COMPONENTS ${PACKAGE_COMPONENTS} QUIET REQUIRED)
else(REQUIRED_VERSION)
find_package(${PACKAGE} COMPONENTS ${PACKAGE_COMPONENTS} QUIET REQUIRED)
endif(REQUIRED_VERSION)
else(PACKAGE_COMPONENTS)
if(REQUIRED_VERSION)
find_package(${PACKAGE} ${REQUIRED_VERSION} QUIET REQUIRED)
else(REQUIRED_VERSION)
find_package(${PACKAGE} QUIET REQUIRED)
endif(REQUIRED_VERSION)
endif(PACKAGE_COMPONENTS)
set(FOUNDIT ${${PACKAGE}_FOUND})
if (FOUNDIT)
#includes
set(INCLUDE_VAR ${${PACKAGE}_INCLUDE_DIRS} ${${PACKAGE}_INCLUDE_DIRECTORIES})
if(INCLUDE_VAR)
list(REMOVE_DUPLICATES INCLUDE_VAR)
set(INCLUDE_STRING "")
foreach (inc ${INCLUDE_VAR})
set(INCLUDE_STRING "${INCLUDE_STRING}-I${inc} ")
endforeach(inc)
endif(INCLUDE_VAR)
message(STATUS "BEGIN_IFLAGS(" ${INCLUDE_STRING} ")END_IFLAGS")
#lib dirs
set(LIBDIR_VAR ${${PACKAGE}_LIBRARY_DIRS} ${${PACKAGE}_LIBRARY_DIRECTORIES} ${${PACKAGE}_LIB_DIRS} ${${PACKAGE}_LIB_DIRECTORIES})
if (LIBDIR_VAR)
list(REMOVE_DUPLICATES LIBDIR_VAR)
set(LIBDIR_STRING "")
foreach (libdir ${LIBDIR_VAR})
set(LIBDIR_STRING "${LIBDIR_STRING}-L${libdir} ")
endforeach(libdir)
endif (LIBDIR_VAR)
message(STATUS "BEGIN_LFLAGS(" ${LIBDIR_STRING} ")END_LFLAGS")
#libraries
set(LIB_VAR ${${PACKAGE}_LIBRARIES} ${${PACKAGE}_LIBS} ${${PACKAGE}_LIBRARY} ${${PACKAGE}_LIB})
if (LIB_VAR)
list(REMOVE_DUPLICATES LIB_VAR)
set(LIB_STRING "")
foreach (lib ${LIB_VAR})
set(LIB_STRING "${LIB_STRING}-l${lib} ")
endforeach(lib)
endif (LIB_VAR)
message(STATUS "BEGIN_lFLAGS(" ${LIB_STRING} ")END_lFLAGS")
#defines
set(DEF_VAR ${${PACKAGE}_DEFINES} ${${PACKAGE}_DEFINITIONS})
if (DEF_VAR)
list(REMOVE_DUPLICATES DEF_VAR)
set(DEF_STRING "")
foreach (def ${DEF_VAR})
set(LIB_STRING "${DEF_STRING}${def} ")
endforeach(def)
endif (DEF_VAR)
message(STATUS "BEGIN_DFLAGS(" ${DEF_STRING} ")END_DFLAGS")
endif (FOUND_IT)