cmake_minimum_required(VERSION 2.8.10) project(project1 CXX C) # create a Config.cmake and a ConfigVersion.cmake file and install them set(CMAKECONFIG_INSTALL_PREFIX "lib/cmake") set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/project1") set(INCLUDE_INSTALL_DIR "inc") include(CMakePackageConfigHelpers) configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/project1Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/project1Config.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} PATH_VARS INCLUDE_INSTALL_DIR CMAKE_INSTALL_PREFIX ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/project1Config.cmake" DESTINATION "${CMAKECONFIG_INSTALL_DIR}" COMPONENT Devel ) install(EXPORT project1Targets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE project1Targets.cmake NAMESPACE TEST:: ) project(project1) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../) add_library(project1 SHARED project1.cpp) set_target_properties(project1 PROPERTIES VERSION "0.0.1" SOVERSION "0.0") install(TARGETS project1 EXPORT project1Targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib/i386-linux-gnu ARCHIVE DESTINATION lib/i386-linux-gnu COMPONENT Devel) install(FILES project1.h DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel )