Skip to content
Open
Show file tree
Hide file tree
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
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ else()
src/ASM/TimeDomain.h src/ASM/ASMs?D.h src/ASM/ASM?D.h
src/ASM/ASM??DLag.h src/ASM/ASMLagBase.h src/ASM/ASMutils.h
src/ASM/DomainDecomposition.h src/ASM/ItgPoint.h
src/ASM/ReactionsOnly.h
src/ASM/ReactionsOnly.h src/ASM/ASMsupel.h
src/LinAlg/*.h src/SIM/*.h src/Utility/*.h
3rdparty/*.h
${CMAKE_BINARY_DIR}/IFEM.h)
Expand Down
12 changes: 12 additions & 0 deletions cmake/Modules/FindFMX.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
IF(FMX_LIBRARY)
SET(FMX_FIND_QUIETLY TRUE)
ENDIF(FMX_LIBRARY)

FIND_LIBRARY(FMX_LIBRARY NAMES fmxWriter
PATHS $ENV{HOME}/lib $ENV{HOME}/.local/lib /usr/local/lib
)

MARK_AS_ADVANCED(FMX_LIBRARY)

INCLUDE(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FMX DEFAULT_MSG FMX_LIBRARY)
33 changes: 20 additions & 13 deletions cmake/Modules/FindIFEMDeps.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -190,21 +190,18 @@ ENDIF(SPR_USE_INT4 OR SPR_USE_INT8)
IF(IFEM_USE_SAMG)
FIND_PACKAGE(SAMG)
IF(SAMG_LIBRARIES AND SAMG_INCLUDES)
SET(IFEM_DEPLIBS ${IFEM_DEPLIBS} ${SAMG_LIBRARIES})
SET(IFEM_DEPINCLUDES ${IFEM_DEPINCLUDES} ${SAMG_INCLUDES})
SET(IFEM_BUILD_CXX_FLAGS "${IFEM_BUILD_CXX_FLAGS} -DHAS_SAMG -DSAMG_UNIX_LINUX=1 -DSAMG_LCASE_USCORE")
list(APPEND IFEM_DEFINITIONS -DHAS_SAMG -DSAMG_UNIX_LINUX=1 -DSAMG_LCASE_USCORE)
list(APPEND IFEM_DEPLIBS ${SAMG_LIBRARIES})
list(APPEND IFEM_DEPINCLUDES ${SAMG_INCLUDES})
string(APPEND IFEM_BUILD_CXX_FLAGS " -DHAS_SAMG -DSAMG_UNIX_LINUX=1 -DSAMG_LCASE_USCORE")
ENDIF(SAMG_LIBRARIES AND SAMG_INCLUDES)
ENDIF(IFEM_USE_SAMG)

# VTF writer
IF(IFEM_USE_VTFWRITER)
FIND_PACKAGE(VTFWriter)
IF(VTFWRITER_LIBRARIES AND VTFWRITER_INCLUDES)
SET(IFEM_DEPLIBS ${IFEM_DEPLIBS} ${VTFWRITER_LIBRARIES})
SET(IFEM_DEPINCLUDES ${IFEM_DEPINCLUDES} ${VTFWRITER_INCLUDES})
SET(IFEM_CXX_FLAGS "${IFEM_CXX_FLAGS} -DHAS_VTFAPI=${VTFAPI}")
SET(IFEM_BUILD_CXX_FLAGS "${IFEM_BUILD_CXX_FLAGS} -DHAS_VTFAPI=${VTFAPI}")
list(APPEND IFEM_DEPLIBS ${VTFWRITER_LIBRARIES})
list(APPEND IFEM_DEPINCLUDES ${VTFWRITER_INCLUDES})
list(APPEND IFEM_DEFINITIONS -DHAS_VTFAPI=${VTFAPI})
ENDIF(VTFWRITER_LIBRARIES AND VTFWRITER_INCLUDES)
ENDIF(IFEM_USE_VTFWRITER)
Expand All @@ -213,8 +210,8 @@ ENDIF(IFEM_USE_VTFWRITER)
IF(IFEM_USE_OPENMP)
FIND_PACKAGE(OpenMP)
IF(OPENMP_FOUND)
SET(IFEM_CXX_FLAGS "${IFEM_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -DUSE_OPENMP")
SET(IFEM_BUILD_CXX_FLAGS "${IFEM_BUILD_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -DUSE_OPENMP")
string(APPEND IFEM_CXX_FLAGS " ${OpenMP_CXX_FLAGS} -DUSE_OPENMP")
string(APPEND IFEM_BUILD_CXX_FLAGS " ${OpenMP_CXX_FLAGS} -DUSE_OPENMP")
list(APPEND IFEM_DEFINITIONS -DUSE_OPENMP=1)
ENDIF(OPENMP_FOUND)
ENDIF(IFEM_USE_OPENMP)
Expand Down Expand Up @@ -274,13 +271,23 @@ if(IFEM_USE_TRACY)
endif()
endif()

# FMX matrix files
if(IFEM_USE_FMX)
find_package(FMX)
if(FMX_FOUND)
list(APPEND IFEM_DEPLIBS ${FMX_LIBRARY})
string(APPEND IFEM_BUILD_CXX_FLAGS " -DHAS_FMXREADER=1")
message(STATUS "FMX matrix file support enabled")
endif()
endif()

# Portability issues
include(CheckFunctionExists)
set(CMAKE_REQUIRED_DEFINITIONS)
set(CMAKE_REQUIRED_FLAGS)
check_function_exists(get_current_dir_name unistd.h HAVE_GET_CURRENT_DIR_NAME) # lacks on osx
if(HAVE_GET_CURRENT_DIR_NAME)
set(IFEM_CXX_FLAGS "${IFEM_CXX_FLAGS} -DHAVE_GET_CURRENT_DIR_NAME=1")
string(APPEND IFEM_CXX_FLAGS " -DHAVE_GET_CURRENT_DIR_NAME=1")
list(APPEND IFEM_DEFINITIONS -DHAVE_GET_CURRENT_DIR_NAME=1)
endif()

Expand All @@ -298,10 +305,10 @@ include(CheckCXXCompilerFlag)
check_cxx_compiler_flag(-Wall HAS_WALL)
check_cxx_compiler_flag(-Wno-parentheses HAS_PARENTHESES)
if(HAS_WALL)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
string(APPEND CMAKE_CXX_FLAGS " -Wall")
endif()
if(HAS_PARENTHESES)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-parentheses")
string(APPEND CMAKE_CXX_FLAGS " -Wno-parentheses")
endif()

set(IFEM_REGTEST_SCRIPT ${IFEM_PATH}/Apps/Common/scripts/regtest.sh.in)
Expand Down
6 changes: 3 additions & 3 deletions cmake/Modules/IFEMOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ OPTION(IFEM_USE_ISTL "Compile with dune-istl support?" ON)
OPTION(IFEM_USE_SLEPC "Compile with SLEPc support?" OFF)
set(IFEM_USE_SPR "OFF" CACHE STRING "Compile with SPR support?")
set_property(CACHE IFEM_USE_SPR PROPERTY STRINGS ON I32 I64 OFF)
OPTION(IFEM_USE_SPR "Compile with SPR support?" OFF)
OPTION(IFEM_USE_SAMG "Compile with SAMG support?" OFF)
OPTION(IFEM_USE_HDF5 "Compile with HDF5 support?" ON)
OPTION(IFEM_USE_VTFWRITER "Compile with VTFWriter support?" ON)
OPTION(IFEM_USE_UMFPACK "Compile with UMFPACK support?" ON)
OPTION(IFEM_USE_VTFWRITER "Compile with VTFWriter support?" ON)
OPTION(IFEM_USE_HDF5 "Compile with HDF5 support?" ON)
OPTION(IFEM_USE_CEREAL "Compile with cereal support?" ON)
OPTION(IFEM_USE_ZOLTAN "Compile with zoltan support?" OFF)
OPTION(IFEM_USE_FMX "Compile with FMX-file support?" OFF)
OPTION(IFEM_AS_SUBMODULE "Compile IFEM as a submodule of apps?" OFF)
OPTION(IFEM_WHOLE_PROG_OPTIM "Compile IFEM with link-time optimizations?" OFF)
OPTION(IFEM_TEST_MEMCHECK "Run tests through valgrind?" OFF)
Expand Down
Loading