mirror of
				https://github.com/open-source-parsers/jsoncpp.git
				synced 2025-10-30 09:10:45 -04:00 
			
		
		
		
	Merge pull request #63/#67 from dreifachstein/master
Allow customization of component install dirs Passed Travis CI.
This commit is contained in:
		
						commit
						9c80798038
					
				| @ -6,6 +6,7 @@ OPTION(JSONCPP_WITH_TESTS "Compile and run JsonCpp test executables" ON) | ||||
| OPTION(JSONCPP_WITH_POST_BUILD_UNITTEST "Automatically run unit-tests as a post build step" ON) | ||||
| OPTION(JSONCPP_WITH_WARNING_AS_ERROR "Force compilation to fail if a warning occurs" OFF) | ||||
| OPTION(JSONCPP_WITH_PKGCONFIG_SUPPORT "Generate and install .pc files" ON) | ||||
| OPTION(JSONCPP_WITH_CMAKE_PACKAGE "Generate and install cmake package files" OFF) | ||||
| 
 | ||||
| # Ensures that CMAKE_BUILD_TYPE is visible in cmake-gui on Unix | ||||
| IF(NOT WIN32) | ||||
| @ -16,6 +17,18 @@ IF(NOT WIN32) | ||||
|     ENDIF(NOT CMAKE_BUILD_TYPE) | ||||
| ENDIF(NOT WIN32) | ||||
| 
 | ||||
| SET(RUNTIME_INSTALL_DIR bin | ||||
|     CACHE PATH "Install dir for executables and dlls") | ||||
| SET(ARCHIVE_INSTALL_DIR lib | ||||
|     CACHE PATH "Install dir for static libraries") | ||||
| SET(LIBRARY_INSTALL_DIR lib | ||||
|     CACHE PATH "Install dir for shared libraries") | ||||
| SET(INCLUDE_INSTALL_DIR include | ||||
|     CACHE PATH "Install dir for headers") | ||||
| SET(PACKAGE_INSTALL_DIR lib/cmake | ||||
|     CACHE PATH "Install dir for cmake package config files") | ||||
| MARK_AS_ADVANCED( RUNTIME_INSTALL_DIR ARCHIVE_INSTALL_DIR INCLUDE_INSTALL_DIR PACKAGE_INSTALL_DIR ) | ||||
| 
 | ||||
| # This ensures shared DLL are in the same dir as executable on Windows. | ||||
| # Put all executables / libraries are in a project global directory. | ||||
| SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib | ||||
| @ -91,6 +104,12 @@ IF(JSONCPP_WITH_PKGCONFIG_SUPPORT) | ||||
| 		DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") | ||||
| ENDIF(JSONCPP_WITH_PKGCONFIG_SUPPORT) | ||||
| 
 | ||||
| IF(JSONCPP_WITH_CMAKE_PACKAGE) | ||||
|         INSTALL(EXPORT jsoncpp | ||||
|                 DESTINATION ${PACKAGE_INSTALL_DIR}/jsoncpp | ||||
|                 FILE        jsoncppConfig.cmake) | ||||
| ENDIF(JSONCPP_WITH_CMAKE_PACKAGE) | ||||
| 
 | ||||
| # Build the different applications | ||||
| ADD_SUBDIRECTORY( src ) | ||||
| 
 | ||||
|  | ||||
| @ -1,2 +1,2 @@ | ||||
| FILE(GLOB INCLUDE_FILES "json/*.h") | ||||
| INSTALL(FILES ${INCLUDE_FILES} DESTINATION include/json) | ||||
| INSTALL(FILES ${INCLUDE_FILES} DESTINATION ${INCLUDE_INSTALL_DIR}/json) | ||||
|  | ||||
| @ -40,8 +40,18 @@ SET_TARGET_PROPERTIES( jsoncpp_lib PROPERTIES OUTPUT_NAME jsoncpp ) | ||||
| SET_TARGET_PROPERTIES( jsoncpp_lib PROPERTIES VERSION ${JSONCPP_VERSION} SOVERSION ${JSONCPP_VERSION_MAJOR} ) | ||||
| 
 | ||||
| # Install instructions for this target | ||||
| INSTALL( TARGETS jsoncpp_lib | ||||
|          RUNTIME DESTINATION bin | ||||
|          LIBRARY DESTINATION lib | ||||
|          ARCHIVE DESTINATION lib | ||||
| IF(JSONCPP_WITH_CMAKE_PACKAGE) | ||||
|     TARGET_INCLUDE_DIRECTORIES( jsoncpp_lib | ||||
|                                 PUBLIC $<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}> | ||||
|                                        $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/${JSON_INCLUDE_DIR}> | ||||
|                                 ) | ||||
|     SET(INSTALL_EXPORT EXPORT jsoncpp) | ||||
| ELSE(JSONCPP_WITH_CMAKE_PACKAGE) | ||||
|     SET(INSTALL_EXPORT) | ||||
| ENDIF(JSONCPP_WITH_CMAKE_PACKAGE) | ||||
| 
 | ||||
| INSTALL( TARGETS jsoncpp_lib ${INSTALL_EXPORT} | ||||
|          RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} | ||||
|          LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} | ||||
|          ARCHIVE DESTINATION ${ARCHIVE_INSTALL_DIR} | ||||
| ) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Christopher Dunn
						Christopher Dunn