1 | # ===================================================================================
|
---|
2 | # The Pacpus CMake configuration file
|
---|
3 | #
|
---|
4 | # Usage from an external project:
|
---|
5 | # In your CMakeLists.txt, add these lines:
|
---|
6 | #
|
---|
7 | # FIND_PACKAGE(Pacpus REQUIRED)
|
---|
8 | # TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${Pacpus_LIBS})
|
---|
9 | #
|
---|
10 | # This file will define the following variables:
|
---|
11 | # - Pacpus_LIBS : The list of libraries to links against.
|
---|
12 | # - Pacpus_LIB_DIR : The directory(es) where lib files are. Calling LINK_DIRECTORIES
|
---|
13 | # with this path is NOT needed.
|
---|
14 | # - Pacpus_INCLUDE_DIRS : The Pacpus include directories.
|
---|
15 | # - Pacpus_VERSION : The version of this Pacpus build. Example: "1.2.3"
|
---|
16 | # - Pacpus_MAJOR_VERSION : Major version part of Pacpus_VERSION. Example: "1"
|
---|
17 | # - Pacpus_MINOR_VERSION : Minor version part of Pacpus_VERSION. Example: "2"
|
---|
18 | # - Pacpus_PATCH_VERSION : Patch version part of Pacpus_VERSION. Example: "3"
|
---|
19 | #
|
---|
20 | # Advanced variables:
|
---|
21 | # - Pacpus_CONFIG_PATH
|
---|
22 | #
|
---|
23 | # ===================================================================================
|
---|
24 |
|
---|
25 | # Extract the directory where *this* file has been installed (determined at cmake run-time)
|
---|
26 | get_filename_component(Pacpus_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH CACHE)
|
---|
27 |
|
---|
28 | # ======================================================
|
---|
29 | # Include directories to add to the user project:
|
---|
30 | # ======================================================
|
---|
31 |
|
---|
32 | # Provide the include directories to the caller
|
---|
33 | set(Pacpus_INCLUDE_DIRS "${Pacpus_CONFIG_PATH}/include")
|
---|
34 | include_directories(${Pacpus_INCLUDE_DIRS})
|
---|
35 |
|
---|
36 | # ======================================================
|
---|
37 | # Link directories to add to the user project:
|
---|
38 | # ======================================================
|
---|
39 |
|
---|
40 | # Provide the libs directories to the caller
|
---|
41 | set(Pacpus_LIB_DIR_RELEASE "${Pacpus_CONFIG_PATH}/lib" CACHE PATH "Path where release Pacpus libraries are located")
|
---|
42 | set(Pacpus_LIB_DIR_DEBUG "${Pacpus_CONFIG_PATH}/lib" CACHE PATH "Path where debug Pacpus libraries are located")
|
---|
43 | set(Pacpus_3RDPARTY_LIB_DIR_RELEASE "${Pacpus_CONFIG_PATH}/3rdparty/lib" CACHE PATH "Path where release 3rdparty Pacpus dependencies are located")
|
---|
44 | set(Pacpus_3RDPARTY_LIB_DIR_DEBUG "${Pacpus_CONFIG_PATH}/3rdparty/lib" CACHE PATH "Path where debug 3rdparty Pacpus dependencies are located")
|
---|
45 | mark_as_advanced(FORCE Pacpus_LIB_DIR_RELEASE Pacpus_LIB_DIR_DEBUG Pacpus_3RDPARTY_LIB_DIR_RELEASE Pacpus_3RDPARTY_LIB_DIR_DEBUG Pacpus_CONFIG_PATH)
|
---|
46 |
|
---|
47 | # ======================================================
|
---|
48 | # Version variables:
|
---|
49 | # ======================================================
|
---|
50 | set(Pacpus_MAJOR_VERSION @Pacpus_MAJOR_VERSION@)
|
---|
51 | set(Pacpus_MINOR_VERSION @Pacpus_MINOR_VERSION@)
|
---|
52 | set(Pacpus_PATCH_VERSION @Pacpus_PATCH_VERSION@)
|
---|
53 | set(Pacpus_VERSION
|
---|
54 | "${Pacpus_MAJOR_VERSION}.${Pacpus_MINOR_VERSION}.${Pacpus_PATCH_VERSION}")
|
---|
55 |
|
---|
56 | # ====================================================================
|
---|
57 | # Link libraries: e.g. libPacpusLib.so, PacpusLibd.lib, etc...
|
---|
58 | # ====================================================================
|
---|
59 |
|
---|
60 | set(Pacpus_LIB_COMPONENTS
|
---|
61 | dbiteplayerlib
|
---|
62 | FileLib
|
---|
63 | PacpusLib
|
---|
64 | PacpusTools
|
---|
65 | )
|
---|
66 | if(WIN32)
|
---|
67 | list(APPEND Pacpus_LIB_COMPONENTS
|
---|
68 | ROAD_TIME
|
---|
69 | )
|
---|
70 | endif()
|
---|
71 |
|
---|
72 | # ==============================================================
|
---|
73 | set(_Pacpus_MODULE_MISSING FALSE)
|
---|
74 | set(Pacpus_LIBS "")
|
---|
75 |
|
---|
76 | # Check the presence of each component
|
---|
77 | foreach(__opttype RELEASE DEBUG)
|
---|
78 | if(${__opttype} STREQUAL DEBUG)
|
---|
79 | set(Pacpus_LIB_TYPE debug)
|
---|
80 | set(Pacpus_LIB_SUFFIX "_d")
|
---|
81 | else()
|
---|
82 | set(Pacpus_LIB_TYPE optimized)
|
---|
83 | set(Pacpus_LIB_SUFFIX "")
|
---|
84 | endif()
|
---|
85 | foreach(__component ${Pacpus_LIB_COMPONENTS})
|
---|
86 | find_library(
|
---|
87 | Pacpus_${__component}_LIB_${__opttype}
|
---|
88 | NAMES ${__component}${Pacpus_LIB_SUFFIX}
|
---|
89 | HINTS ${Pacpus_LIB_DIR_${__opttype}}
|
---|
90 | )
|
---|
91 | if(Pacpus_${__component}_LIB_${__opttype})
|
---|
92 | list(APPEND Pacpus_LIBS ${Pacpus_LIB_TYPE} ${Pacpus_${__component}_LIB_${__opttype}})
|
---|
93 | else()
|
---|
94 | message(SEND_ERROR "Cannot find Pacpus component ${__component}${Pacpus_LIB_SUFFIX} (${Pacpus_LIB_TYPE} version)")
|
---|
95 | set(_Pacpus_MODULE_MISSING TRUE)
|
---|
96 | endif()
|
---|
97 | endforeach()
|
---|
98 | endforeach()
|
---|
99 |
|
---|
100 | # handle the QUIETLY and REQUIRED arguments and set PACPUS_FOUND to TRUE if
|
---|
101 | # all listed variables are TRUE
|
---|
102 | include (FindPackageHandleStandardArgs)
|
---|
103 | set(Pacpus_ALL_MODULES_FOUND NOT _Pacpus_MODULE_MISSING)
|
---|
104 | find_package_handle_standard_args (Pacpus DEFAULT_MSG Pacpus_LIBS Pacpus_INCLUDE_DIRS Pacpus_ALL_MODULES_FOUND)
|
---|
105 |
|
---|
106 | # ==============================================================
|
---|
107 | set(Pacpus_INSTALL_DIR ${Pacpus_CONFIG_PATH})
|
---|
108 | set(Pacpus_CMAKE_DIR ${Pacpus_CONFIG_PATH}/cmake)
|
---|
109 | set(CMAKE_INSTALL_PREFIX ${Pacpus_INSTALL_DIR})
|
---|
110 | list(APPEND CMAKE_PREFIX_PATH ${Pacpus_CMAKE_DIR})
|
---|
111 | list(APPEND CMAKE_MODULE_PATH ${Pacpus_CMAKE_DIR})
|
---|
112 |
|
---|
113 | include(${Pacpus_CMAKE_DIR}/PacpusUtilities.cmake)
|
---|
114 | include(${Pacpus_CMAKE_DIR}/PacpusConfiguration.cmake)
|
---|
115 | include(${Pacpus_CMAKE_DIR}/PacpusDependencies.cmake)
|
---|
116 | include(${Pacpus_CMAKE_DIR}/PacpusPlatforms.cmake)
|
---|
117 |
|
---|
118 | # ==============================================================
|
---|
119 | # Compatibility stuff
|
---|
120 | # ==============================================================
|
---|
121 | set(Pacpus_ROOT ${Pacpus_CONFIG_PATH})
|
---|
122 | if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
---|
123 | set(Pacpus_LIB_DIR ${Pacpus_LIB_DIR_DEBUG} ${Pacpus_3RDPARTY_LIB_DIR_DEBUG})
|
---|
124 | else()
|
---|
125 | set(Pacpus_LIB_DIR ${Pacpus_LIB_DIR_RELEASE} ${Pacpus_3RDPARTY_LIB_DIR_RELEASE})
|
---|
126 | endif()
|
---|
127 | set(Pacpus_LIBRARIES ${Pacpus_LIBS})
|
---|
128 | set(Pacpus_INCLUDE_DIR ${Pacpus_INCLUDE_DIRS})
|
---|
129 |
|
---|
130 | set(PACPUS_ROOT ${Pacpus_ROOT})
|
---|
131 | set(PACPUS_LIBRARIES ${Pacpus_LIBS})
|
---|
132 | set(PACPUS_INCLUDE_DIR ${Pacpus_INCLUDE_DIR})
|
---|