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

Last change on this file since 3 was 3, checked in by sgosseli, 12 years ago
  • Add the existing Pacpus files from pacpusdev and pacpuscore.
  • Provide a clean build system based on multiple CMake files.
File size: 2.8 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
88IF (LOG4CXX_FOUND)
89 # Include dirs
90 SET (LOG4CXX_INCLUDE_DIRS ${LOG4CXX_INCLUDE_DIR})
91
92 # Libraries
93 IF (LOG4CXX_LIBRARY)
94 SET (LOG4CXX_LIBRARIES optimized ${LOG4CXX_LIBRARY} debug ${LOG4CXXD_LIBRARY})
95 ELSE (LOG4CXX_LIBRARY)
96 SET (LOG4CXX_LIBRARIES "")
97 ENDIF (LOG4CXX_LIBRARY)
98 IF (LOG4CXXD_LIBRARY)
99 SET (LOG4CXX_LIBRARIES debug ${LOG4CXXD_LIBRARY} ${LOG4CXX_LIBRARIES})
100 ENDIF (LOG4CXXD_LIBRARY)
101
102 # Link dirs
103 GET_FILENAME_COMPONENT (LOG4CXX_LIBRARY_DIRS ${LOG4CXX_LIBRARY} PATH)
104ENDIF ()
105
106# Advanced options for not cluttering the cmake UIs
107MARK_AS_ADVANCED (LOG4CXX_INCLUDE_DIR LOG4CXX_LIBRARY)
Note: See TracBrowser for help on using the repository browser.