source: pacpusframework/trunk/cmake/Findlog4cxx.cmake@ 8

Last change on this file since 8 was 8, checked in by sgosseli, 12 years ago

Corrected the Findlog4cxx, optimized and debug libraries were not added properly.

File size: 2.7 KB
Line 
1################################################################################
2#
3# CMake script for finding Log4cxx.
4# The default CMake search process is used to locate files.
5#
6# This script creates the following variables:
7# LOG4CXX_FOUND: Boolean that indicates if the package was found
8# LOG4CXX_INCLUDE_DIRS: Paths to the necessary header files
9# LOG4CXX_LIBRARIES: Package libraries
10# LOG4CXX_LIBRARY_DIRS: Path to package libraries
11#
12################################################################################
13
14INCLUDE (FindPackageHandleStandardArgs)
15
16# See if LOG4CXX_ROOT is not already set in CMake
17IF (NOT LOG4CXX_ROOT)
18 # See if LOG4CXX_ROOT is set in process environment
19 IF ( NOT $ENV{LOG4CXX_ROOT} STREQUAL "" )
20 SET (LOG4CXX_ROOT "$ENV{LOG4CXX_ROOT}")
21 MESSAGE (STATUS "Detected LOG4CXX_ROOT set to '${LOG4CXX_ROOT}'")
22 ENDIF ()
23ENDIF ()
24
25SET (LOG4CXX_INC_LIST
26 "/usr/include"
27 "/usr/local/include"
28)
29
30SET (LOG4CXX_LIB_LIST
31 "/usr/lib"
32 "/usr/local/lib"
33)
34
35# If LOG4CXX_ROOT is available, set up our hints
36IF (LOG4CXX_ROOT)
37 # Includes
38 LIST (APPEND LOG4CXX_INC_LIST
39 "${LOG4CXX_ROOT}/include"
40 "${LOG4CXX_ROOT}"
41 )
42
43 # Libraries (win32)
44 IF (MSVC)
45 # Visual Studio 2008
46 IF (MSVC9)
47 LIST (APPEND LOG4CXX_LIB_LIST "${LOG4CXX_ROOT}/lib/msvc2008")
48 ENDIF ()
49 # Visual Studio 2010
50 IF (MSVC10)
51 LIST (APPEND LOG4CXX_LIB_LIST "${LOG4CXX_ROOT}/lib/msvc2010")
52 ENDIF ()
53 ENDIF ()
54
55 # Libraries (all)
56 LIST (APPEND LOG4CXX_LIB_LIST "${LOG4CXX_ROOT}/lib")
57ENDIF ()
58
59# Find headers
60FIND_PATH (
61 LOG4CXX_INCLUDE_DIR
62 NAMES
63 log4cxx/log4cxx.h
64 HINTS
65 ${LOG4CXX_INC_LIST}
66)
67
68# Find release library
69FIND_LIBRARY (
70 LOG4CXX_LIBRARY
71 NAMES
72 log4cxx
73 HINTS
74 ${LOG4CXX_LIB_LIST}
75)
76
77# Find debug library, if on UNIX this is the same as release
78IF (WIN32)
79 FIND_LIBRARY (LOG4CXXD_LIBRARY NAMES log4cxx_d HINTS ${LOG4CXX_LIB_LIST})
80ELSE ()
81 SET (LOG4CXXD_LIBRARY ${LOG4CXX_LIBRARY})
82ENDIF ()
83
84# Set LOG4CXX_FOUND honoring the QUIET and REQUIRED arguments
85find_package_handle_standard_args(LOG4CXX DEFAULT_MSG LOG4CXX_LIBRARY LOG4CXX_INCLUDE_DIR)
86
87# Output variables
88SET (LOG4CXX_LIBRARIES "")
89IF (LOG4CXX_FOUND)
90 # Include dirs
91 SET (LOG4CXX_INCLUDE_DIRS ${LOG4CXX_INCLUDE_DIR})
92
93 # Release Libraries
94 IF (LOG4CXX_LIBRARY)
95 LIST(APPEND LOG4CXX_LIBRARIES optimized ${LOG4CXX_LIBRARY})
96 ENDIF ()
97
98 # Debug Libraries
99 IF(LOG4CXXD_LIBRARY)
100 LIST(APPEND LOG4CXX_LIBRARIES debug ${LOG4CXXD_LIBRARY})
101 ENDIF()
102
103 # Link dirs
104 GET_FILENAME_COMPONENT (LOG4CXX_LIBRARY_DIRS ${LOG4CXX_LIBRARY} PATH)
105ENDIF ()
106
107# Advanced options for not cluttering the cmake UIs
108MARK_AS_ADVANCED (LOG4CXX_INCLUDE_DIR LOG4CXX_LIBRARY)
Note: See TracBrowser for help on using the repository browser.