diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a14fcb470..53ef6eebf5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -241,6 +241,8 @@ if (CMAKE_VERSION VERSION_LESS "3.14") OCCT_CHECK_AND_UNSET (BUILD_INCLUDE_SYMLINK) endif() +include(GNUInstallDirs) + # install dir of the project if (NOT DEFINED INSTALL_DIR) # set default install directory for Windows @@ -846,7 +848,7 @@ OCCT_MAKE_COMPILER_SHORT_NAME() # Leave library structure for win: /win64/vc10/bin(d) if (NOT DEFINED INSTALL_DIR_BIN) if (LAYOUT_IS_UNIX OR LAYOUT_IS_VCPKG) - set (INSTALL_DIR_BIN "bin" CACHE PATH "${INSTALL_DIR_BIN_DESCR}") + set (INSTALL_DIR_BIN "${CMAKE_INSTALL_BINDIR}" CACHE PATH "${INSTALL_DIR_BIN_DESCR}") else() set (INSTALL_DIR_BIN "${OS_WITH_BIT}/${COMPILER}/bin" CACHE PATH "${INSTALL_DIR_BIN_DESCR}") endif() @@ -864,22 +866,22 @@ if (NOT DEFINED INSTALL_DIR_SCRIPT) endif() endif() -# place the libraries to /lib folder for unix and leave old structure for windows +# place the libraries to /CMAKE_INSTALL_LIBDIR folder for unix and leave old structure for windows if (NOT DEFINED INSTALL_DIR_LIB) if (LAYOUT_IS_UNIX OR LAYOUT_IS_VCPKG) - set (INSTALL_DIR_LIB "lib" CACHE PATH "${INSTALL_DIR_LIB_DESCR}") + set (INSTALL_DIR_LIB "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "${INSTALL_DIR_LIB_DESCR}") else() set (INSTALL_DIR_LIB "${OS_WITH_BIT}/${COMPILER}/lib" CACHE PATH "${INSTALL_DIR_LIB_DESCR}") endif() endif() # OCCT headers: /inc for windows, -# /include/opencascade-7.0.0 for unix +# /CMAKE_INSTALL_INCLUDEDIR/opencascade-7.0.0 for unix if (NOT DEFINED INSTALL_DIR_INCLUDE) if (LAYOUT_IS_UNIX) - set (INSTALL_DIR_INCLUDE "include/opencascade" CACHE PATH "${INSTALL_DIR_INCLUDE_DESCR}") + set (INSTALL_DIR_INCLUDE "${CMAKE_INSTALL_INCLUDEDIR}/opencascade" CACHE PATH "${INSTALL_DIR_INCLUDE_DESCR}") if (INSTALL_DIR_WITH_VERSION) - set (INSTALL_DIR_INCLUDE "include/opencascade-${OCC_VERSION_STRING_EXT}" CACHE PATH "${INSTALL_DIR_INCLUDE_DESCR}" FORCE) + set (INSTALL_DIR_INCLUDE "${CMAKE_INSTALL_INCLUDEDIR}/opencascade-${OCC_VERSION_STRING_EXT}" CACHE PATH "${INSTALL_DIR_INCLUDE_DESCR}" FORCE) endif() elseif (LAYOUT_IS_VCPKG) set (INSTALL_DIR_INCLUDE "include" CACHE PATH "${INSTALL_DIR_INCLUDE_DESCR}") @@ -889,12 +891,12 @@ if (NOT DEFINED INSTALL_DIR_INCLUDE) endif() # OCCT resources: /src for windows, -# /share/opencascade-7.0.0/resources for unix +# /CMAKE_INSTALL_DATADIR/opencascade-7.0.0/resources for unix if (NOT DEFINED INSTALL_DIR_RESOURCE) if (LAYOUT_IS_UNIX) - set (INSTALL_DIR_RESOURCE "share/opencascade/resources" CACHE PATH "${INSTALL_DIR_RESOURCE_DESCR}") + set (INSTALL_DIR_RESOURCE "${CMAKE_INSTALL_DATADIR}/opencascade/resources" CACHE PATH "${INSTALL_DIR_RESOURCE_DESCR}") if (INSTALL_DIR_WITH_VERSION) - set (INSTALL_DIR_RESOURCE "share/opencascade-${OCC_VERSION_STRING_EXT}/resources" CACHE PATH "${INSTALL_DIR_RESOURCE_DESCR}" FORCE) + set (INSTALL_DIR_RESOURCE "${CMAKE_INSTALL_DATADIR}/opencascade-${OCC_VERSION_STRING_EXT}/resources" CACHE PATH "${INSTALL_DIR_RESOURCE_DESCR}" FORCE) endif() elseif (LAYOUT_IS_VCPKG) set (INSTALL_DIR_RESOURCE "share/${OCCT_PROJECT_NAME}" CACHE PATH "${INSTALL_DIR_RESOURCE_DESCR}") @@ -906,9 +908,9 @@ endif() # OCCT data if (NOT DEFINED INSTALL_DIR_DATA) if (LAYOUT_IS_UNIX) - set (INSTALL_DIR_DATA "share/opencascade/data" CACHE PATH "${INSTALL_DIR_DATA_DESCR}") + set (INSTALL_DIR_DATA "${CMAKE_INSTALL_DATADIR}/opencascade/data" CACHE PATH "${INSTALL_DIR_DATA_DESCR}") if (INSTALL_DIR_WITH_VERSION) - set (INSTALL_DIR_DATA "share/opencascade-${OCC_VERSION_STRING_EXT}/data" CACHE PATH "${INSTALL_DIR_DATA_DESCR}" FORCE) + set (INSTALL_DIR_DATA "${CMAKE_INSTALL_DATADIR}/opencascade-${OCC_VERSION_STRING_EXT}/data" CACHE PATH "${INSTALL_DIR_DATA_DESCR}" FORCE) endif() elseif (LAYOUT_IS_VCPKG) set (INSTALL_DIR_DATA "share/${OCCT_PROJECT_NAME}" CACHE PATH "${INSTALL_DIR_DATA_DESCR}") @@ -920,9 +922,9 @@ endif() # OCCT tests if (NOT DEFINED INSTALL_DIR_TESTS) if (LAYOUT_IS_UNIX) - set (INSTALL_DIR_TESTS "share/opencascade/tests" CACHE PATH "${INSTALL_DIR_TESTS_DESCR}") + set (INSTALL_DIR_TESTS "${CMAKE_INSTALL_DATADIR}/opencascade/tests" CACHE PATH "${INSTALL_DIR_TESTS_DESCR}") if (INSTALL_DIR_WITH_VERSION) - set (INSTALL_DIR_TESTS "share/opencascade-${OCC_VERSION_STRING_EXT}/tests" CACHE PATH "${INSTALL_DIR_TESTS_DESCR}" FORCE) + set (INSTALL_DIR_TESTS "${CMAKE_INSTALL_DATADIR}/opencascade-${OCC_VERSION_STRING_EXT}/tests" CACHE PATH "${INSTALL_DIR_TESTS_DESCR}" FORCE) endif() elseif (LAYOUT_IS_VCPKG) set (INSTALL_DIR_TESTS "share/${OCCT_PROJECT_NAME}/tests" CACHE PATH "${INSTALL_DIR_TESTS_DESCR}") @@ -934,9 +936,9 @@ endif() # OCCT doc if (NOT DEFINED INSTALL_DIR_DOC) if (LAYOUT_IS_UNIX) - set (INSTALL_DIR_DOC "share/doc/opencascade" CACHE PATH "${INSTALL_DIR_DOC_DESCR}") + set (INSTALL_DIR_DOC "${CMAKE_INSTALL_DATADIR}/doc/opencascade" CACHE PATH "${INSTALL_DIR_DOC_DESCR}") if (INSTALL_DIR_WITH_VERSION) - set (INSTALL_DIR_DOC "share/doc/opencascade-${OCC_VERSION_STRING_EXT}" CACHE PATH "${INSTALL_DIR_DOC_DESCR}" FORCE) + set (INSTALL_DIR_DOC "${CMAKE_INSTALL_DATADIR}/doc/opencascade-${OCC_VERSION_STRING_EXT}" CACHE PATH "${INSTALL_DIR_DOC_DESCR}" FORCE) endif() elseif (LAYOUT_IS_VCPKG) set (INSTALL_DIR_DOC "share/${OCCT_PROJECT_NAME}/doc" CACHE PATH "${INSTALL_DIR_DOC_DESCR}") @@ -949,9 +951,9 @@ endif() if (NOT DEFINED INSTALL_DIR_CMAKE) if (LAYOUT_IS_UNIX) if (INSTALL_DIR_WITH_VERSION) - set (INSTALL_DIR_CMAKE "lib/cmake/opencascade-${OCC_VERSION_STRING_EXT}" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}") + set (INSTALL_DIR_CMAKE "${CMAKE_INSTALL_LIBDIR}/cmake/opencascade-${OCC_VERSION_STRING_EXT}" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}") else() - set (INSTALL_DIR_CMAKE "lib/cmake/opencascade" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}") + set (INSTALL_DIR_CMAKE "${CMAKE_INSTALL_LIBDIR}/cmake/opencascade" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}") endif() elseif (LAYOUT_IS_VCPKG) set (INSTALL_DIR_CMAKE "share/${OCCT_PROJECT_NAME}" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}")