@@ -641,11 +641,31 @@ if(BUILD_INLINE_HEADERS)
641
641
642
642
#
643
643
644
- add_custom_target (${TARGET_INLINE_HEADERS} ALL
644
+ add_custom_target (${TARGET_INLINE_HEADERS} _util ALL
645
645
DEPENDS
646
646
${INLINE_HEADER_FILES_GENERATED}
647
647
)
648
- install (FILES ${INLINE_HEADER_FILES_GENERATED} DESTINATION include )
648
+
649
+ add_library ("${TARGET_INLINE_HEADERS} " INTERFACE )
650
+ add_dependencies ("${TARGET_INLINE_HEADERS} " "${TARGET_INLINE_HEADERS} _util" )
651
+ target_include_directories (
652
+ "${TARGET_INLINE_HEADERS} "
653
+ INTERFACE
654
+ "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR} /include>"
655
+ )
656
+
657
+ # CMake 3.4 can't have PUBLIC_HEADER property on INTERFACE libraries
658
+ install (
659
+ FILES ${INLINE_HEADER_FILES_GENERATED}
660
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
661
+ COMPONENT sleef_Development
662
+ )
663
+
664
+ install (
665
+ TARGETS "${TARGET_INLINE_HEADERS} "
666
+ EXPORT sleefTargets
667
+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
668
+ )
649
669
endif (SED_COMMAND)
650
670
endif (BUILD_INLINE_HEADERS)
651
671
@@ -966,7 +986,11 @@ if(CLANG_EXE_PATH AND SLEEF_ENABLE_LLVM_BITCODE)
966
986
)
967
987
add_dependencies (${TARGET_LLVM_BITCODE} ${TARGET_HEADERS} )
968
988
969
- install (FILES ${LLVM_BITCODE_OUTPUTS} DESTINATION "${CMAKE_INSTALL_LIBDIR} " )
989
+ install (
990
+ FILES ${LLVM_BITCODE_OUTPUTS}
991
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
992
+ COMPONENT sleef_Development
993
+ )
970
994
endif ()
971
995
972
996
# --------------------------------------------------------------------
@@ -992,31 +1016,88 @@ if(COMPILER_SUPPORTS_BUILTIN_MATH)
992
1016
endif ()
993
1017
994
1018
if (BUILD_SCALAR_LIB)
995
- install (TARGETS sleefscalar
996
- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
997
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
998
- RUNTIME DESTINATION bin
999
- )
1019
+ install (
1020
+ TARGETS sleefscalar
1021
+ EXPORT sleefTargets
1022
+ LIBRARY #
1023
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1024
+ COMPONENT sleef_Runtime
1025
+ NAMELINK_SKIP
1026
+ ARCHIVE #
1027
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1028
+ COMPONENT sleef_Development
1029
+ RUNTIME #
1030
+ DESTINATION "${CMAKE_INSTALL_BINDIR} "
1031
+ COMPONENT sleef_Runtime
1032
+ )
1033
+
1034
+ install (
1035
+ TARGETS sleefscalar
1036
+ LIBRARY #
1037
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1038
+ COMPONENT sleef_Development
1039
+ NAMELINK_ONLY
1040
+ )
1000
1041
endif ()
1001
1042
1002
1043
# --------------------------------------------------------------------
1003
1044
# Install
1004
1045
# --------------------------------------------------------------------
1005
1046
# Install libsleef and sleef.h
1006
- install (TARGETS ${TARGET_LIBSLEEF}
1007
- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
1008
- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1009
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1010
- RUNTIME DESTINATION bin
1047
+ install (
1048
+ TARGETS ${TARGET_LIBSLEEF}
1049
+ EXPORT sleefTargets
1050
+ PUBLIC_HEADER #
1051
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
1052
+ COMPONENT sleef_Development
1053
+ LIBRARY #
1054
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1055
+ COMPONENT sleef_Runtime
1056
+ NAMELINK_SKIP
1057
+ ARCHIVE #
1058
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1059
+ COMPONENT sleef_Development
1060
+ RUNTIME #
1061
+ DESTINATION "${CMAKE_INSTALL_BINDIR} "
1062
+ COMPONENT sleef_Runtime
1063
+ INCLUDES #
1064
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
1065
+ )
1066
+ install (
1067
+ TARGETS ${TARGET_LIBSLEEF}
1068
+ LIBRARY #
1069
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1070
+ COMPONENT sleef_Development
1071
+ NAMELINK_ONLY
1011
1072
)
1012
1073
configure_file ("sleef.pc.in" "${CMAKE_CURRENT_BINARY_DIR} /sleef.pc" @ONLY)
1013
- install (FILES "${CMAKE_CURRENT_BINARY_DIR} /sleef.pc"
1014
- DESTINATION "${CMAKE_INSTALL_LIBDIR} /pkgconfig" )
1074
+ install (
1075
+ FILES "${CMAKE_CURRENT_BINARY_DIR} /sleef.pc"
1076
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} /pkgconfig"
1077
+ COMPONENT sleef_Development
1078
+ )
1015
1079
1016
1080
if (ENABLE_GNUABI)
1017
- install (TARGETS ${TARGET_LIBSLEEFGNUABI}
1018
- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1019
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1020
- RUNTIME DESTINATION bin
1021
- )
1081
+ install (
1082
+ TARGETS ${TARGET_LIBSLEEFGNUABI}
1083
+ EXPORT sleefTargets
1084
+ LIBRARY #
1085
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1086
+ COMPONENT sleef_Runtime
1087
+ NAMELINK_SKIP
1088
+ ARCHIVE #
1089
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1090
+ COMPONENT sleef_Development
1091
+ RUNTIME #
1092
+ DESTINATION "${CMAKE_INSTALL_BINDIR} "
1093
+ COMPONENT sleef_Runtime
1094
+ )
1095
+
1096
+ install (
1097
+ TARGETS ${TARGET_LIBSLEEF}
1098
+ LIBRARY #
1099
+ DESTINATION "${CMAKE_INSTALL_LIBDIR} "
1100
+ COMPONENT sleef_Development
1101
+ NAMELINK_ONLY
1102
+ )
1022
1103
endif ()
0 commit comments