@@ -28,6 +28,8 @@ enable_language(C)
28
28
.endif
29
29
enable_testing()
30
30
31
+ include(GNUInstallDirs)
32
+
31
33
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
32
34
# Select flags
33
35
if(MSVC)
@@ -270,7 +272,7 @@ ENDIF (ENABLE_DRAFTS)
270
272
. endif
271
273
272
274
source_group ("Header Files" FILES ${$(project.prefix)_headers})
273
- install(FILES ${$(project.prefix)_headers} DESTINATION include )
275
+ install(FILES ${$(project.prefix)_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
274
276
275
277
.if count (project.class)
276
278
########################################################################
@@ -364,15 +366,12 @@ if ($(PROJECT.PREFIX)_BUILD_SHARED)
364
366
365
367
install(TARGETS $(project.linkname)
366
368
EXPORT $(project.linkname)-targets
367
- LIBRARY DESTINATION "lib${LIB_SUFFIX}" # .so file
368
- ARCHIVE DESTINATION "lib${LIB_SUFFIX}" # .lib file
369
- RUNTIME DESTINATION bin # .dll file
370
369
)
371
370
372
371
target_include_directories($(project.linkname)
373
372
PUBLIC
374
373
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
375
- $<INSTALL_INTERFACE:include >
374
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} >
376
375
)
377
376
endif()
378
377
@@ -401,15 +400,12 @@ if ($(PROJECT.PREFIX)_BUILD_STATIC)
401
400
402
401
install(TARGETS $(project.linkname)-static
403
402
EXPORT $(project.linkname)-targets
404
- LIBRARY DESTINATION "lib${LIB_SUFFIX}" # .so file
405
- ARCHIVE DESTINATION "lib${LIB_SUFFIX}" # .lib file
406
- RUNTIME DESTINATION bin # .dll file
407
403
)
408
404
409
405
target_include_directories($(project.linkname)-static
410
406
PUBLIC
411
407
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
412
- $<INSTALL_INTERFACE:include >
408
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} >
413
409
)
414
410
target_compile_definitions($(project.linkname)-static
415
411
PUBLIC $(PROJECT.PREFIX)_STATIC
@@ -428,8 +424,8 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/src/CMakeLists-local.txt) # Optional project
428
424
set (VERSION "$(->version.major).$(->version.minor).$(->version.patch)")
429
425
set (prefix "${CMAKE_INSTALL_PREFIX}")
430
426
set (exec_prefix "\\${prefix}")
431
- set (libdir "\\${prefix}/lib${LIB_SUFFIX }")
432
- set (includedir "\\${prefix}/include ")
427
+ set (libdir "\\${prefix}/${CMAKE_INSTALL_LIBDIR }")
428
+ set (includedir "\\${prefix}/${CMAKE_INSTALL_INCLUDEDIR} ")
433
429
IF (ENABLE_DRAFTS)
434
430
set (pkg_config_defines "-D$(PROJECT.PREFIX)_BUILD_DRAFT_API=1")
435
431
ELSE (ENABLE_DRAFTS)
@@ -442,7 +438,7 @@ configure_file(
442
438
443
439
install(
444
440
FILES "${PROJECT_SOURCE_DIR}/src/$(project.libname).pc"
445
- DESTINATION "lib${LIB_SUFFIX }/pkgconfig"
441
+ DESTINATION "${CMAKE_INSTALL_LIBDIR }/pkgconfig"
446
442
)
447
443
448
444
########################################################################
@@ -452,8 +448,7 @@ include(CMakePackageConfigHelpers)
452
448
if (WIN32)
453
449
set(CMAKECONFIG_INSTALL_DIR "CMake" CACHE STRING "install path for $(project.linkname)Config.cmake")
454
450
else()
455
- # GNUInstallDirs "DATADIR" wrong here; CMake search path wants "share".
456
- set(CMAKECONFIG_INSTALL_DIR "share/cmake/$(project.linkname)" CACHE STRING "install path for $(project.linkname)Config.cmake")
451
+ set(CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/$(project.linkname)" CACHE STRING "install path for $(project.linkname)Config.cmake")
457
452
endif()
458
453
459
454
if (NOT CMAKE_VERSION VERSION_LESS 3.0)
@@ -516,9 +511,7 @@ target_link_libraries(
516
511
)
517
512
endif()
518
513
. if main.scope = "public"
519
- install(TARGETS $(main.name)
520
- RUNTIME DESTINATION bin
521
- )
514
+ install(TARGETS $(main.name))
522
515
. endif
523
516
.endfor
524
517
0 commit comments