diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e33d2b..81e17d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -129,6 +129,9 @@ list(SORT CAPI_SRCS) add_library(CommonAPI SHARED ${CAPI_SRCS}) target_link_libraries(CommonAPI PRIVATE ${DL_LIBRARY} ${DLT_LIBRARIES}) set_target_properties(CommonAPI PROPERTIES VERSION ${LIBCOMMONAPI_MAJOR_VERSION}.${LIBCOMMONAPI_MINOR_VERSION}.${LIBCOMMONAPI_PATCH_VERSION} SOVERSION ${LIBCOMMONAPI_MAJOR_VERSION}.${LIBCOMMONAPI_MINOR_VERSION}.${LIBCOMMONAPI_PATCH_VERSION} LINKER_LANGUAGE C) +target_include_directories(CommonAPI INTERFACE + $ + $) set_target_properties (CommonAPI PROPERTIES INTERFACE_LINK_LIBRARY "") ############################################################################## @@ -167,23 +170,14 @@ export(PACKAGE CommonAPI) # Create the CommonAPIConfig.cmake and CommonAPIConfigVersion files ... file(RELATIVE_PATH REL_INCLUDE_DIR "${ABSOLUTE_INSTALL_CMAKE_DIR}" "${ABSOLUTE_INSTALL_INCLUDE_DIR}") -# ... for the build tree -set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" ) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/CommonAPIConfig.cmake.in "${PROJECT_BINARY_DIR}/CommonAPIConfig.cmake" @ONLY) - -# ... for the install tree -set(CONF_INCLUDE_DIRS "\${COMMONAPI_CMAKE_DIR}/${REL_INCLUDE_DIR}") -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/CommonAPIConfig.cmake.in - "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CommonAPIConfig.cmake" @ONLY) - -# ... for both configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/CommonAPIConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/CommonAPIConfigVersion.cmake" @ONLY) # Install the CommonAPIConfig.cmake and CommonAPIConfigVersion.cmake install(FILES - "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CommonAPIConfig.cmake" + "${PROJECT_BINARY_DIR}/CommonAPIConfig.cmake" "${PROJECT_BINARY_DIR}/CommonAPIConfigVersion.cmake" DESTINATION "${INSTALL_CMAKE_DIR}") diff --git a/cmake/CommonAPIConfig.cmake.in b/cmake/CommonAPIConfig.cmake.in index 2c4fea4..7ccbbbc 100644 --- a/cmake/CommonAPIConfig.cmake.in +++ b/cmake/CommonAPIConfig.cmake.in @@ -1,13 +1,17 @@ # Config file for the CommonAPI package -# It defines the following variables -# COMMONAPI_INCLUDE_DIRS - include directories for CommonAPI +# Exports the follwing targets: +# CommonAPI - CMake target for CommonAPI SomeIP +# Additionally, the following variables are defined: +# COMMONAPI_VERSION - The CommonAPI version number # Compute paths get_filename_component(COMMONAPI_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -set(COMMONAPI_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") # Our library dependencies (contains definitions for IMPORTED targets) include("${COMMONAPI_CMAKE_DIR}/CommonAPITargets.cmake") +# Legacy variable, kept for compatibility +get_target_property(COMMONAPI_INCLUDE_DIRS CommonAPI INTERFACE_INCLUDE_DIRECTORIES) + set(COMMONAPI_VERSION @PACKAGE_VERSION@) set(COMMONAPI_VERSION_STRING "@PACKAGE_VERSION@")