Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 19 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -846,7 +848,7 @@ OCCT_MAKE_COMPILER_SHORT_NAME()
# Leave library structure for win: <prefix>/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()
Expand All @@ -864,22 +866,22 @@ if (NOT DEFINED INSTALL_DIR_SCRIPT)
endif()
endif()

# place the libraries to <prefix>/lib folder for unix and leave old structure for windows
# place the libraries to <prefix>/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: <prefix>/inc for windows,
# <prefix>/include/opencascade-7.0.0 for unix
# <prefix>/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}")
Expand All @@ -889,12 +891,12 @@ if (NOT DEFINED INSTALL_DIR_INCLUDE)
endif()

# OCCT resources: <prefix>/src for windows,
# <prefix>/share/opencascade-7.0.0/resources for unix
# <prefix>/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}")
Expand All @@ -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}")
Expand All @@ -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}")
Expand All @@ -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}")
Expand All @@ -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}")
Expand Down
Loading