mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-29 03:37:21 +00:00
Add GMP MPFR and CGAL include/libs to cmake and build script
This commit is contained in:
+61
-4
@@ -88,6 +88,12 @@ UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_INCLUDE_DIR)
|
|||||||
UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_LIBRARY_DIR)
|
UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_LIBRARY_DIR)
|
||||||
UNIFY_ENVVARS_AND_CACHE(PCRE_LIBRARY_DIR)
|
UNIFY_ENVVARS_AND_CACHE(PCRE_LIBRARY_DIR)
|
||||||
UNIFY_ENVVARS_AND_CACHE(PYTHON_EXECUTABLE)
|
UNIFY_ENVVARS_AND_CACHE(PYTHON_EXECUTABLE)
|
||||||
|
UNIFY_ENVVARS_AND_CACHE(CGAL_INCLUDE_DIR)
|
||||||
|
UNIFY_ENVVARS_AND_CACHE(CGAL_LIBRARY_DIR)
|
||||||
|
UNIFY_ENVVARS_AND_CACHE(GMP_INCLUDE_DIR)
|
||||||
|
UNIFY_ENVVARS_AND_CACHE(GMP_LIBRARY_DIR)
|
||||||
|
UNIFY_ENVVARS_AND_CACHE(MPFR_INCLUDE_DIR)
|
||||||
|
UNIFY_ENVVARS_AND_CACHE(MPFR_LIBRARY_DIR)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
UNIFY_ENVVARS_AND_CACHE(THREEDS_MAX_SDK_HOME)
|
UNIFY_ENVVARS_AND_CACHE(THREEDS_MAX_SDK_HOME)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
@@ -193,6 +199,48 @@ foreach(lib ${OPENCASCADE_LIBRARY_NAMES})
|
|||||||
list(APPEND OPENCASCADE_LIBRARIES "${lib_path}")
|
list(APPEND OPENCASCADE_LIBRARIES "${lib_path}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
SET(CGAL_LIBRARY_NAMES libCGAL_Core libCGAL_ImageIO libCGAL)
|
||||||
|
# Find CGAL
|
||||||
|
IF("${CGAL_INCLUDE_DIR}" STREQUAL "")
|
||||||
|
SET(CGAL_INCLUDE_DIR "/usr/include/" CACHE FILEPATH "CGAL header files")
|
||||||
|
MESSAGE(STATUS "Looking for CGAL include files in: ${CGAL_INCLUDE_DIR}")
|
||||||
|
MESSAGE(STATUS "Use CGAL_INCLUDE_DIR to specify another directory")
|
||||||
|
ELSE()
|
||||||
|
SET(CGAL_INCLUDE_DIR ${CGAL_INCLUDE_DIR} CACHE FILEPATH "CGAL header files")
|
||||||
|
MESSAGE(STATUS "Looking for CGAL include files in: ${CGAL_INCLUDE_DIR}")
|
||||||
|
ENDIF()
|
||||||
|
IF("${CGAL_LIBRARY_DIR}" STREQUAL "")
|
||||||
|
SET(CGAL_LIBRARY_DIR "/usr/lib/" CACHE FILEPATH "CGAL library files")
|
||||||
|
MESSAGE(STATUS "Looking for CGAL library files in: ${CGAL_LIBRARY_DIR}")
|
||||||
|
MESSAGE(STATUS "Use CGAL_LIBRARY_DIR to specify another directory")
|
||||||
|
ELSE()
|
||||||
|
SET(CGAL_LIBRARY_DIR ${CGAL_LIBRARY_DIR} CACHE FILEPATH "CGAL library files")
|
||||||
|
MESSAGE(STATUS "Looking for CGAL library files in: ${CGAL_LIBRARY_DIR}")
|
||||||
|
ENDIF()
|
||||||
|
FIND_LIBRARY(libCGAL NAMES CGAL PATHS ${CGAL_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||||
|
IF(libCGAL)
|
||||||
|
MESSAGE(STATUS "CGAL library files found")
|
||||||
|
ELSE()
|
||||||
|
MESSAGE(FATAL_ERROR "Unable to find CGAL library files, aborting")
|
||||||
|
ENDIF()
|
||||||
|
foreach(lib ${CGAL_LIBRARY_NAMES})
|
||||||
|
string(REPLACE libCGAL "${lib}" lib_path "${libCGAL}")
|
||||||
|
list(APPEND CGAL_LIBRARIES "${lib_path}")
|
||||||
|
endforeach()
|
||||||
|
FIND_LIBRARY(libGMP NAMES gmp PATHS ${GMP_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||||
|
FIND_LIBRARY(libMPFR NAMES mpfr PATHS ${MPFR_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||||
|
IF(NOT libGMP)
|
||||||
|
MESSAGE(FATAL_ERROR "Unable to find GMP library files, aborting")
|
||||||
|
ENDIF()
|
||||||
|
IF(NOT libMPFR)
|
||||||
|
MESSAGE(FATAL_ERROR "Unable to find MPFR library files, aborting")
|
||||||
|
ENDIF()
|
||||||
|
list(APPEND CGAL_LIBRARIES "${libGMP}")
|
||||||
|
list(APPEND CGAL_LIBRARIES "${libMPFR}")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
add_definitions(-DHAVE_NO_DLL)
|
add_definitions(-DHAVE_NO_DLL)
|
||||||
add_debug_variants(OPENCASCADE_LIBRARIES "${OPENCASCADE_LIBRARIES}" d)
|
add_debug_variants(OPENCASCADE_LIBRARIES "${OPENCASCADE_LIBRARIES}" d)
|
||||||
@@ -384,7 +432,8 @@ ElSE()
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCLUDE_DIRS}
|
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCLUDE_DIRS}
|
||||||
${ICU_INCLUDE_DIR} ${Boost_INCLUDE_DIRS}
|
${ICU_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${CGAL_INCLUDE_DIR}
|
||||||
|
${GMP_INCLUDE_DIR} ${MPFR_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
function(files_for_ifc_version IFC_VERSION RESULT_NAME)
|
function(files_for_ifc_version IFC_VERSION RESULT_NAME)
|
||||||
@@ -517,6 +566,14 @@ if(NOT MSVC)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
include(CheckCXXCompilerFlag)
|
||||||
|
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
|
||||||
|
if(COMPILER_SUPPORTS_CXX11)
|
||||||
|
add_definitions(-std=c++11)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "CGAL kernel requires a compiler with C++11 support")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(IFCOPENSHELL_LIBRARIES IfcParse IfcGeom)
|
set(IFCOPENSHELL_LIBRARIES IfcParse IfcGeom)
|
||||||
|
|
||||||
# IfcParse
|
# IfcParse
|
||||||
@@ -548,7 +605,7 @@ set(IFCGEOM_FILES ${IFCGEOM_CPP_FILES} ${IFCGEOM_H_FILES})
|
|||||||
add_library(IfcGeom ${IFCGEOM_FILES})
|
add_library(IfcGeom ${IFCGEOM_FILES})
|
||||||
set_target_properties(IfcGeom PROPERTIES COMPILE_FLAGS -DIFC_GEOM_EXPORTS)
|
set_target_properties(IfcGeom PROPERTIES COMPILE_FLAGS -DIFC_GEOM_EXPORTS)
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(IfcGeom IfcParse ${OPENCASCADE_LIBRARIES})
|
TARGET_LINK_LIBRARIES(IfcGeom IfcParse ${OPENCASCADE_LIBRARIES} ${CGAL_LIBRARIES})
|
||||||
|
|
||||||
# IfcConvert
|
# IfcConvert
|
||||||
file(GLOB IFCCONVERT_CPP_FILES ../src/ifcconvert/*.cpp)
|
file(GLOB IFCCONVERT_CPP_FILES ../src/ifcconvert/*.cpp)
|
||||||
@@ -559,7 +616,7 @@ if (IFCCONVERT_DOUBLE_PRECISION)
|
|||||||
set_target_properties(IfcConvert PROPERTIES COMPILE_FLAGS -DIFCCONVERT_DOUBLE_PRECISION)
|
set_target_properties(IfcConvert PROPERTIES COMPILE_FLAGS -DIFCCONVERT_DOUBLE_PRECISION)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(IfcConvert ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ${ICU_LIBRARIES})
|
TARGET_LINK_LIBRARIES(IfcConvert ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${OPENCOLLADA_LIBRARIES} ${ICU_LIBRARIES} ${CGAL_LIBRARIES} ${Boost_LIBRARIES})
|
||||||
if ((NOT WIN32) AND BUILD_SHARED_LIBS)
|
if ((NOT WIN32) AND BUILD_SHARED_LIBS)
|
||||||
# Only set RPATHs when building shared libraries (i.e. IfcParse and
|
# Only set RPATHs when building shared libraries (i.e. IfcParse and
|
||||||
# IfcGeom are dynamically linked). Not necessarily a perfect solution
|
# IfcGeom are dynamically linked). Not necessarily a perfect solution
|
||||||
@@ -572,7 +629,7 @@ endif()
|
|||||||
# file(GLOB H_FILES ../src/ifcgeomserver/*.h)
|
# file(GLOB H_FILES ../src/ifcgeomserver/*.h)
|
||||||
# set(SOURCE_FILES ${CPP_FILES} ${H_FILES})
|
# set(SOURCE_FILES ${CPP_FILES} ${H_FILES})
|
||||||
# ADD_EXECUTABLE(IfcGeomServer ${SOURCE_FILES})
|
# ADD_EXECUTABLE(IfcGeomServer ${SOURCE_FILES})
|
||||||
# TARGET_LINK_LIBRARIES(IfcGeomServer ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${ICU_LIBRARIES})
|
# TARGET_LINK_LIBRARIES(IfcGeomServer ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${ICU_LIBRARIES} ${CGAL_LIBRARIES})
|
||||||
# if ((NOT WIN32) AND BUILD_SHARED_LIBS)
|
# if ((NOT WIN32) AND BUILD_SHARED_LIBS)
|
||||||
# SET_INSTALL_RPATHS(IfcGeomServer "${IFCOPENSHELL_LIBARY_DIR};${OCC_LIBRARY_DIR};${Boost_LIBRARY_DIRS};${ICU_LIBRARY_DIR}")
|
# SET_INSTALL_RPATHS(IfcGeomServer "${IFCOPENSHELL_LIBARY_DIR};${OCC_LIBRARY_DIR};${Boost_LIBRARY_DIRS};${ICU_LIBRARY_DIR}")
|
||||||
# endif()
|
# endif()
|
||||||
|
|||||||
+9
-1
@@ -460,7 +460,7 @@ OLD_BUILD_CFG = BUILD_CFG
|
|||||||
if BUILD_CFG != "Debug":
|
if BUILD_CFG != "Debug":
|
||||||
# CGAL only supports Debug and Release for CMAKE_BUILD_TYPE
|
# CGAL only supports Debug and Release for CMAKE_BUILD_TYPE
|
||||||
BUILD_CFG = "Release"
|
BUILD_CFG = "Release"
|
||||||
build_dependency(name="cgal", mode="cmake", build_tool_args=["-DGMP_LIBRARIES=%s/install/gmp-%s/lib/libgmp.a" % (DEPS_DIR, GMP_VERSION), "-DGMP_INCLUDE_DIR=%s/install/gmp-%s/include" % (DEPS_DIR, GMP_VERSION), "-DMPFR_LIBRARIES=%s/install/mpfr-%s/lib/libmpfr.a" % (DEPS_DIR, MPFR_VERSION), "-DMPFR_INCLUDE_DIR=%s/install/mpfr-%s/include" % (DEPS_DIR, MPFR_VERSION), "-DBoost_INCLUDE_DIR=%s/install/boost-%s" % (DEPS_DIR, BOOST_VERSION), "-DCMAKE_INSTALL_PREFIX=%s/install/cgal/" % (DEPS_DIR,)], download_url="https://github.com/CGAL/cgal.git", download_name="cgal", download_tool=download_tool_git)
|
build_dependency(name="cgal", mode="cmake", build_tool_args=["-DBUILD_SHARED_LIBS=Off", "-DGMP_LIBRARIES=%s/install/gmp-%s/lib/libgmp.a" % (DEPS_DIR, GMP_VERSION), "-DGMP_INCLUDE_DIR=%s/install/gmp-%s/include" % (DEPS_DIR, GMP_VERSION), "-DMPFR_LIBRARIES=%s/install/mpfr-%s/lib/libmpfr.a" % (DEPS_DIR, MPFR_VERSION), "-DMPFR_INCLUDE_DIR=%s/install/mpfr-%s/include" % (DEPS_DIR, MPFR_VERSION), "-DBoost_INCLUDE_DIR=%s/install/boost-%s" % (DEPS_DIR, BOOST_VERSION), "-DCMAKE_INSTALL_PREFIX=%s/install/cgal/" % (DEPS_DIR,)], download_url="https://github.com/CGAL/cgal.git", download_name="cgal", download_tool=download_tool_git)
|
||||||
BUILD_CFG = OLD_BUILD_CFG
|
BUILD_CFG = OLD_BUILD_CFG
|
||||||
|
|
||||||
build_dependency(name="icu-%s" % (ICU_VERSION,), mode="icu", build_tool_args=["--enable-static", "--disable-shared"], download_url="http://download.icu-project.org/files/icu4c/%s/" % (ICU_VERSION,), download_name="icu4c-%s-src.tgz" % (ICU_VERSION_UNDERSCORE,))
|
build_dependency(name="icu-%s" % (ICU_VERSION,), mode="icu", build_tool_args=["--enable-static", "--disable-shared"], download_url="http://download.icu-project.org/files/icu4c/%s/" % (ICU_VERSION,), download_name="icu4c-%s-src.tgz" % (ICU_VERSION_UNDERSCORE,))
|
||||||
@@ -482,6 +482,14 @@ run_cmake("", cmake_args=[
|
|||||||
"-DBOOST_ROOT=" "%s/install/boost-%s" % (DEPS_DIR, BOOST_VERSION),
|
"-DBOOST_ROOT=" "%s/install/boost-%s" % (DEPS_DIR, BOOST_VERSION),
|
||||||
"-DOCC_INCLUDE_DIR=" "%s/install/oce-%s/include/oce" % (DEPS_DIR, OCE_VERSION),
|
"-DOCC_INCLUDE_DIR=" "%s/install/oce-%s/include/oce" % (DEPS_DIR, OCE_VERSION),
|
||||||
"-DOCC_LIBRARY_DIR=" "%s/install/oce-%s/lib" % (DEPS_DIR, OCE_VERSION),
|
"-DOCC_LIBRARY_DIR=" "%s/install/oce-%s/lib" % (DEPS_DIR, OCE_VERSION),
|
||||||
|
|
||||||
|
"-DCGAL_INCLUDE_DIR=" "%s/install/cgal/include" % (DEPS_DIR,),
|
||||||
|
"-DCGAL_LIBRARY_DIR=" "%s/install/cgal/lib" % (DEPS_DIR,),
|
||||||
|
"-DGMP_INCLUDE_DIR=" "%s/install/gmp-%s/include" % (DEPS_DIR, GMP_VERSION),
|
||||||
|
"-DGMP_LIBRARY_DIR=" "%s/install/gmp-%s/lib" % (DEPS_DIR, GMP_VERSION),
|
||||||
|
"-DMPFR_INCLUDE_DIR=" "%s/install/mpfr-%s/include" % (DEPS_DIR, MPFR_VERSION),
|
||||||
|
"-DMPFR_LIBRARY_DIR=" "%s/install/mpfr-%s/lib" % (DEPS_DIR, MPFR_VERSION),
|
||||||
|
|
||||||
"-DOPENCOLLADA_INCLUDE_DIR=" "%s/install/OpenCOLLADA/include/opencollada" % (DEPS_DIR,),
|
"-DOPENCOLLADA_INCLUDE_DIR=" "%s/install/OpenCOLLADA/include/opencollada" % (DEPS_DIR,),
|
||||||
"-DOPENCOLLADA_LIBRARY_DIR=" "%s/install/OpenCOLLADA/lib/opencollada" % (DEPS_DIR,),
|
"-DOPENCOLLADA_LIBRARY_DIR=" "%s/install/OpenCOLLADA/lib/opencollada" % (DEPS_DIR,),
|
||||||
"-DICU_INCLUDE_DIR=" "%s/install/icu-%s/include" % (DEPS_DIR, ICU_VERSION),
|
"-DICU_INCLUDE_DIR=" "%s/install/icu-%s/include" % (DEPS_DIR, ICU_VERSION),
|
||||||
|
|||||||
Reference in New Issue
Block a user