10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-12-22 20:35:19 +01:00

Working ninja

This commit is contained in:
Thomas Applencourt 2015-06-10 18:16:29 +02:00
parent c63f2117cf
commit fbed320e83
3 changed files with 22 additions and 22 deletions

View File

@ -12,7 +12,8 @@ The script to create the dependency file (aka `build.ninja`) is
* If you only want the binaries (for production workflow) use the flag
`--production` in when calling this script. It's quicker
* Else if you are a developer and you want to be able to compile specific
modules use: `--development`
modules use: `--development`. It will create for you the `build.ninja` in each
module
## Compilation Flags
@ -23,12 +24,7 @@ used. You can edit these files to modify the compiling options.
## Example to create the Ninja file
`qp_create_ninja.py --production $QP_ROOT/config/ifort.cfg`
# WARNING
For now you need to execute this command if you add a `irp.f` or `EZFIO.cfg`
file or modify the `NEED_CHILDREN_MODULE`!
`qp_create_ninja.py create --production $QP_ROOT/config/ifort.cfg`
## Compiling
@ -37,5 +33,6 @@ elsewhere). The compilation will take approximately 3 min.
If you have set the `--developement` flag in a specific module you can go in
the corresponding module directory and run `ninja` to build only this module.
You can type `ninja all` in a module for compiling all the submodule
Finally, go in `$QP_ROOT/ocaml` and type `make`

View File

@ -247,11 +247,7 @@ def ninja_ezfio_build(l_ezfio_config, l_util):
l_ezfio_from_cfg = [i.ez_config.abs for i in l_util.itervalues()]
str_ = " ".join(l_ezfio_config + l_ezfio_from_cfg)
ezfio_make_config = join(QP_ROOT_EZFIO, "make.config")
l_string = ["build {0} {1}: build_ezfio {2}".format(EZFIO_LIB,
ezfio_make_config,
str_), ""]
l_string = ["build {0}: build_ezfio {1}".format(EZFIO_LIB, str_), ""]
return l_string
@ -381,8 +377,7 @@ def ninja_irpf90_make_rule():
# c m d #
# ~#~#~ #
l_cmd = ["cd $module", "rm -rf IRPF90_temp IRPF90_man"
] + l_flag + ["irpf90 $include_dir $IRPF90_FLAGS"]
l_cmd = ["cd $module"] + l_flag + ["irpf90 $include_dir $IRPF90_FLAGS"]
# ~#~#~#~#~#~ #
# s t r i n g #
@ -559,7 +554,7 @@ def ninja_binaries_rule():
# c m d #
# ~#~#~ #
l_cmd = ["cd $module/IRPF90_temp", "ninja $out"]
l_cmd = ["cd $module/IRPF90_temp", "ninja $out && touch $out"]
# ~#~#~#~#~#~ #
# s t r i n g #
@ -653,15 +648,18 @@ def ninja_dot_tree_build(path_module):
def create_ninja_module(path_module):
path_ninja_root = join(QP_ROOT, "build.ninja")
l_string = [
"rule update_ninja_common", " command = qp_create_ninja.py update",
"", "rule make_local_binaries",
" command = ninja -f {0} module_{1}".format(path_ninja_root,
path_module.rel), ""
]
l_string = ["rule update_ninja_common",
" command = qp_create_ninja.py update", ""]
l_string += ["rule make_local_binaries",
" command = ninja -j 1 -f {0} module_{1}".format(
path_ninja_root, path_module.rel),
" description = Compile only {0}".format(path_module.rel),
""]
l_string += ["rule make_all_binaries",
" command = ninja -f {0}".format(path_ninja_root), ""]
" command = ninja -j 1 -f {0}".format(path_ninja_root),
" description = Compile all the module", ""]
l_string += ["build dumy_target: update_ninja_common", "",
"build all: make_all_binaries dumy_target", "",

View File

@ -20,3 +20,8 @@ default: Huckel
type: double precision
doc: Calculated HF energy
interface: output
[energy_sdfsdf]
type: double precision
doc: Calculated HF energy
interface: output