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()