3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-25 05:43:40 +01:00
Commit Graph

45 Commits

Author SHA1 Message Date
Hartmut Hafermann
32112d47b7 added check for mpi4py in config 2014-07-16 11:35:46 +02:00
Hartmut Hafermann
34414cc096 fixed cmake dependency warnings 2014-07-16 11:26:10 +02:00
Olivier Parcollet
ab3b9b3d4d Draft libclang based python wrapper desc generator
- Given a C++ file, e.g. a class,
  it calls libclang to parse the C++, and retrieve from
  its AST the necessary info to write a xxx_desc.py file.

- THIS IS WORK IN PROGRESS. There are several corner cases for which we
  may want (or not) the script to do better.
- It is not designed to be used automatically, but to to 90 % of the
  boring typesetting work...
- The preamble still needs manual choices

- The properties, methods, functions are automatically declared in
  the _desc file, in the simplest possible way.
- An option --properties, -p : to transform some simple methods or
  get_x, set_x into python properties, not methods.
  Cf doc.

- requires clang (tested on 3.4).
- the script is configured by cmake and installed in
  INSTALLATION_DIRECTORY/bin, with some other files.
  It can only be used for applications, after the lib has been installed.
  It is cmake configured, to include automatically the various include
  paths configure in the triqs installation, including the triqs install dir
  in order to simplify invocation.

- TODO : improve, and test more in real cases.
2014-07-08 23:37:59 +02:00
Olivier Parcollet
fcfcce8d61 Cmake. Fix #97 and #89
- C++14 mode not automatic. Was based on compiler version,
  but the version of the C++ lib also matters....
  Now, there is an explicit USE_CPP14 option [default =OFF]
  to set to compile in c++1y mode.
  Solve also #89, i.e. the flags is now in TRIQS_CXX_DEFINITIONS and
  therefore pass to applications (including ipython magic).

- Python_use_mpi4py is now ON by default.
  Rational : it has been used for a while by e.g. Thomas,
  and it is necessary on OS X (boost.mpi.python raises a lot of issues).
  Hence we put it as default.

- Rename the option Build_Triqs_General_Tools_Test to a simpler
  Build_Tests
2014-07-02 21:44:51 +02:00
Olivier Parcollet
aa126e178b update for xcode 5.1.1
- clang 3.4 on default Os X.
- automatically in C++14 mode.
- a little fix in clef (var >> ...) because of an apparent bug in auto
  detection in clang.
2014-06-11 16:23:48 +02:00
Olivier Parcollet
243d4a798b wrapper: add use_module
- a module can use the converters used by another
  with the use_module('A') command.
  In which case :
    - the generate converter header for A will be included.
    - the header, at the top, now contains a simple list of all
      wrapped types, which is then included in the wrapped_types
      of the module for proper code generation.
- simplify the code generation : just generate_code.
- all arguments are analyzed from sys.argv at the import of the
  wrap_generator module. In any case, the xx_desc.py will be called from the corresponding
  cmake command, hence with the right arguments.
- Added a dependencies in my_module_B of wrap_test to show how to make
  the dependencies in the cmake file, if needed.
2014-05-30 19:34:13 +02:00
Olivier Parcollet
2d071bb74b Remove Cython & prepare wrapper for applis.
- removed cython : macro, detection, pxd, etc...
- adapt wrapper tools for external applis.
- cleaned doc for cython
2014-05-30 19:34:13 +02:00
Michel Ferrero
4404fd191b Add macro to get git hash for applications 2014-05-24 00:40:49 +02:00
Olivier Parcollet
f2136f7b80 gf. wrap legendre. 2014-05-22 17:56:42 +02:00
Olivier Parcollet
8c0bf592d0 Fix compilation of py_converter.
- py_converters in hpp files
- add guard to prevent inclusion in the wrapper (to avoid 2
  specialisation of the same py_converter).
2014-05-20 22:24:30 +02:00
Olivier Parcollet
af084f5d59 parameters & wrapper
- new parameter class :
  parameters are viewed as form, built in C++, and filled in C++/python.
  Each field of the form as a precise C++ type (erased using standard techniques).
  First tests ok, to be reread/checked.

  TODO : serialization is commented. Lead to long compilation time & large code
  due to boost::serialization. Use h5 when possible.

- wrapper :
  - separated the converters of the wrapped type in the TRIQS library
  - necessary for parameters (it used outside an .so) and potentially
    other codes, outside an .so module
2014-05-19 15:19:18 +02:00
Olivier Parcollet
5105e04ac7 Add new wrapper generator
- with pytriqs.wrap_test as an example.
2014-05-11 21:47:46 +02:00
Olivier Parcollet
9762b95936 Correction to previous commit 2014-04-04 12:03:06 +02:00
Olivier Parcollet
6fc131cd5d add nfft detection 2014-04-04 11:51:08 +02:00
Olivier Parcollet
35a15f0f35 Remove default c++14 flags on clang 3.4 ...
- a flag left by mistake after checking portability on C++1y...
2014-01-28 20:59:05 +01:00
Olivier Parcollet
eec9a0662a continued : further correction on mac
The issue was the detection of clang version on mac,
depends if packaged by Apple or not...
2014-01-09 19:42:01 +01:00
Olivier Parcollet
8f7180660f Put back the check of compiler version commented for unknown reasons...
Probably a mistake ....
2014-01-09 19:27:55 +01:00
Olivier Parcollet
bdac3e159c work on doc for gf, and details.
- little details : code cleaning, clang formatting,  along
with documentation writing for c++ gf.
- separated the mesh in small class for better doc.
- work on documentation : reorganize specialisation, ...
2013-12-30 22:32:16 +01:00
Olivier Parcollet
0b166461ef Add C++14 detection and flags
- if compiler detected, compile in c++1y mode.
- override with -Dcompiler_is_c14=ON if not detected.
- compilation in c++1y on clang 3.4 ok on OS X
2013-12-10 11:54:31 +01:00
Olivier Parcollet
0b7bfec32e Work on doc. 2013-11-18 23:41:32 +01:00
Olivier Parcollet
e703b1e2b7 port to clang 3.4
- little narrowing details
2013-11-18 23:41:32 +01:00
Olivier Parcollet
1517cdaaeb clean the TRIQS_COMPILER macros
- from now on, C++11 compilers only.
- no ressources to maintain old stuff.
2013-10-21 15:12:08 +02:00
Olivier Parcollet
800aea4c5e remove workaround for icc 13.0
- deprecated....
- remove the TRIQS_WORKAROUND_INTEL_COMPILER_BUGS macro
2013-10-17 00:32:09 +02:00
Olivier Parcollet
44bd729252 cmake: in test macro, add rpath 2013-10-11 16:19:38 +02:00
Olivier Parcollet
89c1ae23d1 exported cmake: add add_all_C_tests_in_current_directory
- for applications...
2013-10-11 11:44:41 +02:00
Michel Ferrero
fc3e6b904a Fix TRIQSConfig for standalone projects
Small fix to allow standalone project to use the triqs_set_rpath_for_target
macro.

  modified:   cmake/TRIQSConfig.cmake.in
2013-09-30 11:03:14 +02:00
Michel Ferrero
5addd5412b Modification of triqs_prepare_local_pytriqs macro
With this modification it should now be possible to compile
an application even if:

1) It has already been installed
2) One does not have write permissions on the installed dir

  modified:   cmake/TRIQSConfig.cmake.in
2013-09-17 16:26:58 +02:00
Michel Ferrero
a5b122d91a Fix cmake so that -DMATHJAX_PATH works
modified:   CMakeLists.txt
  modified:   cmake/FindMathJax.cmake
2013-09-09 14:49:15 +02:00
Michel Ferrero
b1840d2a32 Further fix of issue with installation of __init__
modified:   cmake/TRIQSConfig.cmake.in
2013-09-04 12:54:46 +02:00
Michel Ferrero
3e96228770 Fix issue with installation of __init__.py files
modified:   cmake/TRIQSConfig.cmake.in
2013-09-04 12:37:50 +02:00
Michel Ferrero
eb8060c290 Get rid of boost_for_triqs in doc 2013-09-03 19:14:24 +02:00
Olivier Parcollet
f04b0b1058 cmake : fix a detail in __init__ generation
should use .python/__init_... to create the file.
not python, otherwise when compiling application
*in source* (like brew does) this is a mess...
2013-09-02 21:25:43 +02:00
Michel Ferrero
93eea0ed74 Get rid of boost compilation from sources
Also change pytriqs.boost to boost
2013-09-02 14:26:32 +02:00
Michel Ferrero
9c258fa7e1 Add tools to be able to find version and release
I added a version.hpp and updated the version.py so that
one can find the version of the library either from the
c++ or the python (if there is python support).

  modified:   CMakeLists.txt
  modified:   cmake/TRIQSConfig.cmake.in
  modified:   pytriqs/version.py.in
  modified:   triqs/CMakeLists.txt
  new file:   triqs/version.hpp.in
2013-08-29 11:41:19 +02:00
Michel Ferrero
4cb83c370b Fix RPATH issues
modified:   cmake/TRIQSConfig.cmake.in
2013-08-07 17:06:44 +02:00
Michel Ferrero
f7a44ad6dd Allow to fix install_name_dir for OSX
modified:   cmake/TRIQSConfig.cmake.in
2013-08-02 14:01:21 +02:00
Michel Ferrero
efde32d1e0 Clean a bit CMakeFiles
modified:   cmake/BuildSphinx.cmake
  modified:   cmake/FindTestScriptHdf.cmake
  modified:   cmake/FindTriqsTest.cmake.in
  modified:   cmake/TRIQSConfig.cmake.in
2013-08-02 10:16:28 +02:00
Olivier Parcollet
4f4c697897 separate some tests in c++11 dir for old compilers.
new policy : for non standard conforming compilers,
we can skip the tests using new features using recent c++ features.
I.e. compilers below gcc 4.8.1, clang 3.3.
2013-07-30 22:37:41 +02:00
Olivier Parcollet
9290e640fd icc : workaround macro was not set in the config.h
- forgot to declare one cmake var.
- test can now be not compiled (Build_Triqs_General_Tools_Test had no
  effect)
2013-07-25 23:08:44 +02:00
Olivier Parcollet
f12eccc69f cmake: add macro to fix rpath to triqs install
- to be tested on mac
2013-07-25 15:19:54 +02:00
Michel Ferrero
505839b339 Fix a misplaced NOT in FindCompilerCheck.cmake
modified:   cmake/FindCompilerCheck.cmake
2013-07-24 14:34:41 +02:00
Olivier Parcollet
cd411bba1e add little modif to make the dft apps 2013-07-23 20:57:53 +02:00
Olivier Parcollet
6bf0d0f6b5 Add details for applis compilation/install
- generation of test script
- export new variables
2013-07-22 21:52:26 +02:00
Olivier Parcollet
aa2c52cb01 utility : tuple, complex_ops
- add _j notation on C++11 compliant compilers
- correct tuple fold (was working in reverse)
- add construction of mini_vector from tuple
2013-07-19 13:27:03 +02:00
Olivier Parcollet
f2c7d449cc First commit : triqs libs version 1.0 alpha1
for earlier commits, see TRIQS0.x repository.
2013-07-17 19:24:07 +02:00