CMake plugin composer.

Related tags

Build Systems cmake
Overview
Comments
  • MS Windows Server 2012: IOError: [Errno socket error] [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590)

    MS Windows Server 2012: IOError: [Errno socket error] [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590)

    Hi,

    I am opening separate issue for this task of adapting the core python script - update.py - for the MS Windows platform.

    Currently it is throwing this error below. Any help is appreciated.

    C:\Users\milias\Documents\work\software\autocmake\autocmake\test\fc\cmake>python update.py  --self
    - fetching lib/config.py
    Traceback (most recent call last):
      File "update.py", line 308, in <module>
        main(sys.argv)
      File "update.py", line 264, in main
        dst='lib/config.py'
      File "update.py", line 42, in fetch_url
        opener.retrieve(src, dst)
      File "C:\Python27\lib\urllib.py", line 245, in retrieve
        fp = self.open(url, data)
      File "C:\Python27\lib\urllib.py", line 213, in open
        return getattr(self, name)(url)
      File "C:\Python27\lib\urllib.py", line 443, in open_https
        h.endheaders(data)
      File "C:\Python27\lib\httplib.py", line 997, in endheaders
        self._send_output(message_body)
      File "C:\Python27\lib\httplib.py", line 850, in _send_output
        self.send(msg)
      File "C:\Python27\lib\httplib.py", line 812, in send
        self.connect()
      File "C:\Python27\lib\httplib.py", line 1216, in connect
        server_hostname=server_hostname)
      File "C:\Python27\lib\ssl.py", line 350, in wrap_socket
        _context=self)
      File "C:\Python27\lib\ssl.py", line 566, in __init__
        self.do_handshake()
      File "C:\Python27\lib\ssl.py", line 788, in do_handshake
        self._sslobj.do_handshake()
    IOError: [Errno socket error] [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:581)
    
    C:\Users\milias\Documents\work\software\autocmake\autocmake\test\fc\cmake>
    
    opened by miroi 22
  • Ensure that CMake and Python frontend script generate the same build system

    Ensure that CMake and Python frontend script generate the same build system

    As discussed in #219 we need to make sure that using bare CMake and the frontend script gives the same result. i admit that using the frontend script should be preferred: it can be more concise and actually saves the setup command for later use. However, some users might be already very familiar with bare CMake and we need to make sure not to confuse them.

    The strategy here is to make sure that options defined in modules always have a default value. The Python frontend script defines all such options with sensible defaults, the mechanism for this is the define section on top of the module files. This has to be replicated for bare CMake and I've added three macros (thanks @loriab and @ryanmrichard 🎉) to the top of the autogenerated root CMakeLists.txt that can be used for the purpose:

    • print_option(<option to print> <was specified>). Pretty-prints an option.
    • option_with_print(<option name> <description> <default value>). Wraps an ON/OFF option and pretty-prints it too.
    • option_with_default(<option name> <description> <default value>). Wraps any other type of option and pretty-prints it too.

    I have fixed some bugs and "fortified" math_libs.cmake to illustrate how this works. Basically, any -DTHIS and -DTHAT that appear in the define sections need to be also listed in the CMake script using option_with_print or option_with_default. This is tedious, but saves a lot of WTF moments and imposing one way of doing on users. As a byproduct of hande-qmc/hande#3, detection and linkage of Intel MKL ScaLAPACK works slightly better. ScaLAPACK from other vendors can be set via SCALAPACK_LIBRARIES.

    opened by robertodr 20
  • CMAKE_Fortran_FLAGS empty ?

    CMAKE_Fortran_FLAGS empty ?

    When printing CMAKE_Fortran_FLAGS, I see they are empty (see https://testboard.org/cdash/buildSummary.php?buildid=32904 ).

    However, they are appearing in the compiling command of cmake, what is correct. Any help how to fill this variable in autocmake module(s) ?

    opened by miroi 20
  • py.test:

    py.test: "Error evaluating 'skipif' expression"

    Hi,

    probably Python 2.6.6, which is on Slovakia clusters, is not equipped with the 'skipif' feature. Any help, please ?

    [email protected]:/shared/home/ilias/Work/programming_stuff/autocmake/.py.test -v test/test.py 
    ================================================================= test session starts =================================================================
    platform linux2 -- Python 2.6.6 -- pytest-2.3.5 -- /usr/bin/python
    collected 10 items 
    
    test/test.py:120: test_cxx_custom PASSED
    test/test.py:126: test_extra_cmake_options PASSED
    test/test.py:132: test_cxx PASSED
    test/test.py:138: test_fc PASSED
    test/test.py:144: test_fc_git_info PASSED
    test/test.py:150: test_fc_int64 PASSED
    test/test.py:156: test_fc_mpi ERROR
    test/test.py:163: test_fc_omp ERROR
    test/test.py:171: test_fc_blas ERROR
    test/test.py:178: test_fc_lapack ERROR
    
    ======================================================================= ERRORS ========================================================================
    ____________________________________________________________ ERROR at setup of test_fc_mpi ____________________________________________________________
    Error evaluating 'skipif' expression
        False
    Failed: expression is not a string
    
    ____________________________________________________________ ERROR at setup of test_fc_omp ____________________________________________________________
    Error evaluating 'skipif' expression
        False
    Failed: expression is not a string
    
    ___________________________________________________________ ERROR at setup of test_fc_blas ____________________________________________________________
    Error evaluating 'skipif' expression
        False
    Failed: expression is not a string
    
    __________________________________________________________ ERROR at setup of test_fc_lapack ___________________________________________________________
    Error evaluating 'skipif' expression
        False
    Failed: expression is not a string
    
    ========================================================= 6 passed, 4 error in 29.38 seconds ==========================================================
    [email protected]:/shared/home/ilias/Work/programming_stuff/autocmake/.
    
    opened by miroi 20
  • explicit libs example ?

    explicit libs example ?

    Hi,

    I wanted explicit libraries to be passed to compiled objects.

    I put into autocmake.cfg (after DIRAC autocmake.cfg)

    [explicit]
    docopt: --explicit-libs=<LIBS> Explicit linker specification for extra libraries passed directly to the linker [default: off].
    define: '-DEXPLICIT_LIBS=%s' % arguments['--explicit-libs'].strip()
    

    did setup

    python setup --fc=gfortran --blas=off --lapack=off --explicit-libs="/u/milias/Work/qch/software/lapack/lapack-3.6.0/build/lib/liblapack.a  /u/milias/Work/qch/software/lapack/lapack-3.6.0/build/lib/libblas.a"  build_gfortran_lapack3.6.0
    

    but the linking command is not complete:

    /usr/bin/gfortran       -O3 -funroll-all-loops CMakeFiles/dsyerv_check.dir/dsyerv_check.F90.o CMakeFiles/dsyerv_check.dir/eispack.F.o  -o dsyerv_check -rdynamic /u/milias/Work/qch/software/lapack/lapack-3.6.0/build/lib/liblapack.a
    

    The reason could be the python strip() command. Could we have an autocmake example of explicit libs adding ?

    opened by miroi 13
  • Compilers versions determination

    Compilers versions determination

    I am opening this issue to discuss how to implement the determination of compilers versions as was implemented in DIRAC by Ivan Hrasko ( @ihrasko ).

    Should I create a subdirectory modules/compilers_version and put python script and a new cmake module there ?

    Comments, hints & tips ?

    opened by miroi 13
  • Detection of openblas on both Linux and  MS Windows (as libopenblas.dll)

    Detection of openblas on both Linux and MS Windows (as libopenblas.dll)

    Hi,

    concerning the current openblas support we have: https://github.com/scisoft/autocmake/blob/master/modules/math_libs.cmake#L115

    we are missing the Windows OpenBLAS support, which is described here: https://github.com/xianyi/OpenBLAS/issues/461#issuecomment-74715665

    According to this thread it would be good to incorporate OpenBLASConfig.cmake commands into math_libs.cmake to enable linking against "libopenblas.dll".

    For example, passing (and linking) of openblas library works for DIRAC on MS Windows (https://gitlab.com/dirac/dirac/blob/master/maintenance/cdash/cdash.WinS12-Miro.bat#L67, see also https://gitlab.com/dirac/dirac/blob/master/cmake/math/MathLibs.cmake#L80 ).

    Windows OpenBLAS version (libopenblas.dll) is needed for the new fc_openblas test I am currently working on.

    enhancement 
    opened by miroi 13
  • setup swallows stdout screen messages when stderr message appear

    setup swallows stdout screen messages when stderr message appear

    Simple modification of autocmake/test/fc/src/CMakeLists.txt

    add_executable(example example.f90 module.f90)
    if (FOO)
     message(STATUS "FOO active!")
     message(WARNING "FOO warning")
    endif()
    

    gives i) nothing swallowed when FOO inactive:

    [email protected]:~/Work/qch/software/small_projects/autocmake/test/fc/.python ./setup --cmake-options="-D FOO=OFF" build_x1
    FC=gfortran cmake -DEXTRA_FCFLAGS="''" -DCMAKE_BUILD_TYPE=release -G "Unix Makefiles" -D FOO=OFF /u/milias/Work/qch/software/small_projects/autocmake/test/fc
    
    -- The C compiler identification is GNU 4.7.2
    -- The CXX compiler identification is GNU 4.7.2
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- The Fortran compiler identification is GNU 4.7.2
    -- Check for working Fortran compiler: /usr/bin/gfortran
    -- Check for working Fortran compiler: /usr/bin/gfortran  -- works
    -- Detecting Fortran compiler ABI info
    -- Detecting Fortran compiler ABI info - done
    -- Checking whether /usr/bin/gfortran supports Fortran 90
    -- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /u/milias/Work/qch/software/small_projects/autocmake/test/fc/build_x1
    
       configure step is done
       now you need to compile the sources:
       $ cd build_x1
       $ make
    

    or all STATUS messages are swallowed when FOO variable is active:

    [email protected]:~/Work/qch/software/small_projects/autocmake/test/fc/.python ./setup --cmake-options="-D FOO=ON" build_x
    FC=gfortran cmake -DEXTRA_FCFLAGS="''" -DCMAKE_BUILD_TYPE=release -G "Unix Makefiles" -D FOO=ON /u/milias/Work/qch/software/small_projects/autocmake/test/fc
    
    CMake Warning at src/CMakeLists.txt:4 (message):
      FOO warning
    
    opened by miroi 12
  • added new fc_lapack test

    added new fc_lapack test

    • checked with GNU/Intel/PGI compilers and the MKL library
      • also fixed tests fc, fc_blas for PGI compiler

    Wished to have core autocmake-blas/lapack tests running with many compilers as prelude for developing autocmake-DIRAC/

    opened by miroi 11
  • Missing working ctest example

    Missing working ctest example

    As I am trying to adapt tests for https://github.com/miroi/mathlibs-tester, I am missing working ctest-autocmake example.

    Is it worth for consideration ?

    opened by miroi 10
  • Parse language field in YAML

    Parse language field in YAML

    Parse language field in YAML to generate project(<PROJECT_NAME <PROJECT_LANGUAGE>) in CMakeLists.txt

    Why? Delayed enabling of languages within the cc.cmake, cxx.cmake and fc.cmake causes CMake to load C and C++ as default languages for a project. This is in principle unnecessary for a project that only needs one language. The "only one language" behavior can be enforced by setting the language when declaring the project.

    Questions

    • [x] This line uses a ternary if to check whether a list of languages or a single language was given. It might not be exactly the most readable piece of code.

    • [x] The enable_language in cc.cmake, cxx.cmake and fc.cmake is probably redundant.

    • [x] Ready to go

    opened by robertodr 9
  • tests failed...

    tests failed...

    Hi Rado,

    any help why tests are crashing ?

    [email protected]:~/work/software/theoretical_chemistry/autocmake/.py.test -vv test/test.py
    ============================================================= test session starts =============================================================
    platform linux -- Python 3.7.3, pytest-7.1.1, pluggy-1.0.0 -- /usr/bin/python3
    cachedir: .pytest_cache
    rootdir: /home/milias/work/software/theoretical_chemistry/autocmake
    collected 14 items
    
    test/test.py::test_extra_cmake_options FAILED                                                                                           [  7%]
    test/test.py::test_cxx FAILED                                                                                                           [ 14%]
    test/test.py::test_fc FAILED                                                                                                            [ 21%]
    test/test.py::test_fc_git_info FAILED                                                                                                   [ 28%]
    test/test.py::test_fc_int64 FAILED                                                                                                      [ 35%]
    test/test.py::test_fc_omp FAILED                                                                                                        [ 42%]
    test/test.py::test_fc_blas FAILED                                                                                                       [ 50%]
    test/test.py::test_fc_lapack FAILED                                                                                                     [ 57%]
    test/test.py::test_cxx_cblas FAILED                                                                                                     [ 64%]
    test/test.py::test_cxx_accelerate FAILED                                                                                                [ 71%]
    test/test.py::test_python_interpreter FAILED                                                                                            [ 78%]
    test/test.py::test_python_interpreter_custom FAILED                                                                                     [ 85%]
    test/test.py::test_python_libs FAILED                                                                                                   [ 92%]
    test/test.py::test_python_libs_custom FAILED                                                                                            [100%]
    
    ================================================================== FAILURES ===================================================================
    __________________________________________________________ test_extra_cmake_options ___________________________________________________________
    
        def test_extra_cmake_options():
            configure_build_and_exe(
                'extra_cmake_options',
    >           'python setup --cxx=g++ --cmake-options="-DENABLE_SOMETHING=OFF -DENABLE_FOO=ON"'
            )
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:89:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'extra_cmake_options'
    setup_command = 'python setup --cxx=g++ --cmake-options="-DENABLE_SOMETHING=OFF -DENABLE_FOO=ON" build-2022-03-22-20-38-02', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    __________________________________________________________________ test_cxx ___________________________________________________________________
    
        def test_cxx():
    >       configure_build_and_exe('cxx', 'python setup --cxx=g++')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:94:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'cxx', setup_command = 'python setup --cxx=g++ build-2022-03-22-20-38-02', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    ___________________________________________________________________ test_fc ___________________________________________________________________
    
        def test_fc():
    >       configure_build_and_exe('fc', 'python setup --fc=gfortran')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:98:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'fc', setup_command = 'python setup --fc=gfortran build-2022-03-22-20-38-02', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    ______________________________________________________________ test_fc_git_info _______________________________________________________________
    
        def test_fc_git_info():
    >       configure_build_and_exe('fc_git_info', 'python setup --fc=gfortran')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:102:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'fc_git_info', setup_command = 'python setup --fc=gfortran build-2022-03-22-20-38-02', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    ________________________________________________________________ test_fc_int64 ________________________________________________________________
    
        def test_fc_int64():
    >       configure_build_and_exe('fc_int64', 'python setup --fc=gfortran --int64')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:106:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'fc_int64', setup_command = 'python setup --fc=gfortran --int64 build-2022-03-22-20-38-02', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    _________________________________________________________________ test_fc_omp _________________________________________________________________
    
        @skip_on_osx
        def test_fc_omp():
            os.environ['OMP_NUM_THREADS'] = '2'
    >       configure_build_and_exe('fc_omp', 'python setup --omp --fc=gfortran')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:112:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'fc_omp', setup_command = 'python setup --omp --fc=gfortran build-2022-03-22-20-38-02', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    ________________________________________________________________ test_fc_blas _________________________________________________________________
    
        def test_fc_blas():
    >       configure_build_and_exe('fc_blas', 'python setup --fc=gfortran --blas')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:116:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'fc_blas', setup_command = 'python setup --fc=gfortran --blas build-2022-03-22-20-38-02', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    _______________________________________________________________ test_fc_lapack ________________________________________________________________
    
        def test_fc_lapack():
    >       configure_build_and_exe('fc_lapack', 'python setup --fc=gfortran --lapack')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:120:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'fc_lapack', setup_command = 'python setup --fc=gfortran --lapack build-2022-03-22-20-38-03', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    _______________________________________________________________ test_cxx_cblas ________________________________________________________________
    
        @skip_on_osx
        def test_cxx_cblas():
    >       configure_build_and_exe('cxx_cblas', 'python setup --cxx=g++ --cblas')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:125:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'cxx_cblas', setup_command = 'python setup --cxx=g++ --cblas build-2022-03-22-20-38-03', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    _____________________________________________________________ test_cxx_accelerate _____________________________________________________________
    
        @skip_on_linux
        def test_cxx_accelerate():
            configure_build_and_exe('cxx_accelerate',
    >                               'python setup --cxx=g++ --accelerate')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:131:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'cxx_accelerate', setup_command = 'python setup --cxx=g++ --accelerate build-2022-03-22-20-38-03', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    ___________________________________________________________ test_python_interpreter ___________________________________________________________
    
        def test_python_interpreter():
    >       configure_build_and_exe('python_interpreter', 'python setup --cxx=g++')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:135:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'python_interpreter', setup_command = 'python setup --cxx=g++ build-2022-03-22-20-38-03', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    _______________________________________________________ test_python_interpreter_custom ________________________________________________________
    
        def test_python_interpreter_custom():
            setup = 'python setup --cxx=g++ --python=%s' % sys.executable
    >       configure_build_and_exe('python_interpreter_custom', setup)
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:140:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'python_interpreter_custom', setup_command = 'python setup --cxx=g++ --python=/usr/bin/python3 build-2022-03-22-20-38-03'
    launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    ______________________________________________________________ test_python_libs _______________________________________________________________
    
        def test_python_libs():
    >       configure_build_and_exe('python_libs', 'python setup --cxx=g++')
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:144:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'python_libs', setup_command = 'python setup --cxx=g++ build-2022-03-22-20-38-03', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    ___________________________________________________________ test_python_libs_custom ___________________________________________________________
    
        def test_python_libs_custom():
            python_executable = sys.executable
            configure_build_and_exe(
                'python_libs_custom',
    >           'python setup --cxx=g++ --python={0}'.format(python_executable))
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:151:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
    name = 'python_libs_custom', setup_command = 'python setup --cxx=g++ --python=/usr/bin/python3 build-2022-03-22-20-38-03', launcher = None
    
        def configure_build_and_exe(name, setup_command, launcher=None):
    
            stamp = datetime.datetime.fromtimestamp(
                time.time()).strftime('%Y-%m-%d-%H-%M-%S')
    
            os.chdir(os.path.join(HERE, name, 'cmake'))
            shutil.copy(os.path.join('..', '..', '..', 'update.py'), 'update.py')
    
            if os.path.exists('autocmake'):
                shutil.rmtree('autocmake')
            shutil.copytree(os.path.join('..', '..', '..', 'autocmake'), 'autocmake')
    
            stdout, stderr = exe('python update.py ..')
            os.chdir(os.path.join(HERE, name))
    
            make_command = 'make'
            binary = './bin/example'
            if sys.platform == 'win32':
                setup_command += ' --generator="MinGW Makefiles"'
                make_command = 'mingw32-make'
                binary = 'bin\\\example.exe'
    
            if launcher:
                binary = '%s %s' % (launcher, binary)
    
            setup_command += ' build-%s' % stamp
    
            stdout, stderr = exe(setup_command)
    >       assert stderr == ''
    E       assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    E         + python: can't open file 'setup': [Errno 2] No such file or directory
    
    /home/milias/work/software/theoretical_chemistry/autocmake/test/test.py:73: AssertionError
    ------------------------------------------------------------ Captured stderr call -------------------------------------------------------------
    ERROR: you need to install the pyyaml package
    python: can't open file 'setup': [Errno 2] No such file or directory
    =========================================================== short test summary info ===========================================================
    FAILED test/test.py::test_extra_cmake_options - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_cxx - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_fc - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_fc_git_info - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_fc_int64 - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_fc_omp - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_fc_blas - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_fc_lapack - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_cxx_cblas - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_cxx_accelerate - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_python_interpreter - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_python_interpreter_custom - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_python_libs - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    FAILED test/test.py::test_python_libs_custom - assert "python: can't open file 'setup': [Errno 2] No such file or directory\n" == ''
    ============================================================= 14 failed in 0.69s ==============================================================
    [email protected]:~/work/software/theoretical_chemistry/
    
    opened by miroi 1
  • Make setup to print out wrong keyword(s)

    Make setup to print out wrong keyword(s)

    Hello,

    would it be possible for setup to print out wrong keyword ? For instance, --debug flag disappeared from DIRAC setup...why ?

    [email protected]:~/work/software/dirac/master_trunk/../setup --fc=ifort --mkl=parallel --debug  --int64  build_ifort_mklpar_i8_debug
    ERROR: bad input to ./setup
    
    Usage:
      ./setup [options] [<builddir>]
      ./setup (-h | --help)
    
    opened by miroi 0
  • Bump py from 1.7.0 to 1.10.0

    Bump py from 1.7.0 to 1.10.0

    Bumps py from 1.7.0 to 1.10.0.

    Changelog

    Sourced from py's changelog.

    1.10.0 (2020-12-12)

    • Fix a regular expression DoS vulnerability in the py.path.svnwc SVN blame functionality (CVE-2020-29651)
    • Update vendored apipkg: 1.4 => 1.5
    • Update vendored iniconfig: 1.0.0 => 1.1.1

    1.9.0 (2020-06-24)

    • Add type annotation stubs for the following modules:

      • py.error
      • py.iniconfig
      • py.path (not including SVN paths)
      • py.io
      • py.xml

      There are no plans to type other modules at this time.

      The type annotations are provided in external .pyi files, not inline in the code, and may therefore contain small errors or omissions. If you use py in conjunction with a type checker, and encounter any type errors you believe should be accepted, please report it in an issue.

    1.8.2 (2020-06-15)

    • On Windows, py.path.locals which differ only in case now have the same Python hash value. Previously, such paths were considered equal but had different hashes, which is not allowed and breaks the assumptions made by dicts, sets and other users of hashes.

    1.8.1 (2019-12-27)

    • Handle FileNotFoundError when trying to import pathlib in path.common on Python 3.4 (#207).

    • py.path.local.samefile now works correctly in Python 3 on Windows when dealing with symlinks.

    1.8.0 (2019-02-21)

    • add "importlib" pyimport mode for python3.5+, allowing unimportable test suites to contain identically named modules.

    • fix LocalPath.as_cwd() not calling os.chdir() with None, when being invoked from a non-existing directory.

    Commits
    • e5ff378 Update CHANGELOG for 1.10.0
    • 94cf44f Update vendored libs
    • 5e8ded5 testing: comment out an assert which fails on Python 3.9 for now
    • afdffcc Rename HOWTORELEASE.rst to RELEASING.rst
    • 2de53a6 Merge pull request #266 from nicoddemus/gh-actions
    • fa1b32e Merge pull request #264 from hugovk/patch-2
    • 887d6b8 Skip test_samefile_symlink on pypy3 on Windows
    • e94e670 Fix test_comments() in test_source
    • fef9a32 Adapt test
    • 4a694b0 Add GitHub Actions badge to README
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump pyyaml from 4.2b4 to 5.4

    Bump pyyaml from 4.2b4 to 5.4

    Bumps pyyaml from 4.2b4 to 5.4.

    Changelog

    Sourced from pyyaml's changelog.

    5.4 (2021-01-19)

    5.3.1 (2020-03-18)

    • yaml/pyyaml#386 -- Prevents arbitrary code execution during python/object/new constructor

    5.3 (2020-01-06)

    5.2 (2019-12-02)

    • Repair incompatibilities introduced with 5.1. The default Loader was changed, but several methods like add_constructor still used the old default yaml/pyyaml#279 -- A more flexible fix for custom tag constructors yaml/pyyaml#287 -- Change default loader for yaml.add_constructor yaml/pyyaml#305 -- Change default loader for add_implicit_resolver, add_path_resolver
    • Make FullLoader safer by removing python/object/apply from the default FullLoader yaml/pyyaml#347 -- Move constructor for object/apply to UnsafeConstructor
    • Fix bug introduced in 5.1 where quoting went wrong on systems with sys.maxunicode <= 0xffff yaml/pyyaml#276 -- Fix logic for quoting special characters
    • Other PRs: yaml/pyyaml#280 -- Update CHANGES for 5.1

    5.1.2 (2019-07-30)

    • Re-release of 5.1 with regenerated Cython sources to build properly for Python 3.8b2+

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Improve the way we figure out whether `cmake` command is available

    Improve the way we figure out whether `cmake` command is available

    Currently we do this:

        p = Popen(
            '{0} --version'.format(cmake_command),
            shell=True,
            stdin=PIPE,
            stdout=PIPE)
        if not ('cmake version' in p.communicate()[0].decode('UTF-8')):
            sys.stderr.write('   This code is built using CMake\n\n')
            sys.stderr.write('   CMake is not found\n')
            sys.stderr.write('   get CMake at http://www.cmake.org/\n')
            sys.stderr.write('   on many clusters CMake is installed\n')
            sys.stderr.write('   but you have to load it first:\n')
            sys.stderr.write('   $ module load cmake\n')
            sys.exit(1)
    

    It seems this is not robust and a case has been reported where the output contains "cmake3 version". I think we should better check for the return code instead of grepping for a string.

    opened by bast 0
Releases(v1.0.0)
CMake checks cache helper modules – for fast CI CMake builds!

cmake-checks-cache Cross platform CMake projects do platform introspection by the means of "Check" macros. Have a look at CMake's How To Write Platfor

Cristian Adam 60 Aug 17, 2022
CMake scripts for painless usage of SuiteSparse+METIS from Visual Studio and the rest of Windows/Linux/OSX IDEs supported by CMake

CMake scripts for painless usage of Tim Davis' SuiteSparse (CHOLMOD,UMFPACK,AMD,LDL,SPQR,...) and METIS from Visual Studio and the rest of Windows/Lin

Jose Luis Blanco-Claraco 390 Sep 30, 2022
cmake-font-lock - Advanced, type aware, highlight support for CMake

cmake-font-lock - Advanced, type aware, highlight support for CMake

Anders Lindgren 37 Dec 30, 2021
cmake-avr - a cmake toolchain for AVR projects

cmake-avr - a cmake toolchain for AVR projects Testing the example provided The toolchain was created and tested within the following environment: Lin

Matthias Kleemann 161 Oct 2, 2022
Make CMake less painful when trying to write Modern Flexible CMake

Izzy's eXtension Modules IXM is a CMake library for writing Modern flexible CMake. This means: Reducing the amount of CMake written Selecting reasonab

IXM 107 Sep 1, 2022
CMake module to enable code coverage easily and generate coverage reports with CMake targets.

CMake-codecov CMake module to enable code coverage easily and generate coverage reports with CMake targets. Include into your project To use Findcodec

HPC 80 Sep 27, 2022
unmaintained - CMake module to activate certain C++ standard, feature checks and appropriate automated workarounds - basically an improved version of cmake-compile-features

Compatibility This library provides an advanced target_compile_features() and write_compiler_detection_header(). The problem with those is that they a

Jonathan Müller 72 Apr 14, 2022
[CMake] [BSD-2] CMake module to find ICU

FindICU.cmake A CMake module to find International Components for Unicode (ICU) Library Note that CMake, since its version 3.7.0, includes a FindICU m

julp 28 Sep 1, 2022
Enhanced CMake Project Manager plugin for Qt Creator

CMakeProjectManager2 Alternative CMake support for Qt Creator. Main differents from original CMakeProject plugin: Project file list readed from file s

Alexander Drozdov 71 May 24, 2022
CMake project for BL602 RISC-V processor

bl602_cmake_base CMake project for BL602 RISC-V processor How to build NOTE : This project uses a pre-compiled version of the Buffalo SDK (bl_iot_sdk)

null 9 Jan 6, 2022
A CMake toolchain file for iOS, macOS, watchOS & tvOS C/C++/Obj-C++ development

A CMake toolchain file for iOS, macOS, watchOS & tvOS C/C++/Obj-C++ development

Alexander Widerberg 1.4k Oct 2, 2022
curl cmake module libcurl build with msvc x86

curl-msvc Infomation curl cmake module libcurl build with MSVC10.0 arch (x86 | i386) source from https://github.com/curl/curl tags: curl-7_79_1 Usage

Jason Payne 0 May 16, 2022
NeoWorld is a resampler using the CMake build system

NeoWorld is a resampler using the CMake build system. It's designed for utsu, OpenUTAU, and UTAU.

null 4 Jun 24, 2022
A CMake addon that avoids you writing boilerplate code for resource management.

SHader INJ(I)ector SHINJI (originally SHader INJector) is a CMake addon that avoids you writing boilerplate code for resource management and exposes s

Lorenzo Rutayisire 6 Mar 21, 2022
A CMake starter template using CPM

Cmake Starter About A lightweight Cmake project meant for a binary application (not a shared library), tests with catch2 are configured, CPM is the pa

Matt Williams 1 Jul 14, 2022
Non-intrusive CMake dependency management

cmodule Non-intrusive CMake dependency management. Normally CMake's find_package() looks for packages installed on host system (and compiled for host

scapix.com 13 Jun 16, 2022
Simple library for embedding static resources into C++ binaries using CMake

libromfs libromfs is an easy way to bundle resources directly into any C++ application and access them through a simple interface. The main advantage

WerWolv 27 Aug 11, 2022
Project to enable using CMake from a Maven build.

CMake-Maven-Project Introduction A Maven project for the CMake build system. It can be used by including it as a plugin within your Maven project's po

null 58 Jul 13, 2022
Autotools-style configure script wrapper around CMake

configure-cmake configure-cmake is an autotools-style configure script for CMake-based projects. People building software on Linux or BSD generally ex

Evan Nemerson 82 Aug 23, 2022