diff --git a/CMakeLists.txt b/CMakeLists.txt index a082038a0..c845b948b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,6 @@ endif() include(CheckCXXCompilerFlag) - ### ### Project settings ### @@ -115,10 +114,7 @@ if(VERBOSE) message(STATUS "contrib_private_headers: ${contrib_private_headers}") endif() -include_directories(${YAML_CPP_SOURCE_DIR}/src) -include_directories(${YAML_CPP_SOURCE_DIR}/include) - - +include_directories(include) ### ### General compilation settings @@ -267,12 +263,12 @@ endif() set(INCLUDE_INSTALL_ROOT_DIR ${CMAKE_INSTALL_PREFIX}/include) set(INCLUDE_INSTALL_DIR ${INCLUDE_INSTALL_ROOT_DIR}/yaml-cpp) -set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${_library_dir}${LIB_SUFFIX}") +set(LIB_INSTALL_DIR "${_library_dir}${LIB_SUFFIX}") set(_INSTALL_DESTINATIONS - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + RUNTIME DESTINATION bin LIBRARY DESTINATION ${LIB_INSTALL_DIR} - ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" + ARCHIVE DESTINATION "lib${LIB_SUFFIX}" ) @@ -281,7 +277,7 @@ set(_INSTALL_DESTINATIONS ### add_library(yaml-cpp ${library_sources}) set_target_properties(yaml-cpp PROPERTIES - COMPILE_FLAGS "${yaml_c_flags} ${yaml_cxx_flags}" + COMPILE_FLAGS "${yaml_c_flags} ${yaml_cxx_flags}" ) set_target_properties(yaml-cpp PROPERTIES @@ -331,7 +327,7 @@ else() set(INSTALL_CMAKE_DIR ${LIB_INSTALL_DIR}/cmake/yaml-cpp) endif() -file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" "${INCLUDE_INSTALL_ROOT_DIR}") +file(RELATIVE_PATH REL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}" "${INCLUDE_INSTALL_ROOT_DIR}") set(CONFIG_INCLUDE_DIRS "\${YAML_CPP_CMAKE_DIR}/${REL_INCLUDE_DIR}") configure_file(${CMAKE_CURRENT_SOURCE_DIR}/yaml-cpp-config.cmake.in "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/yaml-cpp-config.cmake" @ONLY) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 74455a5e6..3caa4db5c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -3,6 +3,7 @@ set(gtest_force_shared_crt ${MSVC_SHARED_RT} CACHE BOOL add_subdirectory(gmock-1.7.0) include_directories(SYSTEM gmock-1.7.0/gtest/include) include_directories(SYSTEM gmock-1.7.0/include) +include_directories(${CMAKE_SOURCE_DIR}/src) if(WIN32 AND BUILD_SHARED_LIBS) add_definitions("-DGTEST_LINKED_AS_SHARED_LIBRARY") diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in index 7b41e3f30..50f432f29 100644 --- a/yaml-cpp-config.cmake.in +++ b/yaml-cpp-config.cmake.in @@ -6,9 +6,15 @@ # Compute paths get_filename_component(YAML_CPP_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) set(YAML_CPP_INCLUDE_DIR "@CONFIG_INCLUDE_DIRS@") +get_filename_component(YAML_CPP_INCLUDE_DIR "${YAML_CPP_INCLUDE_DIR}" REALPATH) # Our library dependencies (contains definitions for IMPORTED targets) include("${YAML_CPP_CMAKE_DIR}/yaml-cpp-targets.cmake") +if(TARGET yaml-cpp) + set_property(TARGET yaml-cpp APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + "${YAML_CPP_INCLUDE_DIR}" + ) +endif() # These are IMPORTED targets created by yaml-cpp-targets.cmake set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@")