1set(CMAKE_BUILD_WITH_INSTALL_RPATH 1)
2
3# Some compilers do not add build id to binaries by default.
4if(CMAKE_CXX_COMPILER_ID MATCHES "^(IntelLLVM|PGI|NVHPC)$")
5  string(APPEND CMAKE_EXE_LINKER_FLAGS "-Wl,--build-id")
6  string(APPEND CMAKE_SHARED_LINKER_FLAGS "-Wl,--build-id")
7endif()
8
9set(CMAKE_BUILD_TYPE Debug)
10
11# for rpm packages execute flag must be set for shared libs if debuginfo
12# packages are generated
13set(CPACK_RPM_INSTALL_WITH_EXEC TRUE)
14
15file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test_lib.hpp"
16    "int test_lib();\n")
17file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test_lib.cpp"
18    "#include \"test_lib.hpp\"\nint test_lib() {return 0;}\n")
19add_library(test_lib SHARED "${CMAKE_CURRENT_BINARY_DIR}/test_lib.cpp")
20
21file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
22    "#include \"test_lib.hpp\"\nint main() {return test_lib();}\n")
23add_executable(test_prog "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
24target_link_libraries(test_prog test_lib)
25
26install(FILES "${CMAKE_CURRENT_BINARY_DIR}/test_lib.hpp" DESTINATION include COMPONENT appheaders)
27install(TARGETS test_prog DESTINATION foo COMPONENT applications)
28install(FILES CMakeLists.txt DESTINATION bar COMPONENT headers)
29install(TARGETS test_lib DESTINATION bas COMPONENT libs)
30
31set(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON)
32
33set(CPACK_RPM_APPLICATIONS_FILE_NAME "RPM-DEFAULT")
34set(CPACK_RPM_APPLICATIONS_DEBUGINFO_PACKAGE ON)
35set(CPACK_DEBIAN_APPLICATIONS_FILE_NAME "DEB-DEFAULT")
36set(CPACK_DEBIAN_APPLICATIONS_DEBUGINFO_PACKAGE ON)
37
38# test that components with debuginfo enabled still honor
39# CPACK_PACKAGE_FILE_NAME setting
40set(CPACK_RPM_PACKAGE_NAME "Debuginfo")
41set(CPACK_PACKAGE_FILE_NAME "TestDinfo-pkg")
42set(CPACK_RPM_LIBS_DEBUGINFO_PACKAGE ON)
43set(CPACK_DEBIAN_PACKAGE_NAME "Debuginfo")
44set(CPACK_DEBIAN_LIBS_DEBUGINFO_PACKAGE ON)
45
46# Test that a component with debug info requested but without any debug info produces none
47set(CPACK_RPM_APPHEADERS_DEBUGINFO_PACKAGE ON)
48set(CPACK_DEBIAN_APPHEADERS_DEBUGINFO_PACKAGE ON)
49
50# test debuginfo package rename
51set(CPACK_RPM_DEBUGINFO_FILE_NAME
52  "@cpack_component@-DebugInfoPackage.rpm")
53set(CPACK_RPM_APPLICATIONS_DEBUGINFO_FILE_NAME "RPM-DEFAULT")
54
55set(CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX "/src")
56