source: pacpusframework/branches/0.1.x/cmake/FindPacpus.cmake

Last change on this file was 306, checked in by phudelai, 11 years ago

Branche 0.1.x: deletion of useless magic search of location of PACPUS_INCLUDE_DIR. It is mandatory to set the PACPUS_ROOT variable so we use to configure the paths to PAPCUS dirs (include, libs, ...).

  • Property svn:executable set to *
File size: 3.1 KB
Line 
1#################################################
2# ___________ ____ ______ __ __ _____ #
3# \____ \__ \ _/ ___\\____ \| | \/ ___/ #
4# | |_> > __ \\ \___| |_> > | /\___ \ #
5# | __(____ /\___ > __/|____//____ > #
6# |__| \/ \/|__| \/ #
7# #
8#################################################
9
10# TODO: write the output variables of this CMake file.
11
12# Check PACPUS_ROOT
13if(NOT PACPUS_ROOT)
14 if(NOT ENV{PACPUS_ROOT} STREQUAL "")
15 set(PACPUS_ROOT $ENV{PACPUS_ROOT})
16 string (REPLACE "\\" "/" PACPUS_ROOT ${PACPUS_ROOT})
17 message(STATUS "Detected PACPUS_ROOT in environment, set to '${PACPUS_ROOT}'")
18 else()
19 if(PACPUS_FIND_REQUIRED)
20 MESSAGE(FATAL_ERROR "Could'not find PACPUS_ROOT ")
21 else()
22 MESSAGE(STATUS "Could'not find PACPUS_ROOT ")
23 return()
24 endif()
25 endif()
26else()
27 string (REPLACE "\\" "/" PACPUS_ROOT ${PACPUS_ROOT})
28 message(STATUS "Detected PACPUS_ROOT as argument with the path: '${PACPUS_ROOT}'")
29endif()
30
31
32# Locate the include files
33set(PACPUS_INCLUDE_DIR
34 "${PACPUS_ROOT}/include"
35)
36
37if(NOT PACPUS_INCLUDE_DIR)
38 message(FATAL_ERROR "Could not find PACPUS. Please set CMake variable PACPUS_ROOT or environment variable PACPUS_ROOT.")
39endif()
40
41#get_filename_component(PACPUS_ROOT ${PACPUS_INCLUDE_DIR}/.. ABSOLUTE)
42set(PACPUS_LIB_DIR ${PACPUS_ROOT}/lib)
43
44# List of required modules
45set(PACPUS_MODULES "FileLib" "PacpusLib" "PacpusTools" "dbiteplayerlib")
46if(WIN32)
47 list(APPEND PACPUS_MODULES "ROAD_TIME")
48endif()
49
50set(MODULE_MISSING FALSE)
51set(PACPUS_LIBRARIES "")
52
53message (${PACPUS_LIB_DIR})
54
55# Check the presence of each module
56foreach(module ${PACPUS_MODULES})
57
58 # release version
59 find_library(
60 PACPUS_${module}_LIB
61 NAMES ${module}
62 HINTS ${PACPUS_LIB_DIR}
63 )
64 if(PACPUS_${module}_LIB)
65 list(APPEND PACPUS_LIBRARIES optimized ${PACPUS_${module}_LIB})
66 else()
67 message(SEND_ERROR "Cannot find Pacpus module ${module} (release version)")
68 set(MODULE_MISSING TRUE)
69 endif()
70
71 # debug version
72 find_library(
73 PACPUS_${module}_LIBD
74 NAMES ${module}_d
75 HINTS ${PACPUS_LIB_DIR}
76 )
77 if(PACPUS_${module}_LIBD)
78 list(APPEND PACPUS_LIBRARIES debug ${PACPUS_${module}_LIBD})
79 else()
80 message(SEND_ERROR "Cannot find Pacpus module ${module}_d (debug version)")
81 set(MODULE_MISSING TRUE)
82 endif()
83
84endforeach()
85
86# handle the QUIETLY and REQUIRED arguments and set PACPUS_FOUND to TRUE if
87# all listed variables are TRUE
88include (FindPackageHandleStandardArgs)
89set(PACPUS_ALL_MODULES_FOUND NOT MODULE_MISSING)
90find_package_handle_standard_args (PACPUS DEFAULT_MSG PACPUS_LIBRARIES PACPUS_INCLUDE_DIR PACPUS_ALL_MODULES_FOUND)
91
92if(PACPUS_FOUND)
93 set(PACPUS_INSTALL_DIR ${PACPUS_ROOT})
94 set(PACPUS_CMAKE_DIR ${PACPUS_ROOT}/cmake)
95 set(CMAKE_INSTALL_PREFIX ${PACPUS_INSTALL_DIR})
96 list(APPEND CMAKE_PREFIX_PATH ${PACPUS_CMAKE_DIR})
97 list(APPEND CMAKE_MODULE_PATH "${PACPUS_CMAKE_DIR}")
98
99 include(${PACPUS_CMAKE_DIR}/PacpusUtilities.cmake)
100 include(${PACPUS_CMAKE_DIR}/PacpusConfiguration.cmake)
101 include(${PACPUS_CMAKE_DIR}/PacpusDependencies.cmake)
102 include(${PACPUS_CMAKE_DIR}/PacpusPlatforms.cmake)
103endif()
Note: See TracBrowser for help on using the repository browser.