3
0
mirror of https://github.com/triqs/dft_tools synced 2024-11-01 03:33:50 +01:00
Commit Graph

27 Commits

Author SHA1 Message Date
Olivier Parcollet
6fb71f50c9 desc wrapper generator: small improve, clean
- detect the use module.
- clean the code specific to wrapper generation from clang_parser.
- add support for default arguments for int, double, char.
- TODO : add more complex default arguments
2014-07-26 18:37:20 +02:00
Priyanka Seth
c61b8941ee More prettification: can not --> cannot 2014-07-16 23:30:05 +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
4af1afbdaf hdf5 : clean up
- For users : only change is :
   H5::H5File in apps. to be replaced by triqs::h5::file, same API.

- using only the C API because :
   - it is cleaner, better documented, more examples.
   - it is the native hdf5 interface.
   - simplify the installation e.g. on mac. Indeed, hdf5 is
     usually installed without C++ interface, which is optional.
     E.g. EPD et al., brew by default.
     Also the infamous mpi+ hdf5_cpp bug, for which we have no clean solution.

- clean the notion of parent of a group. Not needed, better iterate function in C LT API.
- modified doc : no need for C++ bindings any more.
- modified cmake to avoid requiring CPP bindings.
2014-06-22 13:57:47 +02:00
Michel Ferrero
b0c969a507 Add hdf5 version detection in CMakeLists.txt
Might be useful at some point.
2014-05-22 23:58:07 +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
6fc131cd5d add nfft detection 2014-04-04 11:51:08 +02:00
Olivier Parcollet
1a0ebea512 Fix #40 2013-12-17 21:38:11 +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
fb6b47cacf cmake. group c++11 flags
Now that boost compilation is gone, no need
of that mess.
Put same compilation flags for all code.
2013-12-04 22:24:14 +01:00
tayral
d86c0df332 Fix #8
- Order of inclusion of Python include path and nunpy python include path
reversed.
--> on Ubuntu 12.04, there is a link numpy in /usr/include/python2.7
which was *before* the numpy include path, i.e.  in this case
the new version of numpy installed by virtualenv.

By reversing the order of the include, the numpy arrayobject.h
file of virtualenv is found first, the Python.h is found anyway
in the correct system directory (does not change with new numpy version).

O. Parcollet
2013-09-11 14:48:05 +02:00
Michel Ferrero
e3c0ab526a Update necessary cmake version
Also removed Fortran.
2013-09-10 16:49:17 +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
eb8060c290 Get rid of boost_for_triqs in doc 2013-09-03 19:14:24 +02:00
Michel Ferrero
cbea003f9f Hide Boost_DIR in ccmake
I mark it as advanced to avoid confusion.
2013-09-02 14:34:31 +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
Olivier Parcollet
59dbacedb6 Work on doc
- added ERC logo
- worked on first page
- added : packaging/os_x : brew formula for boost, triqs, applications
2013-08-30 20:28:41 +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
Olivier Parcollet
3078401cb6 cmake: use ENV variable BOOST_SOURCE_DIR if present
if BOOST_SOURCE_DIR is defined in ENV variable,
and is not overruled by -DBOOST_SOURCE_DIR at cmake invocation
then we use it.

If BOOST_SOURCE_DIR is not defined in ENV variable,
and not defined by -DBOOST_SOURCE_DIR,
then we look for the system compiled boost.

-> allows to set up BOOST_SOURCE_DIR in your bashrc
on machine where boost compilation is needed, once for all
2013-08-27 11:19:17 +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
27b28790f3 cmake. add system to boost detection 2013-07-26 10:41:10 +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
f2c7d449cc First commit : triqs libs version 1.0 alpha1
for earlier commits, see TRIQS0.x repository.
2013-07-17 19:24:07 +02:00