Add support for pkgconfig
This commit is contained in:
		
							parent
							
								
									673c975a96
								
							
						
					
					
						commit
						8604c4adac
					
				| @ -37,7 +37,12 @@ endif() | ||||
| # as ${gmock_SOURCE_DIR} and to the root binary directory as | ||||
| # ${gmock_BINARY_DIR}. | ||||
| # Language "C" is required for find_package(Threads). | ||||
| project(gmock CXX C) | ||||
| if (CMAKE_VERSION VERSION_LESS 3.0) | ||||
|   project(gmock CXX C) | ||||
| else() | ||||
|   cmake_policy(SET CMP0048 NEW) | ||||
|   project(gmock VERSION 1.9.0 LANGUAGES CXX C) | ||||
| endif() | ||||
| cmake_minimum_required(VERSION 2.6.4) | ||||
| 
 | ||||
| if (COMMAND set_up_hermetic_build) | ||||
| @ -110,6 +115,18 @@ if(INSTALL_GMOCK) | ||||
|     ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) | ||||
|   install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock | ||||
|     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) | ||||
| 
 | ||||
|   # configure and install pkgconfig files | ||||
|   configure_file( | ||||
|     cmake/gmock.pc.in | ||||
|     "${CMAKE_BINARY_DIR}/gmock.pc" | ||||
|     @ONLY) | ||||
|   configure_file( | ||||
|     cmake/gmock_main.pc.in | ||||
|     "${CMAKE_BINARY_DIR}/gmock_main.pc" | ||||
|     @ONLY) | ||||
|   install(FILES "${CMAKE_BINARY_DIR}/gmock.pc" "${CMAKE_BINARY_DIR}/gmock_main.pc" | ||||
|     DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") | ||||
| endif() | ||||
| 
 | ||||
| ######################################################################## | ||||
|  | ||||
							
								
								
									
										9
									
								
								googlemock/cmake/gmock.pc.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								googlemock/cmake/gmock.pc.in
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| libdir=@CMAKE_INSTALL_FULL_LIBDIR@ | ||||
| includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ | ||||
| 
 | ||||
| Name: gmock | ||||
| Description: GoogleMock (without main() function) | ||||
| Version: @PROJECT_VERSION@ | ||||
| URL: https://github.com/google/googletest | ||||
| Libs: -L${libdir} -lgmock @CMAKE_THREAD_LIBS_INIT@ | ||||
| Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@ @CMAKE_THREAD_LIBS_INIT@ | ||||
							
								
								
									
										9
									
								
								googlemock/cmake/gmock_main.pc.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								googlemock/cmake/gmock_main.pc.in
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| libdir=@CMAKE_INSTALL_FULL_LIBDIR@ | ||||
| includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ | ||||
| 
 | ||||
| Name: gmock_main | ||||
| Description: GoogleMock (with main() function) | ||||
| Version: @PROJECT_VERSION@ | ||||
| URL: https://github.com/google/googletest | ||||
| Libs: -L${libdir} -lgmock_main @CMAKE_THREAD_LIBS_INIT@ | ||||
| Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@ @CMAKE_THREAD_LIBS_INIT@ | ||||
| @ -44,7 +44,12 @@ endif() | ||||
| # as ${gtest_SOURCE_DIR} and to the root binary directory as | ||||
| # ${gtest_BINARY_DIR}. | ||||
| # Language "C" is required for find_package(Threads). | ||||
| project(gtest CXX C) | ||||
| if (CMAKE_VERSION VERSION_LESS 3.0) | ||||
|   project(gtest CXX C) | ||||
| else() | ||||
|   cmake_policy(SET CMP0048 NEW) | ||||
|   project(gtest VERSION 1.9.0 LANGUAGES CXX C) | ||||
| endif() | ||||
| cmake_minimum_required(VERSION 2.6.4) | ||||
| 
 | ||||
| if (COMMAND set_up_hermetic_build) | ||||
| @ -109,6 +114,18 @@ if(INSTALL_GTEST) | ||||
|     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) | ||||
|   install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest | ||||
|     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) | ||||
| 
 | ||||
|   # configure and install pkgconfig files | ||||
|   configure_file( | ||||
|     cmake/gtest.pc.in | ||||
|     "${CMAKE_BINARY_DIR}/gtest.pc" | ||||
|     @ONLY) | ||||
|   configure_file( | ||||
|     cmake/gtest_main.pc.in | ||||
|     "${CMAKE_BINARY_DIR}/gtest_main.pc" | ||||
|     @ONLY) | ||||
|   install(FILES "${CMAKE_BINARY_DIR}/gtest.pc" "${CMAKE_BINARY_DIR}/gtest_main.pc" | ||||
|     DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") | ||||
| endif() | ||||
| 
 | ||||
| ######################################################################## | ||||
|  | ||||
							
								
								
									
										9
									
								
								googletest/cmake/gtest.pc.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								googletest/cmake/gtest.pc.in
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| libdir=@CMAKE_INSTALL_FULL_LIBDIR@ | ||||
| includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ | ||||
| 
 | ||||
| Name: gtest | ||||
| Description: GoogleTest (without main() function) | ||||
| Version: @PROJECT_VERSION@ | ||||
| URL: https://github.com/google/googletest | ||||
| Libs: -L${libdir} -lgtest @CMAKE_THREAD_LIBS_INIT@ | ||||
| Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@ @CMAKE_THREAD_LIBS_INIT@ | ||||
							
								
								
									
										10
									
								
								googletest/cmake/gtest_main.pc.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								googletest/cmake/gtest_main.pc.in
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| libdir=@CMAKE_INSTALL_FULL_LIBDIR@ | ||||
| includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ | ||||
| 
 | ||||
| Name: gtest_main | ||||
| Description: GoogleTest (with main() function) | ||||
| Version: @PROJECT_VERSION@ | ||||
| URL: https://github.com/google/googletest | ||||
| Requires: gtest | ||||
| Libs: -L${libdir} -lgtest_main @CMAKE_THREAD_LIBS_INIT@ | ||||
| Cflags: -I${includedir} @GTEST_HAS_PTHREAD_MACRO@ @CMAKE_THREAD_LIBS_INIT@ | ||||
| @ -50,6 +50,7 @@ macro(config_compiler_and_linker) | ||||
|   # instead, we use windows threading primitives | ||||
|   if (NOT gtest_disable_pthreads AND NOT MINGW) | ||||
|     # Defines CMAKE_USE_PTHREADS_INIT and CMAKE_THREAD_LIBS_INIT. | ||||
|     set(THREADS_PREFER_PTHREAD_FLAG ON) | ||||
|     find_package(Threads) | ||||
|   endif() | ||||
| 
 | ||||
| @ -126,10 +127,11 @@ macro(config_compiler_and_linker) | ||||
|   endif() | ||||
| 
 | ||||
|   if (CMAKE_USE_PTHREADS_INIT)  # The pthreads library is available and allowed. | ||||
|     set(cxx_base_flags "${cxx_base_flags} -DGTEST_HAS_PTHREAD=1") | ||||
|     set(GTEST_HAS_PTHREAD_MACRO "-DGTEST_HAS_PTHREAD=1") | ||||
|   else() | ||||
|     set(cxx_base_flags "${cxx_base_flags} -DGTEST_HAS_PTHREAD=0") | ||||
|     set(GTEST_HAS_PTHREAD_MACRO "-DGTEST_HAS_PTHREAD=0") | ||||
|   endif() | ||||
|   set(cxx_base_flags "${cxx_base_flags} ${GTEST_HAS_PTHREAD_MACRO}") | ||||
| 
 | ||||
|   # For building gtest's own tests and samples. | ||||
|   set(cxx_exception "${CMAKE_CXX_FLAGS} ${cxx_base_flags} ${cxx_exception_flags}") | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user