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
Aland, Sebastian
amdis
Commits
8d3f6ec7
Commit
8d3f6ec7
authored
Jan 18, 2011
by
Naumann, Andreas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
additional file for petsc with cmake
parent
d81f254a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
103 additions
and
5 deletions
+103
-5
AMDiS/CMakeLists.txt
AMDiS/CMakeLists.txt
+1
-1
AMDiS/ResolveCompilerPaths.cmake
AMDiS/ResolveCompilerPaths.cmake
+93
-0
AMDiS/test/Meshtest/src/Meshtest.cpp
AMDiS/test/Meshtest/src/Meshtest.cpp
+5
-4
AMDiS/test/demoimpl/CMakeLists.txt
AMDiS/test/demoimpl/CMakeLists.txt
+4
-0
No files found.
AMDiS/CMakeLists.txt
View file @
8d3f6ec7
...
...
@@ -170,7 +170,7 @@ if(ENABLE_PARALLEL_DOMAIN)
DESTINATION lib/parmetis
)
set
(
ENABLE_PARMETIS ON
)
set
(
CMAKE_MODULE_PATH
"
${
CMAKE_MODULE_PATH
}
;/usr/share/cmake-2.8/Modules/;
${
CMAKE_SOURCE_DIR
}
/"
)
find_package
(
PETSc REQUIRED
)
include_directories
(
${
PETSC_DIR
}
/include
${
PETSC_DIR
}
/
${
PETSC_ARCH
}
/include
)
SET
(
PARALLEL_DOMAIN_AMDIS_SRC
...
...
AMDiS/ResolveCompilerPaths.cmake
0 → 100644
View file @
8d3f6ec7
# ResolveCompilerPaths - this module defines two macros
#
# RESOLVE_LIBRARIES (XXX_LIBRARIES LINK_LINE)
# This macro is intended to be used by FindXXX.cmake modules.
# It parses a compiler link line and resolves all libraries
# (-lfoo) using the library path contexts (-L/path) in scope.
# The result in XXX_LIBRARIES is the list of fully resolved libs.
# Example:
#
# RESOLVE_LIBRARIES (FOO_LIBRARIES "-L/A -la -L/B -lb -lc -ld")
#
# will be resolved to
#
# FOO_LIBRARIES:STRING="/A/liba.so;/B/libb.so;/A/libc.so;/usr/lib/libd.so"
#
# if the filesystem looks like
#
# /A: liba.so libc.so
# /B: liba.so libb.so
# /usr/lib: liba.so libb.so libc.so libd.so
#
# and /usr/lib is a system directory.
#
# Note: If RESOLVE_LIBRARIES() resolves a link line differently from
# the native linker, there is a bug in this macro (please report it).
#
# RESOLVE_INCLUDES (XXX_INCLUDES INCLUDE_LINE)
# This macro is intended to be used by FindXXX.cmake modules.
# It parses a compile line and resolves all includes
# (-I/path/to/include) to a list of directories. Other flags are ignored.
# Example:
#
# RESOLVE_INCLUDES (FOO_INCLUDES "-I/A -DBAR='\"irrelevant -I/string here\"' -I/B")
#
# will be resolved to
#
# FOO_INCLUDES:STRING="/A;/B"
#
# assuming both directories exist.
# Note: as currently implemented, the -I/string will be picked up mistakenly (cry, cry)
macro
(
RESOLVE_LIBRARIES LIBS LINK_LINE
)
string
(
REGEX MATCHALL
"((-L|-l|-Wl)([^
\"
]+|
\"
[^
\"
]+
\"
)|/[^
\"
]+(a|so|dll))"
_all_tokens
"
${
LINK_LINE
}
"
)
set
(
_libs_found
)
set
(
_directory_list
)
foreach
(
token
${
_all_tokens
}
)
if
(
token MATCHES
"-L([^
\"
]+|
\"
[^
\"
]+
\"
)"
)
# If it's a library path, add it to the list
string
(
REGEX REPLACE
"^-L"
""
token
${
token
}
)
string
(
REGEX REPLACE
"//"
"/"
token
${
token
}
)
list
(
APPEND _directory_list
${
token
}
)
elseif
(
token MATCHES
"^(-l([^
\"
]+|
\"
[^
\"
]+
\"
)|/[^
\"
]+(a|so|dll))"
)
# It's a library, resolve the path by looking in the list and then (by default) in system directories
string
(
REGEX REPLACE
"^-l"
""
token
${
token
}
)
set
(
_root
)
if
(
token MATCHES
"^/"
)
# We have an absolute path, add root to the search path
set
(
_root
"/"
)
endif
(
token MATCHES
"^/"
)
set
(
_lib
"NOTFOUND"
CACHE FILEPATH
"Cleared"
FORCE
)
find_library
(
_lib
${
token
}
HINTS
${
_directory_list
}
${
_root
}
)
if
(
_lib
)
string
(
REPLACE
"//"
"/"
_lib
${
_lib
}
)
list
(
APPEND _libs_found
${
_lib
}
)
else
(
_lib
)
message
(
STATUS
"Unable to find library
${
token
}
"
)
endif
(
_lib
)
endif
(
token MATCHES
"-L([^
\"
]+|
\"
[^
\"
]+
\"
)"
)
endforeach
(
token
)
set
(
_lib
"NOTFOUND"
CACHE INTERNAL
"Scratch variable"
FORCE
)
# only the LAST occurence of each library is required since there should be no circular dependencies
if
(
_libs_found
)
list
(
REVERSE _libs_found
)
list
(
REMOVE_DUPLICATES _libs_found
)
list
(
REVERSE _libs_found
)
endif
(
_libs_found
)
set
(
${
LIBS
}
"
${
_libs_found
}
"
)
endmacro
(
RESOLVE_LIBRARIES
)
macro
(
RESOLVE_INCLUDES INCS COMPILE_LINE
)
string
(
REGEX MATCHALL
"-I([^
\"
]+|
\"
[^
\"
]+
\"
)"
_all_tokens
"
${
COMPILE_LINE
}
"
)
set
(
_incs_found
)
foreach
(
token
${
_all_tokens
}
)
string
(
REGEX REPLACE
"^-I"
""
token
${
token
}
)
string
(
REGEX REPLACE
"//"
"/"
token
${
token
}
)
if
(
EXISTS
${
token
}
)
list
(
APPEND _incs_found
${
token
}
)
else
(
EXISTS
${
token
}
)
message
(
STATUS
"Include directory
${
token
}
does not exist"
)
endif
(
EXISTS
${
token
}
)
endforeach
(
token
)
list
(
REMOVE_DUPLICATES _incs_found
)
set
(
${
INCS
}
"
${
_incs_found
}
"
)
endmacro
(
RESOLVE_INCLUDES
)
AMDiS/test/Meshtest/src/Meshtest.cpp
View file @
8d3f6ec7
...
...
@@ -29,7 +29,7 @@ void require(Test l, Test r, std::string message, StringVector& res) {
}
using
namespace
AMDiS
;
void
testMesh
(
int
dim
,
int
nrEls
,
int
nrVert
,
StringVector
&
res
)
{
void
testMesh
(
int
dim
,
int
nrEls
,
int
nrVert
,
int
nrMacro
,
StringVector
&
res
)
{
std
::
stringstream
ss
;
ss
<<
dim
;
Parameters
::
addGlobalParameter
(
0
,
"dimension of world"
,
ss
.
str
());
...
...
@@ -42,6 +42,7 @@ void testMesh(int dim, int nrEls, int nrVert , StringVector& res) {
require
(
mesh
.
getDim
(),
dim
,
__LINE__
,
"mesh dimension"
);
std
::
stringstream
ss2
;
ss2
<<
"
\n
current dimension: "
<<
dim
<<
"
\n
"
;
require
(
mesh
.
getNumberOfMacros
(),
nrMacro
,
ss2
.
str
()
+
"number of macro elements"
,
res
);
require
(
mesh
.
getNumberOfElements
()
,
nrEls
,
ss2
.
str
()
+
"number of elements"
,
res
);
require
(
mesh
.
getNumberOfVertices
(),
nrVert
,
ss2
.
str
()
+
"number of vertices"
,
res
);
}
...
...
@@ -53,9 +54,9 @@ int main(int argc, char** argv) {
Parameters
::
addGlobalParameter
(
0
,
"testMesh3->macro file name"
,
"macro/macro.stand.3d"
);
StringVector
errorMessages
;
testMesh
(
1
,
1
,
2
,
errorMessages
);
testMesh
(
2
,
4
,
5
,
errorMessages
);
testMesh
(
3
,
6
,
8
,
errorMessages
);
testMesh
(
1
,
0
,
2
,
1
,
errorMessages
);
testMesh
(
2
,
0
,
5
,
4
,
errorMessages
);
testMesh
(
3
,
0
,
8
,
6
,
errorMessages
);
if
(
errorMessages
.
size
()
>
0
)
std
::
cout
<<
" got errors:
\n
"
;
...
...
AMDiS/test/demoimpl/CMakeLists.txt
0 → 100644
View file @
8d3f6ec7
project
(
demoimpl
)
include_directories
(
${
AMDiS_SOURCE_DIR
}
)
file
(
GLOB PROJECTFILES src/*Project.cpp
)
add_library
(
demoimpl
${
PROJECTFILES
}
)
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