Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
arbor
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Analyze
Contributor analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
arbor-sim
arbor
Commits
2f55a374
Unverified
Commit
2f55a374
authored
4 years ago
by
thorstenhater
Committed by
GitHub
4 years ago
Browse files
Options
Downloads
Patches
Plain Diff
CMake catalogue configuration non-verbose by default (#1387)
parent
8f440822
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
CMakeLists.txt
+8
-0
8 additions, 0 deletions
CMakeLists.txt
mechanisms/BuildModules.cmake
+12
-11
12 additions, 11 deletions
mechanisms/BuildModules.cmake
mechanisms/CMakeLists.txt
+6
-3
6 additions, 3 deletions
mechanisms/CMakeLists.txt
scripts/build-catalogue
+25
-18
25 additions, 18 deletions
scripts/build-catalogue
with
51 additions
and
32 deletions
CMakeLists.txt
+
8
−
0
View file @
2f55a374
...
...
@@ -42,6 +42,14 @@ set_property(CACHE PROPERTY STRINGS "none" "cuda" "cuda-clang" "hip")
option
(
ARB_USE_BUNDLED_LIBS
"Use bundled 3rd party libraries"
OFF
)
#----------------------------------------------------------
# Debug support
#----------------------------------------------------------
# Print builtin catalogue configuration while building
option
(
ARB_CAT_VERBOSE
"Print catalogue build information"
OFF
)
mark_as_advanced
(
ARB_CAT_VERBOSE
)
#----------------------------------------------------------
# Configure-time features for Arbor:
#----------------------------------------------------------
...
...
This diff is collapsed.
Click to expand it.
mechanisms/BuildModules.cmake
+
12
−
11
View file @
2f55a374
...
...
@@ -58,7 +58,7 @@ function(build_modules)
endfunction
()
function
(
"make_catalogue"
)
cmake_parse_arguments
(
MK_CAT
""
"NAME;SOURCES;OUTPUT;ARBOR;STANDALONE"
"MECHS"
${
ARGN
}
)
cmake_parse_arguments
(
MK_CAT
""
"NAME;SOURCES;OUTPUT;ARBOR;STANDALONE
;VERBOSE
"
"MECHS"
${
ARGN
}
)
set
(
MK_CAT_OUT_DIR
"
${
CMAKE_CURRENT_BINARY_DIR
}
/generated/
${
MK_CAT_NAME
}
"
)
# Need to set ARB_WITH_EXTERNAL_MODCC *and* modcc
...
...
@@ -67,14 +67,15 @@ function("make_catalogue")
set
(
external_modcc MODCC
${
modcc
}
)
endif
()
message
(
"Catalogue name:
${
MK_CAT_NAME
}
"
)
message
(
"Catalogue mechanisms:
${
MK_CAT_MECHS
}
"
)
message
(
"Catalogue sources:
${
MK_CAT_SOURCES
}
"
)
message
(
"Catalogue output:
${
MK_CAT_OUT_DIR
}
"
)
message
(
"Arbor source tree:
${
MK_CAT_ARBOR
}
"
)
message
(
"Build as standalone:
${
MK_CAT_STANDALONE
}
"
)
message
(
"Source directory:
${
PROJECT_SOURCE_DIR
}
"
)
message
(
"Arbor arch:
${
ARB_CXXOPT_ARCH
}
"
)
if
(
MK_CAT_VERBOSE
)
message
(
"Catalogue name:
${
MK_CAT_NAME
}
"
)
message
(
"Catalogue mechanisms:
${
MK_CAT_MECHS
}
"
)
message
(
"Catalogue sources:
${
MK_CAT_SOURCES
}
"
)
message
(
"Catalogue output:
${
MK_CAT_OUT_DIR
}
"
)
message
(
"Arbor source tree:
${
MK_CAT_ARBOR
}
"
)
message
(
"Build as standalone:
${
MK_CAT_STANDALONE
}
"
)
message
(
"Arbor arch:
${
ARB_CXXOPT_ARCH
}
"
)
endif
()
file
(
MAKE_DIRECTORY
"
${
MK_CAT_OUT_DIR
}
"
)
...
...
@@ -99,9 +100,9 @@ function("make_catalogue")
add_custom_command
(
OUTPUT
${
catalogue_
${
MK_CAT_NAME
}
_source
}
COMMAND
${
PROJECT_SOURCE_DI
R
}
/mechanisms/generate_catalogue
${
catalogue_
${
MK_CAT_NAME
}
_options
}
${
MK_CAT_MECHS
}
COMMAND
${
MK_CAT_ARBO
R
}
/mechanisms/generate_catalogue
${
catalogue_
${
MK_CAT_NAME
}
_options
}
${
MK_CAT_MECHS
}
COMMENT
"Building catalogue
${
MK_CAT_NAME
}
"
DEPENDS
${
PROJECT_SOURCE_DI
R
}
/mechanisms/generate_catalogue
)
DEPENDS
${
MK_CAT_ARBO
R
}
/mechanisms/generate_catalogue
)
add_custom_target
(
${
MK_CAT_NAME
}
_catalogue_cpp_target DEPENDS
${
catalogue_
${
MK_CAT_NAME
}
_source
}
)
add_dependencies
(
build_catalogue_
${
MK_CAT_NAME
}
_mods
${
MK_CAT_NAME
}
_catalogue_cpp_target
)
...
...
This diff is collapsed.
Click to expand it.
mechanisms/CMakeLists.txt
+
6
−
3
View file @
2f55a374
...
...
@@ -7,7 +7,8 @@ make_catalogue(
OUTPUT
"CAT_BBP_SOURCES"
MECHS CaDynamics_E2 Ca_HVA Ca_LVAst Ih Im K_Pst K_Tst Nap_Et2 NaTa_t NaTs2_t SK_E2 SKv3_1
ARBOR
"
${
PROJECT_SOURCE_DIR
}
"
STANDALONE FALSE
)
STANDALONE FALSE
VERBOSE
${
ARB_CAT_VERBOSE
}
)
make_catalogue
(
NAME allen
...
...
@@ -15,7 +16,8 @@ make_catalogue(
OUTPUT
"CAT_ALLEN_SOURCES"
MECHS CaDynamics Ca_HVA Ca_LVA Ih Im Im_v2 K_P K_T Kd Kv2like Kv3_1 NaTa NaTs NaV Nap SK
ARBOR
"
${
PROJECT_SOURCE_DIR
}
"
STANDALONE FALSE
)
STANDALONE FALSE
VERBOSE
${
ARB_CAT_VERBOSE
}
)
make_catalogue
(
NAME default
...
...
@@ -23,7 +25,8 @@ make_catalogue(
OUTPUT
"CAT_DEFAULT_SOURCES"
MECHS exp2syn expsyn expsyn_stdp hh kamt kdrmt nax nernst pas
ARBOR
"
${
PROJECT_SOURCE_DIR
}
"
STANDALONE FALSE
)
STANDALONE FALSE
VERBOSE
${
ARB_CAT_VERBOSE
}
)
# Join sources
set
(
arbor_mechanism_sources
...
...
This diff is collapsed.
Click to expand it.
scripts/build-catalogue
+
25
−
18
View file @
2f55a374
...
...
@@ -43,7 +43,7 @@ def parse_arguments():
metavar
=
'
source
'
,
type
=
str
,
default
=
Path
(
__file__
).
parents
[
1
].
resolve
(),
help
=
'
Path to arbor sources; defaults to parent of this script
\'
s directory
'
)
help
=
'
Path to arbor sources; defaults to parent of this script
\'
s directory
.
'
)
parser
.
add_argument
(
'
modpfx
'
,
metavar
=
'
modpfx
'
,
...
...
@@ -54,10 +54,13 @@ def parse_arguments():
action
=
'
store_true
'
,
help
=
'
Verbose.
'
)
parser
.
add_argument
(
'
-q
'
,
'
--quiet
'
,
action
=
'
store_true
'
,
help
=
'
Less output.
'
)
parser
.
add_argument
(
'
-h
'
,
'
--help
'
,
action
=
'
help
'
,
help
=
'
d
isplay this help and exit
'
)
help
=
'
D
isplay this help and exit
.
'
)
return
vars
(
parser
.
parse_args
())
...
...
@@ -66,46 +69,50 @@ pwd = Path.cwd()
name
=
args
[
'
name
'
]
mod_dir
=
pwd
/
Path
(
args
[
'
modpfx
'
])
mods
=
[
f
[:
-
4
]
for
f
in
os
.
listdir
(
mod_dir
)
if
f
.
endswith
(
'
.mod
'
)
]
verbose
=
args
[
'
verbose
'
]
verbose
=
args
[
'
verbose
'
]
and
not
args
[
'
quiet
'
]
quiet
=
args
[
'
quiet
'
]
arb
=
args
[
'
source
'
]
cmake
=
"""
cmake
=
f
"""
cmake_minimum_required(VERSION 3.9)
project({
catalogu
e}-cat LANGUAGES CXX)
project(
{
nam
e
}
-cat LANGUAGES CXX)
find_package(arbor REQUIRED)
set(CMAKE_CXX_COMPILER ${{ARB_CXX}})
set(CMAKE_CXX_FLAGS ${{ARB_CXX_FLAGS}})
include(BuildModules.cmake)
set(ARB_WITH_EXTERNAL_MODCC true)
find_program(modcc NAMES modcc)
make_catalogue(
NAME {
catalogu
e}
NAME
{
nam
e
}
SOURCES
"
${{CMAKE_CURRENT_SOURCE_DIR}}/mod
"
OUTPUT
"
CAT_{catalogue}_SOURCES
"
MECHS {mods}
ARBOR {arb})
OUTPUT
"
CAT_
{
name
.
upper
()
}
_SOURCES
"
MECHS
{
'
'
.
join
(
mods
)
}
ARBOR
{
arb
}
STANDALONE ON
VERBOSE
{
"
ON
"
if
verbose
else
"
OFF
"
}
)
"""
print
(
f
"
Building catalogue
'
{
name
}
'
from mechanisms in
{
mod_dir
}
"
)
for
m
in
mods
:
print
(
"
*
"
,
m
)
if
not
quiet
:
print
(
f
"
Building catalogue
'
{
name
}
'
from mechanisms in
{
mod_dir
}
"
)
for
m
in
mods
:
print
(
"
*
"
,
m
)
with
TemporaryDirectory
()
as
tmp
:
print
(
f
"
Setting up temporary build directory:
{
tmp
}
"
)
tmp
=
Path
(
tmp
)
shutil
.
copytree
(
mod_dir
,
tmp
/
'
mod
'
)
os
.
mkdir
(
tmp
/
'
build
'
)
os
.
chdir
(
tmp
/
'
build
'
)
with
open
(
tmp
/
'
CMakeLists.txt
'
,
'
w
'
)
as
fd
:
fd
.
write
(
cmake
.
format
(
catalogue
=
name
,
mods
=
'
'
.
join
(
mods
),
arb
=
arb
)
)
fd
.
write
(
cmake
)
shutil
.
copy2
(
f
'
{
arb
}
/mechanisms/BuildModules.cmake
'
,
tmp
)
shutil
.
copy2
(
f
'
{
arb
}
/mechanisms/generate_catalogue
'
,
tmp
)
print
(
"
Configuring...
"
)
sp
.
run
(
'
cmake ..
'
,
shell
=
True
,
check
=
True
,
capture_output
=
not
verbose
)
print
(
"
Building...
"
)
sp
.
run
(
'
make
'
,
shell
=
True
,
capture_output
=
not
verbose
)
print
(
"
Cleaning-up...
"
)
shutil
.
copy2
(
f
'
{
name
}
-catalogue.so
'
,
pwd
)
print
(
f
'
Catalogue has been built and copied to
{
pwd
}
/
{
name
}
-catalogue.so
'
)
if
not
quiet
:
print
(
f
'
Catalogue has been built and copied to
{
pwd
}
/
{
name
}
-catalogue.so
'
)
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment