mirror of
				https://github.com/open-source-parsers/jsoncpp.git
				synced 2025-11-04 02:32:19 -05: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