project(ipc) aux_source_directory(${LIBIPC_PROJECT_DIR}/src/libipc SRC_FILES) file(GLOB HEAD_FILES ${LIBIPC_PROJECT_DIR}/include/libipc/*.h) if (LIBIPC_BUILD_SHARED_LIBS) add_library(${PROJECT_NAME} SHARED ${SRC_FILES} ${HEAD_FILES}) target_compile_definitions(${PROJECT_NAME} INTERFACE LIBIPC_LIBRARY_SHARED_USING__ PRIVATE LIBIPC_LIBRARY_SHARED_BUILDING__) else() add_library(${PROJECT_NAME} STATIC ${SRC_FILES} ${HEAD_FILES}) endif() # set output directory set_target_properties(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") # set version set_target_properties(${PROJECT_NAME} PROPERTIES VERSION 2.0.0 SOVERSION 4) target_include_directories(${PROJECT_NAME} PUBLIC ${LIBIPC_PROJECT_DIR}/include PRIVATE ${LIBIPC_PROJECT_DIR}/src) if(NOT MSVC) target_link_libraries(${PROJECT_NAME} PUBLIC $<$>:pthread> $<$,$>>:rt>) endif() install( TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)