@@ -23,7 +23,7 @@ cmake_minimum_required (VERSION 3.13)
2323
2424project (
2525 DrMock
26- VERSION 0.1.0
26+ VERSION 0.2.0
2727 DESCRIPTION "C++17 testing and mocking framework"
2828 LANGUAGES CXX
2929)
@@ -38,7 +38,7 @@ find_library(
3838 LIBCLANG_PATH
3939 NAMES clang clang-6.0 clang-7.0 clang-8.0
4040 PATH_SUFFIXES lib
41- HINTS
41+ HINTS
4242 /Library/Developer/CommandLineTools/usr
4343 /usr/lib/llvm-7/lib
4444)
@@ -48,24 +48,24 @@ endif()
4848
4949# Write the libclang path to the mocker.cfg.
5050configure_file (
51- ${CMAKE_SOURCE_DIR } /python/mocker/mocker.cfg.in
51+ ${CMAKE_SOURCE_DIR } /python/mocker/mocker.cfg.in
5252 ${CMAKE_SOURCE_DIR } /python/mocker/mocker.cfg
5353)
5454
5555# If enabled, find Qt.
5656if (DEFINED ENV{DRMOCK_QT_PATH})
5757 find_package (
58- Qt5
59- COMPONENTS
60- Core
58+ Qt5
59+ COMPONENTS
60+ Core
6161 )
6262 if (${Qt5_FOUND} )
6363 # Set CMP0071 to NEW so that generated files are automoc'ed.
6464 cmake_policy (SET CMP0071 NEW )
6565 set (CMAKE_AUTOMOC ON )
6666 else ()
6767 message (
68- FATAL_ERROR
68+ FATAL_ERROR
6969 "DRMOCK_QT_PATH environment variable is set, but Qt5 was not found."
7070 )
7171 endif ()
@@ -90,8 +90,8 @@ set(DrMockMacros
9090foreach (pathToFile ${${PROJECT_NAME } Macros})
9191 get_filename_component (name ${pathToFile} NAME )
9292 configure_file (
93- ${pathToFile}
94- ${CMAKE_CURRENT_BINARY_DIR } /${name}
93+ ${pathToFile}
94+ ${CMAKE_CURRENT_BINARY_DIR } /${name}
9595 COPYONLY
9696 )
9797endforeach ()
@@ -100,11 +100,6 @@ endforeach()
100100# Configure install.
101101#######################################
102102
103- # If install directory is default, install to `prefix` instead.
104- if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
105- set (CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR } /prefix CACHE PATH "..." FORCE )
106- endif ()
107-
108103set (CMAKE_INSTALL_INCLUDEDIR "include/${PROJECT_NAME } " )
109104set (CMAKE_INSTALL_LIBDIR "lib" )
110105set (INSTALL_CONFIGDIR ${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME } )
@@ -119,24 +114,39 @@ install(
119114# Uncomment to alias the libraries on export.
120115set_target_properties (${PROJECT_NAME } PROPERTIES EXPORT_NAME Core)
121116
117+ install (
118+ DIRECTORY pkgconfig/
119+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig
120+ FILES_MATCHING
121+ PATTERN "*.pc"
122+ )
122123install (
123124 DIRECTORY include/
124125 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
125126)
126127install (
127- DIRECTORY src/
128+ DIRECTORY src/
128129 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
129- FILES_MATCHING
130- PATTERN "*.h"
130+ FILES_MATCHING
131+ PATTERN "*.h"
131132 PATTERN "*.tpp"
132133)
133134
135+ #######################################
136+ # pkgconfig
137+ #######################################
138+
139+ configure_file (
140+ ${CMAKE_SOURCE_DIR } /pkgconfig/DrMock.pc.in
141+ ${CMAKE_SOURCE_DIR } /pkgconfig/DrMock.pc
142+ )
143+
134144#######################################
135145# Configure export.
136146#######################################
137147
138148install (
139- EXPORT
149+ EXPORT
140150 ${PROJECT_NAME } Targets
141151 FILE
142152 ${PROJECT_NAME } Targets .cmake
@@ -150,16 +160,16 @@ include(CMakePackageConfigHelpers)
150160
151161write_basic_package_version_file (
152162 ${CMAKE_CURRENT_BINARY_DIR } /${PROJECT_NAME}ConfigVersion.cmake
153- VERSION
163+ VERSION
154164 ${PROJECT_VERSION }
155- COMPATIBILITY
165+ COMPATIBILITY
156166 SameMajorVersion
157167)
158168
159169configure_package_config_file (
160170 ${CMAKE_CURRENT_LIST_DIR } /cmake/${PROJECT_NAME}Config.cmake.in
161171 ${CMAKE_CURRENT_BINARY_DIR } /${PROJECT_NAME}Config.cmake
162- INSTALL_DESTINATION
172+ INSTALL_DESTINATION
163173 ${INSTALL_CONFIGDIR}
164174)
165175
@@ -168,7 +178,7 @@ install(
168178 FILES
169179 ${CMAKE_CURRENT_BINARY_DIR } /${PROJECT_NAME } Config.cmake
170180 ${CMAKE_CURRENT_BINARY_DIR } /${PROJECT_NAME } ConfigVersion.cmake
171- DESTINATION
181+ DESTINATION
172182 ${INSTALL_CONFIGDIR}
173183)
174184
@@ -178,17 +188,17 @@ foreach (pathToFile ${${PROJECT_NAME}Macros})
178188 install (
179189 FILES
180190 ${CMAKE_CURRENT_BINARY_DIR } /${name}
181- DESTINATION
191+ DESTINATION
182192 ${INSTALL_CONFIGDIR}
183193 )
184194endforeach ()
185195
186196export (
187- EXPORT
188- ${PROJECT_NAME } Targets
189- FILE
190- ${CMAKE_CURRENT_BINARY_DIR } /${PROJECT_NAME}Targets.cmake
191- NAMESPACE
197+ EXPORT
198+ ${PROJECT_NAME } Targets
199+ FILE
200+ ${CMAKE_CURRENT_BINARY_DIR } /${PROJECT_NAME}Targets.cmake
201+ NAMESPACE
192202 ${PROJECT_NAME } ::
193203)
194204
0 commit comments