mirror of
https://github.com/LCPQ/quantum_package
synced 2024-12-23 04:43:50 +01:00
Working ninja
This commit is contained in:
parent
c63f2117cf
commit
fbed320e83
@ -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
|
* If you only want the binaries (for production workflow) use the flag
|
||||||
`--production` in when calling this script. It's quicker
|
`--production` in when calling this script. It's quicker
|
||||||
* Else if you are a developer and you want to be able to compile specific
|
* 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
|
## Compilation Flags
|
||||||
|
|
||||||
@ -23,12 +24,7 @@ used. You can edit these files to modify the compiling options.
|
|||||||
|
|
||||||
## Example to create the Ninja file
|
## Example to create the Ninja file
|
||||||
|
|
||||||
`qp_create_ninja.py --production $QP_ROOT/config/ifort.cfg`
|
`qp_create_ninja.py create --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`!
|
|
||||||
|
|
||||||
## Compiling
|
## 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
|
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.
|
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`
|
Finally, go in `$QP_ROOT/ocaml` and type `make`
|
||||||
|
@ -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()]
|
l_ezfio_from_cfg = [i.ez_config.abs for i in l_util.itervalues()]
|
||||||
|
|
||||||
str_ = " ".join(l_ezfio_config + l_ezfio_from_cfg)
|
str_ = " ".join(l_ezfio_config + l_ezfio_from_cfg)
|
||||||
|
l_string = ["build {0}: build_ezfio {1}".format(EZFIO_LIB, str_), ""]
|
||||||
ezfio_make_config = join(QP_ROOT_EZFIO, "make.config")
|
|
||||||
l_string = ["build {0} {1}: build_ezfio {2}".format(EZFIO_LIB,
|
|
||||||
ezfio_make_config,
|
|
||||||
str_), ""]
|
|
||||||
|
|
||||||
return l_string
|
return l_string
|
||||||
|
|
||||||
@ -381,8 +377,7 @@ def ninja_irpf90_make_rule():
|
|||||||
# c m d #
|
# c m d #
|
||||||
# ~#~#~ #
|
# ~#~#~ #
|
||||||
|
|
||||||
l_cmd = ["cd $module", "rm -rf IRPF90_temp IRPF90_man"
|
l_cmd = ["cd $module"] + l_flag + ["irpf90 $include_dir $IRPF90_FLAGS"]
|
||||||
] + l_flag + ["irpf90 $include_dir $IRPF90_FLAGS"]
|
|
||||||
|
|
||||||
# ~#~#~#~#~#~ #
|
# ~#~#~#~#~#~ #
|
||||||
# s t r i n g #
|
# s t r i n g #
|
||||||
@ -559,7 +554,7 @@ def ninja_binaries_rule():
|
|||||||
# c m d #
|
# 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 #
|
# s t r i n g #
|
||||||
@ -653,15 +648,18 @@ def ninja_dot_tree_build(path_module):
|
|||||||
def create_ninja_module(path_module):
|
def create_ninja_module(path_module):
|
||||||
path_ninja_root = join(QP_ROOT, "build.ninja")
|
path_ninja_root = join(QP_ROOT, "build.ninja")
|
||||||
|
|
||||||
l_string = [
|
l_string = ["rule update_ninja_common",
|
||||||
"rule update_ninja_common", " command = qp_create_ninja.py update",
|
" command = qp_create_ninja.py update", ""]
|
||||||
"", "rule make_local_binaries",
|
|
||||||
" command = ninja -f {0} module_{1}".format(path_ninja_root,
|
l_string += ["rule make_local_binaries",
|
||||||
path_module.rel), ""
|
" 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",
|
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", "",
|
l_string += ["build dumy_target: update_ninja_common", "",
|
||||||
"build all: make_all_binaries dumy_target", "",
|
"build all: make_all_binaries dumy_target", "",
|
||||||
|
@ -20,3 +20,8 @@ default: Huckel
|
|||||||
type: double precision
|
type: double precision
|
||||||
doc: Calculated HF energy
|
doc: Calculated HF energy
|
||||||
interface: output
|
interface: output
|
||||||
|
|
||||||
|
[energy_sdfsdf]
|
||||||
|
type: double precision
|
||||||
|
doc: Calculated HF energy
|
||||||
|
interface: output
|
||||||
|
Loading…
Reference in New Issue
Block a user