diff --git a/CMakeLists.txt b/CMakeLists.txt index d7ba0e850ec6467c1a89a1f1fcf893eb299987cf..5d27cee9fd9739701fd772a55c4dc89e8115692d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,18 +25,23 @@ set(CMAKE_LIBRARY_SEARCH_PATH "" CACHE PATH set(OGS_CPU_ARCHITECTURE "native" CACHE STRING "Processor architecture, defaults to native.") option(OGS_BUILD_TESTS "Should the test executables be built?" ON) -### CMake includes ### +### Conan package manager ### +set(USE_CONAN false CACHE INTERNAL "") if(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) + set(USE_CONAN true) elseif(EXISTS ${CMAKE_SOURCE_DIR}/conanbuildinfo.cmake) include(${CMAKE_SOURCE_DIR}/conanbuildinfo.cmake) -else() - message(FATAL_ERROR "External dependencies not setup. Run conan install!") + set(USE_CONAN true) +endif() +if(USE_CONAN) + set(CMAKE_MODULE_PATH ${CONAN_CMAKE_MODULE_PATH} ${CMAKE_MODULE_PATH}) + message(STATUS "Using conan package manager") + set(OGS_LIB_VTK System CACHE INTERNAL "") + set(OGS_LIB_BOOST System CACHE INTERNAL "") endif() -conan_basic_setup() -include(${CONAN_VTK_ROOT}/lib/cmake/vtk-7.0/VTKConfig.cmake) -include(${VTK_USE_FILE}) +### CMake includes ### include(scripts/cmake/CheckTypeSizes.cmake) include(scripts/cmake/Functions.cmake) include(scripts/cmake/CMakeSetup.cmake) diff --git a/FileIO/CMakeLists.txt b/FileIO/CMakeLists.txt index 42e8b7841a613ca03c99c3b86ec89ee942683943..761268d714da9df66ad2d76795906a450e7629f6 100644 --- a/FileIO/CMakeLists.txt +++ b/FileIO/CMakeLists.txt @@ -15,8 +15,6 @@ set(SOURCES readMeshFromFile.cpp writeGeometryToFile.h writeGeometryToFile.cpp - SHPInterface.h - SHPInterface.cpp TetGenInterface.h TetGenInterface.cpp TINInterface.h @@ -26,6 +24,9 @@ set(SOURCES writeMeshToFile.h writeMeshToFile.cpp ) +if(Shapelib_FOUND) + list(APPEND SOURCES SHPInterface.h SHPInterface.cpp) +endif() GET_SOURCE_FILES(SOURCES_LEGACY Legacy) GET_SOURCE_FILES(SOURCES_GMSHIO GmshIO) @@ -59,7 +60,6 @@ target_link_libraries(FileIO INTERFACE InSituLib MeshLib logog - ${CONAN_LIBS} ) if(QT4_FOUND) target_link_libraries(FileIO PUBLIC Qt4::QtXml Qt4::QtXmlPatterns) @@ -71,6 +71,10 @@ if(QT4_FOUND) endif() endif() +if(Shapelib_FOUND) + target_link_libraries(FileIO INTERFACE ${Shapelib_LIBRARIES}) +endif() + ADD_VTK_DEPENDENCY(FileIO) if(TARGET Eigen) diff --git a/ThirdParty/vtkdiff b/ThirdParty/vtkdiff index 0a0bd8362f861b6e141936b990133c6616522a82..a20c1bef6e35a5b53c101103820beca854934f37 160000 --- a/ThirdParty/vtkdiff +++ b/ThirdParty/vtkdiff @@ -1 +1 @@ -Subproject commit 0a0bd8362f861b6e141936b990133c6616522a82 +Subproject commit a20c1bef6e35a5b53c101103820beca854934f37 diff --git a/scripts/cmake/ExternalProjectBoost.cmake b/scripts/cmake/ExternalProjectBoost.cmake index 8f6a0dfd2335564dce4809e929e305afbc71e865..670b7d885a6fe9b430af32811ae344c46530a4ca 100644 --- a/scripts/cmake/ExternalProjectBoost.cmake +++ b/scripts/cmake/ExternalProjectBoost.cmake @@ -1,4 +1,10 @@ -return() +if(USE_CONAN) + SET(BOOST_HEADER_ONLY TRUE) + find_package(Boost REQUIRED) + include_directories(SYSTEM ${CONAN_INCLUDE_DIRS_BOOST}) + link_directories(${Boost_LIBRARY_DIR}) + return() +endif() include(ThirdPartyLibVersions) include(ExternalProject) diff --git a/scripts/cmake/ExternalProjectVtk.cmake b/scripts/cmake/ExternalProjectVtk.cmake index e4d5b3b8dcf46bc6e412be1621b8a20488e168de..4b0046dce4542a3385a7f0c5dcc9b35bb0371384 100644 --- a/scripts/cmake/ExternalProjectVtk.cmake +++ b/scripts/cmake/ExternalProjectVtk.cmake @@ -1,4 +1,9 @@ -return() +if(USE_CONAN) + find_package(VTK REQUIRED) + include(${VTK_USE_FILE}) + include_directories(SYSTEM ${CONAN_INCLUDE_DIRS_VTK}) + return() +endif() include(ThirdPartyLibVersions) include(ExternalProject) diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake index 54305d0fd750fdb8cf42b4a929e7428384bc07a5..f6bb7a0576a597ea8344ab3f03d6f8d74d324b28 100644 --- a/scripts/cmake/Find.cmake +++ b/scripts/cmake/Find.cmake @@ -138,3 +138,8 @@ if(OGS_USE_MPI) find_package(MPI REQUIRED) include_directories(SYSTEM ${MPI_CXX_INCLUDE_PATH}) endif() + +find_package(Shapelib) +if(Shapelib_FOUND) + include_directories(${Shapelib_INCLUDE_DIRS}) +endif()