Warning, /kdevelop/kdevelop/kdevplatform/cmake/modules/KDevPlatformMacrosInternal.cmake is written in an unsupported language. File is not indexed.

0001 #
0002 # KDevelop Platform Private Macros
0003 #
0004 # The following macros are defined here:
0005 #
0006 #  KDEVPLATFORM_ADD_LIBRARY( <targetname> SOURCES <src1> [<src2> [...]] )
0007 #    Use this to add libraries part of the KDevPlatform
0008 #
0009 # SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>
0010 #
0011 # SPDX-License-Identifier: BSD-3-Clause
0012 
0013 include(CMakeParseArguments)
0014 
0015 function(kdevplatform_add_library target)
0016     set(options)
0017     set(oneValueArgs)
0018     set(multiValueArgs SOURCES)
0019     cmake_parse_arguments(KDEV_ADD_LIBRARY "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
0020 
0021     string(REPLACE "KDevPlatform" "" shortTargetName ${target})
0022     if (${shortTargetName} STREQUAL ${target})
0023         message(FATAL_ERROR "Target passed to kdevplatform_add_library needs to start with \"KDevPlatform\", was \"${target}\"")
0024     endif()
0025 
0026     string(TOLOWER ${shortTargetName} shortTargetNameToLower)
0027 
0028     add_library(${target} ${KDEV_ADD_LIBRARY_SOURCES})
0029     add_library(KDev::${shortTargetName} ALIAS ${target})
0030 
0031     generate_export_header(${target} EXPORT_FILE_NAME ${shortTargetNameToLower}export.h)
0032 
0033     target_include_directories(${target}
0034             INTERFACE   "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/kdevplatform>"
0035                         "$<BUILD_INTERFACE:${KDevPlatform_SOURCE_DIR}>" "$<BUILD_INTERFACE:${KDevPlatform_BINARY_DIR}>"
0036                         "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>" # useful for the "something.export.h" includes
0037     )
0038     set_target_properties(${target} PROPERTIES
0039         VERSION ${KDEVPLATFORM_VERSION}
0040         SOVERSION ${KDEVPLATFORM_SOVERSION}
0041         EXPORT_NAME ${shortTargetName}
0042     )
0043 
0044     install(TARGETS ${target} EXPORT KDevPlatformTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0045     install(FILES
0046         ${CMAKE_CURRENT_BINARY_DIR}/${shortTargetNameToLower}export.h
0047         DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kdevplatform/${shortTargetNameToLower} COMPONENT Devel)
0048 endfunction()