Skip to content

Commit 3cbee85

Browse files
committed
Use GNUInstallDirs standards
1 parent c9af4e2 commit 3cbee85

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

zproject_cmake.gsl

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ enable_language(C)
2828
.endif
2929
enable_testing()
3030

31+
include(GNUInstallDirs)
32+
3133
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
3234
# Select flags
3335
if(MSVC)
@@ -270,7 +272,7 @@ ENDIF (ENABLE_DRAFTS)
270272
. endif
271273

272274
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})
274276

275277
.if count (project.class)
276278
########################################################################
@@ -364,15 +366,12 @@ if ($(PROJECT.PREFIX)_BUILD_SHARED)
364366

365367
install(TARGETS $(project.linkname)
366368
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
370369
)
371370

372371
target_include_directories($(project.linkname)
373372
PUBLIC
374373
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
375-
$<INSTALL_INTERFACE:include>
374+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
376375
)
377376
endif()
378377

@@ -401,15 +400,12 @@ if ($(PROJECT.PREFIX)_BUILD_STATIC)
401400

402401
install(TARGETS $(project.linkname)-static
403402
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
407403
)
408404

409405
target_include_directories($(project.linkname)-static
410406
PUBLIC
411407
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
412-
$<INSTALL_INTERFACE:include>
408+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
413409
)
414410
target_compile_definitions($(project.linkname)-static
415411
PUBLIC $(PROJECT.PREFIX)_STATIC
@@ -428,8 +424,8 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/src/CMakeLists-local.txt) # Optional project
428424
set (VERSION "$(->version.major).$(->version.minor).$(->version.patch)")
429425
set (prefix "${CMAKE_INSTALL_PREFIX}")
430426
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}")
433429
IF (ENABLE_DRAFTS)
434430
set (pkg_config_defines "-D$(PROJECT.PREFIX)_BUILD_DRAFT_API=1")
435431
ELSE (ENABLE_DRAFTS)
@@ -442,7 +438,7 @@ configure_file(
442438

443439
install(
444440
FILES "${PROJECT_SOURCE_DIR}/src/$(project.libname).pc"
445-
DESTINATION "lib${LIB_SUFFIX}/pkgconfig"
441+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
446442
)
447443

448444
########################################################################
@@ -452,8 +448,7 @@ include(CMakePackageConfigHelpers)
452448
if (WIN32)
453449
set(CMAKECONFIG_INSTALL_DIR "CMake" CACHE STRING "install path for $(project.linkname)Config.cmake")
454450
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")
457452
endif()
458453

459454
if (NOT CMAKE_VERSION VERSION_LESS 3.0)
@@ -516,9 +511,7 @@ target_link_libraries(
516511
)
517512
endif()
518513
. if main.scope = "public"
519-
install(TARGETS $(main.name)
520-
RUNTIME DESTINATION bin
521-
)
514+
install(TARGETS $(main.name))
522515
. endif
523516
.endfor
524517

0 commit comments

Comments
 (0)