@@ -340,12 +340,17 @@ endif()
340
340
341
341
# Installation (https://github.com/forexample/package-example)
342
342
343
+ # Introduce variables:
344
+ # * CMAKE_INSTALL_LIBDIR
345
+ # * CMAKE_INSTALL_BINDIR
346
+ # * CMAKE_INSTALL_INCLUDEDIR
347
+ include (GNUInstallDirs)
348
+
343
349
# Layout. This works for all platforms:
344
- # * <prefix>/lib/cmake/<PROJECT-NAME>
345
- # * <prefix>/lib/
350
+ # * <prefix>/lib* /cmake/<PROJECT-NAME>
351
+ # * <prefix>/lib* /
346
352
# * <prefix>/include/
347
- set (config_install_dir "lib/cmake/${PROJECT_NAME} " )
348
- set (include_install_dir "include" )
353
+ set (config_install_dir "${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} " )
349
354
350
355
set (generated_dir "${CMAKE_CURRENT_BINARY_DIR} /generated" )
351
356
@@ -376,42 +381,42 @@ configure_package_config_file(
376
381
)
377
382
378
383
# Targets:
379
- # * <prefix>/lib/libjaegertracing.a
380
- # * <prefix>/lib/libjaegertracing.so
384
+ # * <prefix>/lib* /libjaegertracing.a
385
+ # * <prefix>/lib* /libjaegertracing.so
381
386
# * header location after install: <prefix>/include/jaegertracing/Tracer.h
382
387
# * headers can be included by C++ code `#include <jaegertracing/Tracer.h>`
383
388
install (
384
389
TARGETS ${JAEGERTRACING_LIBS}
385
390
EXPORT "${TARGETS_EXPORT_NAME} "
386
- LIBRARY DESTINATION "lib "
387
- ARCHIVE DESTINATION "lib "
388
- RUNTIME DESTINATION "bin "
389
- INCLUDES DESTINATION "${include_install_dir } "
391
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
392
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
393
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} "
394
+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR } "
390
395
)
391
396
392
397
# Headers:
393
398
# * src/jaegertracing/Tracer.h -> <prefix>/include/jaegertracing/Tracer.h
394
399
install (DIRECTORY "src/jaegertracing"
395
- DESTINATION "${include_install_dir } "
400
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR } "
396
401
FILES_MATCHING
397
402
PATTERN "*.h"
398
403
PATTERN "testutils/*.h" EXCLUDE )
399
404
400
405
# * build/src/jaegertracing/Constants.h ->
401
406
# <prefix>/include/jaegertracing/Constants.h
402
407
install (FILES "${CMAKE_CURRENT_BINARY_DIR} /src/jaegertracing/Constants.h"
403
- DESTINATION "${include_install_dir } /jaegertracing" )
408
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR } /jaegertracing" )
404
409
405
410
# Config
406
- # * <prefix>/lib/cmake/jaegertracing/jaegertracingConfig.cmake
407
- # * <prefix>/lib/cmake/jaegertracing/jaegertracingConfigVersion.cmake
411
+ # * <prefix>/lib* /cmake/jaegertracing/jaegertracingConfig.cmake
412
+ # * <prefix>/lib* /cmake/jaegertracing/jaegertracingConfigVersion.cmake
408
413
install (
409
414
FILES "${project_config} " "${version_config} "
410
415
DESTINATION "${config_install_dir} "
411
416
)
412
417
413
418
# Config
414
- # * <prefix>/lib/cmake/jaegertracing/jaegertracingTargets.cmake
419
+ # * <prefix>/lib* /cmake/jaegertracing/jaegertracingTargets.cmake
415
420
install (
416
421
EXPORT "${TARGETS_EXPORT_NAME} "
417
422
NAMESPACE "${namespace} "
0 commit comments