Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
solverstack
ScalFMM
Commits
8bd7dbf0
Commit
8bd7dbf0
authored
Nov 26, 2015
by
BLANCHARD Pierre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add private Addon for H-Matrices.
parent
2cbf6a19
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
101 additions
and
19 deletions
+101
-19
Addons/HMat/CMakeLists.txt
Addons/HMat/CMakeLists.txt
+82
-0
CMakeLists.txt
CMakeLists.txt
+19
-19
No files found.
Addons/HMat/CMakeLists.txt
0 → 100644
View file @
8bd7dbf0
# check if compiling into source directories
STRING
(
COMPARE EQUAL
"
${
CMAKE_SOURCE_DIR
}
"
"
${
CMAKE_BINARY_DIR
}
"
insource
)
if
(
insource
)
MESSAGE
(
FATAL_ERROR
"
${
PROJECT_NAME
}
requires an out of source build. Goto ./Build and tapes cmake ../"
)
endif
(
insource
)
project
(
ADDONS_HMAT_SCALFMM CXX C
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
${
SCALFMM_CXX_FLAGS
}
"
)
# Active language
# -----------------------
ENABLE_LANGUAGE
(
CXX C
)
MESSAGE
(
STATUS
" CXX
${
CMAKE_CXX_COMPILER_ID
}
"
)
# if ask to build addon
if
(
SCALFMM_ADDON_HMAT
)
# first build lib scalfmmhmat
set
(
LIBRARY_OUTPUT_PATH ../lib/
${
CMAKE_BUILD_TYPE
}
)
# Searching all cpp file
file
(
GLOB_RECURSE source_lib_files Src/*.cpp
)
# Adding cpp files to project
add_library
(
scalfmmhmat STATIC
${
source_lib_files
}
)
# Add blas library (even if it is set to off)
target_link_libraries
(
scalfmmhmat scalfmm
)
# Adding the entire project dir as an include dir
INCLUDE_DIRECTORIES
(
${
CMAKE_BINARY_DIR
}
/Src
${
CMAKE_SOURCE_DIR
}
/Src
${
SCALFMM_INCLUDES
}
)
# Install lib
install
(
TARGETS scalfmmhmat ARCHIVE DESTINATION lib
)
# Install header
SET
(
my_include_dirs
"Src"
)
file
(
GLOB hpp_in_dir Src/*.hpp Src/*.h
)
INSTALL
(
FILES
${
hpp_in_dir
}
DESTINATION include/ScalFmm/HMat
)
file
(
GLOB_RECURSE source_tests_files Tests/*.c
)
INCLUDE_DIRECTORIES
(
${
CMAKE_BINARY_DIR
}
/Src
)
# Then build test files
foreach
(
exec
${
source_tests_files
}
)
get_filename_component
(
execname
${
exec
}
NAME_WE
)
set
(
compile_exec
"TRUE"
)
foreach
(
fuse_key
${
FUSE_LIST
}
)
file
(
STRINGS
"
${
exec
}
"
lines_fuse REGEX
"@FUSE_
${
fuse_key
}
"
)
if
(
lines_fuse
)
if
(
NOT SCALFMM_USE_
${
fuse_key
}
)
MESSAGE
(
STATUS
"This needs
${
fuse_key
}
=
${
exec
}
"
)
set
(
compile_exec
"FALSE"
)
endif
()
endif
()
endforeach
()
# Dependency are OK
if
(
compile_exec
)
add_executable
(
${
execname
}
${
exec
}
)
# link to scalfmm and scalfmmhmat
target_link_libraries
(
${
execname
}
${
scalfmm_lib
}
scalfmmhmat
# ${BLAS_LIBRARIES}
# ${LAPACK_LIBRARIES}
${
SCALFMM_LIBRARIES
}
)
endif
()
endforeach
(
exec
)
endif
()
CMakeLists.txt
View file @
8bd7dbf0
...
...
@@ -229,8 +229,8 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/
#set(SCALFMM_FLAGS_OPTI_RELEASE "-fp-model precise -fp-model source -fimf-precision=low -funroll-loops -ftree-vectorize"
set
(
SCALFMM_FLAGS_OPTI_RELEASE
"-funroll-loops -ftree-vectorize"
CACHE STRING
"Set your optimization flags for release mode."
)
# set(SCALFMM_FLAGS_OPTI_RELEASE "-funroll-loops -ftree-vectorize" CACHE STRING
# "Set your optimization flags for release mode.")
# set(SCALFMM_FLAGS_OPTI_RELEASE "-funroll-loops -ftree-vectorize" CACHE STRING
# "Set your optimization flags for release mode.")
else
()
set
(
SCALFMM_FLAGS_OPTI_RELEASE
"-ffast-math -funroll-loops -ftree-vectorize"
CACHE STRING
"Set your optimization flags for release mode."
)
...
...
@@ -654,18 +654,18 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/
link_libraries
(
${
EZTrace_LIBRARIES
}
)
IF
(
SCALFMM_USE_MPI
)
link_libraries
(
-leztrace-autostart-mpi
)
ENDIF
(
SCALFMM_USE_MPI
)
include_directories
(
${
EZTrace_INCLUDE_DIRS
}
)
MESSAGE
(
STATUS
"EZTRACE:
${
EZTrace_INCLUDE_DIRS
}
${
EZTrace_LIBRARY_DIRS
}
${
EZTrace_LIBRARIES
}
"
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_ALGO
"Set to ON to trace the full algorithm (all operators)"
ON
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_P2M
"Set to ON to trace P2M operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_M2M
"Set to ON to trace M2M operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_M2L
"Set to ON to trace M2L operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_L2L
"Set to ON to trace L2L operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_P2P
"Set to ON to trace P2P operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
ENDIF
(
SCALFMM_USE_MPI
)
include_directories
(
${
EZTrace_INCLUDE_DIRS
}
)
MESSAGE
(
STATUS
"EZTRACE:
${
EZTrace_INCLUDE_DIRS
}
${
EZTrace_LIBRARY_DIRS
}
${
EZTrace_LIBRARIES
}
"
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_ALGO
"Set to ON to trace the full algorithm (all operators)"
ON
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_P2M
"Set to ON to trace P2M operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_M2M
"Set to ON to trace M2M operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_M2L
"Set to ON to trace M2L operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_L2L
"Set to ON to trace L2L operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
CMAKE_DEPENDENT_OPTION
(
SCALFMM_TRACE_P2P
"Set to ON to trace P2P operator"
OFF
"SCALFMM_USE_EZTRACE"
OFF
)
else
(
EZTrace_FOUND
)
MESSAGE
(
WARNING
"Eztrace not found - EZTRACE Is set to OFF"
)
set
(
SCALFMM_USE_EZTRACE OFF
)
MESSAGE
(
WARNING
"Eztrace not found - EZTRACE Is set to OFF"
)
set
(
SCALFMM_USE_EZTRACE OFF
)
endif
(
EZTrace_FOUND
)
else
(
PKG_CONFIG_FOUND
)
MESSAGE
(
WARNING
"PKG-CONFIG not found - EZTRACE Is set to OFF"
)
...
...
@@ -680,13 +680,13 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/
#
##################################################################
if
((
WIN32
OR
(
${
CMAKE_SYSTEM_NAME
}
MATCHES
"Windows"
))
AND SCALFMM_USE_SIGNALS
)
# We are on Windows and we cannot catch signals
message
(
FATAL_ERROR
"Catching the signals requieres an UNIX system."
)
# We are on Windows and we cannot catch signals
message
(
FATAL_ERROR
"Catching the signals requieres an UNIX system."
)
else
()
IF
(
NOT APPLE
)
SET
(
SCALFMM_CXX_FLAGS
"
${
SCALFMM_CXX_FLAGS
}
-rdynamic"
)
ENDIF
()
SET
(
SCALFMM_CXX_FLAGS
"
${
SCALFMM_CXX_FLAGS
}
-rdynamic"
)
ENDIF
()
endif
()
##################################################################
# #
...
...
@@ -822,7 +822,7 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/
set
(
CPACK_SOURCE_GENERATOR
"TGZ"
)
set
(
CPACK_SOURCE_PACKAGE_FILE_NAME
"SCALFMM-
${
SCALFMM_MAJOR_VERSION
}
.
${
SCALFMM_MINOR_VERSION
}
-
${
CPACK_PACKAGE_VERSION_PATCH
}
"
)
set
(
CPACK_SOURCE_IGNORE_FILES
"
\\\\
.git;.DS_Store;.*~;/*.aux;/*.idx;/*.log;/*.out;/*.toc;/*.ilg;scalfmm.pro*;org.eclipse.core.resources.prefs;.cproject;.project"
)
list
(
APPEND CPACK_SOURCE_IGNORE_FILES
"
${
CMAKE_CURRENT_BINARY_DIR
}
;
${
CMAKE_CURRENT_SOURCE_DIR
}
/Utils/;Notes;Deprecated;/Build*;/noDist/;/Bench;ToRemove;Olivier"
)
list
(
APPEND CPACK_SOURCE_IGNORE_FILES
"
${
CMAKE_CURRENT_BINARY_DIR
}
;
${
CMAKE_CURRENT_SOURCE_DIR
}
/Utils/;Notes;Deprecated;/Build*;/noDist/;/Bench;ToRemove;Olivier
;Addons/HMat
"
)
# Uniform;GroupTree;Adaptive;testUnif*;/*Lagrange*")
#list(APPEND CPACK_SOURCE_IGNORE_FILES "Stages;Uniform;Adaptive;testUnif*;*Lagrange*" )
#
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment