Loading CMakeLists.txt +0 −37 Original line number Original line Diff line number Diff line ############################################################################### # Cmake project script for TNL # ------------------- # begin : Dec 8, 2010 # copyright : (C) 2010 by Tomas Oberhuber et al. # email : tomas.oberhuber@fjfi.cvut.cz # ############################################################################### # cmake 3.12.2 is required due to compatibility with CUDA 10 # cmake 3.12.2 is required due to compatibility with CUDA 10 # (see the issue reported here: https://github.com/clab/dynet/issues/1457 ) # (see the issue reported here: https://github.com/clab/dynet/issues/1457 ) # cmake 3.13 is required for add_link_options # cmake 3.13 is required for add_link_options Loading Loading @@ -333,34 +324,6 @@ endif() # https://clang.llvm.org/docs/JSONCompilationDatabase.html # https://clang.llvm.org/docs/JSONCompilationDatabase.html set( CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "" ) set( CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "" ) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Template Numerical Library") set(CPACK_PACKAGE_VENDOR "MMG") #set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt") #set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt") set(CPACK_PACKAGE_VERSION_MAJOR "0") set(CPACK_PACKAGE_VERSION_MINOR "1") set(CPACK_PACKAGE_VERSION_PATCH "0") set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") if(WIN32 AND NOT UNIX) # There is a bug in NSI that does not handle full unix paths properly. Make # sure there is at least one set of four (4) backlasshes. #set(CPACK_PACKAGE_ICON "${CMake_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp") #set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe") set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} Template Numerical Library") set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\geraldine.fjfi.cvut.cz/~oberhuber/doku-wiki-tnl") set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\geraldine.fjfi.cvut.cz/~oberhuber/doku-wiki-tnl") set(CPACK_NSIS_CONTACT "tomas.oberhuber@fjfi.cvut.cz") set(CPACK_NSIS_MODIFY_PATH ON) else(WIN32 AND NOT UNIX) # set(CPACK_STRIP_FILES "bin/MyExecutable") endif(WIN32 AND NOT UNIX) set(CPACK_SOURCE_STRIP_FILES "Debug") set(CPACK_SOURCE_STRIP_FILES "Release") #set(CPACK_PACKAGE_EXECUTABLES "MyExecutable" "My Executable") INCLUDE( CPack ) # Print custom build options # Print custom build options message( "-- Build options:" ) message( "-- Build options:" ) message( " OFFLINE_BUILD = ${OFFLINE_BUILD}" ) message( " OFFLINE_BUILD = ${OFFLINE_BUILD}" ) Loading CONTRIBUTING.md +50 −1 Original line number Original line Diff line number Diff line ## Code formatting Source code should follow the formatting conventions established in the project. There are several software configurations to help developers format their code: 1. [.editorconfig](.editorconfig) specifies basic formatting elements, such as character set and indentation width. Many text editors and IDEs provide built-in support or a plugin for _editorconfig_, see https://editorconfig.org/ for details. 2. The [.clang-format](src/.clang-format) file contains detailed specification for C++ source code formatting. Automatic formatting may be applied with [clang-format][clang-format] version 13 or later. Use the [run-clang-format.py](scripts/run-clang-format.py) script for parallel processing and correct formatting of CUDA kernel launches and OpenMP pragmas. The script is also run in a continuous integration job on Gitlab to give developers hints about what should be reformatted. 3. Source files in the `src/TNL/` directory should include a copyright header at the top. The [update-copyright-headers.py](scripts/update-copyright-headers.py) script can be used to generate or update copyright headers in source files. When you are unsure or if something is not specified in the aforementioned configuration, rely on [mirroring][mirroring] the formatting style of existing code. > __Note:__ Code formatting changes should be applied _before making a commit_, > i.e., all commits should be already formatted correctly. Ideally, there should > be no separate commits to fix formatting issues. When working on a feature > branch, you can squash separate commits fixing style issues into previous > commits which introduced the problem (see below on how to use the interactive > rebase). [clang-format]: https://clang.llvm.org/docs/ClangFormat.html [mirroring]: https://en.wikipedia.org/wiki/Mirroring_(psychology) ## Code linting The continuous integration on Gitlab features a code linting job using [clang-tidy](https://clang.llvm.org/extra/clang-tidy/) to help developers diagnosing and fixing common programming errors. The configuration is provided in the [.clang-tidy](src/.clang-tidy) file. Various editors and IDEs provide [integrations](https://clang.llvm.org/extra/clang-tidy/Integrations.html) either directly for _clang-tidy_ or for [clangd](https://clangd.llvm.org/) (which integrates _clang-tidy_). This way you can get full linting directly in your editor without having to rely on the continuous integration. ## How to configure git ## How to configure git It is important to [configure your git username and email address]( It is important to [configure your git username and email address]( Loading Loading @@ -70,6 +115,10 @@ The development of new features should follow the rebase-based workflow: - This is also a good time to squash small commits (e.g. typos, forgotten - This is also a good time to squash small commits (e.g. typos, forgotten changes or trivial corrections) with relevant bigger commits to make the changes or trivial corrections) with relevant bigger commits to make the review easier. review easier. - When your work in the _feature_ branch is finished, you should also do an [interactive rebase](https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history) and squash small commits (notably when fixing typos or compilation problems), reword commit messages (check all typos) and overall make the history _nice_. - When reviewed, the feature branch can be merged into the develop branch. - When reviewed, the feature branch can be merged into the develop branch. The main advantages of this workflow are linear history, clear commits and The main advantages of this workflow are linear history, clear commits and Loading Loading
CMakeLists.txt +0 −37 Original line number Original line Diff line number Diff line ############################################################################### # Cmake project script for TNL # ------------------- # begin : Dec 8, 2010 # copyright : (C) 2010 by Tomas Oberhuber et al. # email : tomas.oberhuber@fjfi.cvut.cz # ############################################################################### # cmake 3.12.2 is required due to compatibility with CUDA 10 # cmake 3.12.2 is required due to compatibility with CUDA 10 # (see the issue reported here: https://github.com/clab/dynet/issues/1457 ) # (see the issue reported here: https://github.com/clab/dynet/issues/1457 ) # cmake 3.13 is required for add_link_options # cmake 3.13 is required for add_link_options Loading Loading @@ -333,34 +324,6 @@ endif() # https://clang.llvm.org/docs/JSONCompilationDatabase.html # https://clang.llvm.org/docs/JSONCompilationDatabase.html set( CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "" ) set( CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "" ) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Template Numerical Library") set(CPACK_PACKAGE_VENDOR "MMG") #set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt") #set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt") set(CPACK_PACKAGE_VERSION_MAJOR "0") set(CPACK_PACKAGE_VERSION_MINOR "1") set(CPACK_PACKAGE_VERSION_PATCH "0") set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") if(WIN32 AND NOT UNIX) # There is a bug in NSI that does not handle full unix paths properly. Make # sure there is at least one set of four (4) backlasshes. #set(CPACK_PACKAGE_ICON "${CMake_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp") #set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe") set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} Template Numerical Library") set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\geraldine.fjfi.cvut.cz/~oberhuber/doku-wiki-tnl") set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\geraldine.fjfi.cvut.cz/~oberhuber/doku-wiki-tnl") set(CPACK_NSIS_CONTACT "tomas.oberhuber@fjfi.cvut.cz") set(CPACK_NSIS_MODIFY_PATH ON) else(WIN32 AND NOT UNIX) # set(CPACK_STRIP_FILES "bin/MyExecutable") endif(WIN32 AND NOT UNIX) set(CPACK_SOURCE_STRIP_FILES "Debug") set(CPACK_SOURCE_STRIP_FILES "Release") #set(CPACK_PACKAGE_EXECUTABLES "MyExecutable" "My Executable") INCLUDE( CPack ) # Print custom build options # Print custom build options message( "-- Build options:" ) message( "-- Build options:" ) message( " OFFLINE_BUILD = ${OFFLINE_BUILD}" ) message( " OFFLINE_BUILD = ${OFFLINE_BUILD}" ) Loading
CONTRIBUTING.md +50 −1 Original line number Original line Diff line number Diff line ## Code formatting Source code should follow the formatting conventions established in the project. There are several software configurations to help developers format their code: 1. [.editorconfig](.editorconfig) specifies basic formatting elements, such as character set and indentation width. Many text editors and IDEs provide built-in support or a plugin for _editorconfig_, see https://editorconfig.org/ for details. 2. The [.clang-format](src/.clang-format) file contains detailed specification for C++ source code formatting. Automatic formatting may be applied with [clang-format][clang-format] version 13 or later. Use the [run-clang-format.py](scripts/run-clang-format.py) script for parallel processing and correct formatting of CUDA kernel launches and OpenMP pragmas. The script is also run in a continuous integration job on Gitlab to give developers hints about what should be reformatted. 3. Source files in the `src/TNL/` directory should include a copyright header at the top. The [update-copyright-headers.py](scripts/update-copyright-headers.py) script can be used to generate or update copyright headers in source files. When you are unsure or if something is not specified in the aforementioned configuration, rely on [mirroring][mirroring] the formatting style of existing code. > __Note:__ Code formatting changes should be applied _before making a commit_, > i.e., all commits should be already formatted correctly. Ideally, there should > be no separate commits to fix formatting issues. When working on a feature > branch, you can squash separate commits fixing style issues into previous > commits which introduced the problem (see below on how to use the interactive > rebase). [clang-format]: https://clang.llvm.org/docs/ClangFormat.html [mirroring]: https://en.wikipedia.org/wiki/Mirroring_(psychology) ## Code linting The continuous integration on Gitlab features a code linting job using [clang-tidy](https://clang.llvm.org/extra/clang-tidy/) to help developers diagnosing and fixing common programming errors. The configuration is provided in the [.clang-tidy](src/.clang-tidy) file. Various editors and IDEs provide [integrations](https://clang.llvm.org/extra/clang-tidy/Integrations.html) either directly for _clang-tidy_ or for [clangd](https://clangd.llvm.org/) (which integrates _clang-tidy_). This way you can get full linting directly in your editor without having to rely on the continuous integration. ## How to configure git ## How to configure git It is important to [configure your git username and email address]( It is important to [configure your git username and email address]( Loading Loading @@ -70,6 +115,10 @@ The development of new features should follow the rebase-based workflow: - This is also a good time to squash small commits (e.g. typos, forgotten - This is also a good time to squash small commits (e.g. typos, forgotten changes or trivial corrections) with relevant bigger commits to make the changes or trivial corrections) with relevant bigger commits to make the review easier. review easier. - When your work in the _feature_ branch is finished, you should also do an [interactive rebase](https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history) and squash small commits (notably when fixing typos or compilation problems), reword commit messages (check all typos) and overall make the history _nice_. - When reviewed, the feature branch can be merged into the develop branch. - When reviewed, the feature branch can be merged into the develop branch. The main advantages of this workflow are linear history, clear commits and The main advantages of this workflow are linear history, clear commits and Loading