INCLUDE(CheckIncludeFiles) SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/elmerice/cmake/Modules") #TODO: is this proper way of choosing shared library API? IF(WIN32) UNSET(HAVE_DLOPEN_API) SET(HAVE_LOADLIBRARY_API TRUE) ELSEIF(UNIX) SET(HAVE_DLOPEN_API TRUE) SET(HAVE_DLSYM TRUE) ENDIF() INCLUDE(CheckTypeSize) CHECK_TYPE_SIZE(long LONG_SIZE) IF(LONG_SIZE EQUAL 4) SET(OFF_KIND "selected_int_kind(9)") ELSEIF(LONG_SIZE EQUAL 8) SET(OFF_KIND "selected_int_kind(18)") ENDIF() SET(ELMER_SOLVER_HOME "${CMAKE_INSTALL_PREFIX}/share/elmersolver" CACHE PATH "") SET(SHL_EXTENSION ".so") IF(WIN32) SET(SHL_EXTENSION ".dll") ENDIF() IF(APPLE) SET(SHL_EXTENSION ".dylib") ENDIF() INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}") IF (WITH_PROJ4) FIND_PACKAGE(PROJ) FIND_PACKAGE(FORTRANGIS) IF(PROJ_FOUND AND FORTRANGIS_FOUND) SET(HAVE_PROJ TRUE) SET(HAVE_FORTRANGIS TRUE) MARK_AS_ADVANCED(HAVE_PROJ HAVE_FORTRANGIS) ADD_DEFINITIONS(-DHAVE_PROJ) MESSAGE(STATUS " PROJ & FORTRANGIS: " "${PROJ_FOUND} & ${FORTRANGIS_FOUND}") MESSAGE(STATUS " PROJ_INC: " "${PROJ_INCLUDE_DIR}") MESSAGE(STATUS " PROJ_LIB: " "${PROJ_LIBRARY}") MESSAGE(STATUS " FORTRANGIS_INC: " "${FORTRANGIS_INCLUDE_DIR}") MESSAGE(STATUS " FORTRANGIS_LIB: " "${FORTRANGIS_LIBRARY}") MESSAGE(STATUS "Compile ProjUtils with Proj4 support") ELSE() MESSAGE(STATUS "Library not found: >PROJ_FOUND< = ${PROJ_FOUND} and/or >FORTRANGIS_FOUND< = ${FORTRANGIS_FOUND}") MESSAGE(WARNING " \n Missing: >PROJ_INCLUDE_DIR< , >PROJ_LIBRARY< , >FORTRANGIS_INCLUDE_DIR< , >FORTRANGIS_LIBRARY< \n to compile ProjUtils support for Proj4") ENDIF() ENDIF() ADD_SUBDIRECTORY(Utils) ADD_SUBDIRECTORY(UserFunctions) ADD_SUBDIRECTORY(Solvers) IF(BUILD_TESTING) ADD_SUBDIRECTORY(Tests) ENDIF() CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Solvers/Permafrost/permafrostmaterialdb.dat ${CMAKE_CURRENT_BINARY_DIR}/Solvers/Permafrost/permafrostmaterialdb.dat COPYONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/Solvers/Permafrost/permafrostmaterialdb.dat DESTINATION "share/elmersolver/lib")