diff --git a/3rdparty/everest/CMakeLists.txt b/3rdparty/everest/CMakeLists.txt index ff9da7af7..4ad367e17 100644 --- a/3rdparty/everest/CMakeLists.txt +++ b/3rdparty/everest/CMakeLists.txt @@ -23,5 +23,5 @@ endif(INSTALL_MBEDTLS_HEADERS) install(TARGETS everest EXPORT MbedTLSTargets - DESTINATION ${LIB_INSTALL_DIR} + DESTINATION ${CMAKE_INSTALL_LIBDIR} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9006c2da3..b97368fbb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,8 @@ else() project("mbed TLS" C) endif() +include(GNUInstallDirs) + # Determine if mbed TLS is being built as a subproject using add_subdirectory() if(NOT DEFINED MBEDTLS_AS_SUBPROJECT) set(MBEDTLS_AS_SUBPROJECT ON) @@ -252,8 +254,7 @@ if(CMAKE_BUILD_TYPE STREQUAL "Coverage") endif(CMAKE_BUILD_TYPE STREQUAL "Coverage") if(LIB_INSTALL_DIR) -else() - set(LIB_INSTALL_DIR lib) + set(CMAKE_INSTALL_LIBDIR "${LIB_INSTALL_DIR}") endif() add_subdirectory(include) diff --git a/ChangeLog.d/cmake_fix_dll_install.txt b/ChangeLog.d/cmake_fix_dll_install.txt new file mode 100644 index 000000000..df51c650b --- /dev/null +++ b/ChangeLog.d/cmake_fix_dll_install.txt @@ -0,0 +1,3 @@ +Changes + * cmake: Fix runtime library install location in mingw + This install DLLs in bin directory instead of lib. diff --git a/ChangeLog.d/cmake_use_GnuInstallDirs.txt b/ChangeLog.d/cmake_use_GnuInstallDirs.txt new file mode 100644 index 000000000..d8487555d --- /dev/null +++ b/ChangeLog.d/cmake_use_GnuInstallDirs.txt @@ -0,0 +1,5 @@ +Changes + * cmake: Use GnuInstallDirs to customize install directories + Replace custom LIB_INSTALL_DIR variable with standard CMAKE_INSTALL_LIBDIR + variable. For backward compatibility, set CMAKE_INSTALL_LIBDIR if + LIB_INSTALL_DIR is set. diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index 6bb2ad38c..a726e11ff 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -291,7 +291,9 @@ foreach(target IN LISTS target_libraries) install( TARGETS ${target} EXPORT MbedTLSTargets - DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) endforeach(target)