-
Notifications
You must be signed in to change notification settings - Fork 31
Add building and container recipes #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| cmake_minimum_required(VERSION 3.16) | ||
| project(cmake_exercise) | ||
|
|
||
| set(CMAKE_CXX_STANDARD 17) | ||
| set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
|
|
||
| find_package(Boost REQUIRED COMPONENTS filesystem) | ||
| find_package(deal.II REQUIRED) | ||
| find_package(yaml-cpp REQUIRED) | ||
|
|
||
| add_executable(main | ||
| main.cpp | ||
| flatset/flatset.cpp | ||
| filesystem/filesystem.cpp | ||
| fem/fem.cpp | ||
| yamlParser/yamlParser.cpp | ||
| ) | ||
|
|
||
| target_link_libraries(main Boost::filesystem yaml-cpp) | ||
|
|
||
| DEAL_II_SETUP_TARGET(main) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| FROM ubuntu:24.04 | ||
|
|
||
| ENV DEBIAN_FRONTEND=noninteractive | ||
|
|
||
| RUN apt-get update && apt-get install -y \ | ||
| build-essential \ | ||
| cmake \ | ||
| unzip \ | ||
| wget \ | ||
| vim \ | ||
| libboost-all-dev \ | ||
| libdeal.ii-dev \ | ||
| git | ||
|
|
||
| WORKDIR /tmp | ||
|
|
||
| RUN wget https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.6.3.zip | ||
|
|
||
| RUN unzip yaml-cpp-0.6.3.zip | ||
|
|
||
| WORKDIR /tmp/yaml-cpp-yaml-cpp-0.6.3 | ||
| RUN mkdir build && cd build && \ | ||
| cmake .. -DYAML_BUILD_SHARED_LIBS=ON && \ | ||
| make && \ | ||
| make install | ||
|
|
||
| ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. FYI, |
||
|
|
||
| WORKDIR /cmake-exercise | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If there is a |
||
|
|
||
| CMD ["/bin/bash"] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,39 +1,39 @@ | ||
| //#include "fem/fem.hpp" | ||
| //#include "flatset/flatset.hpp" | ||
| //#include "filesystem/filesystem.hpp" | ||
| //#include "yamlParser/yamlParser.hpp" | ||
| #include "fem/fem.hpp" | ||
| #include "flatset/flatset.hpp" | ||
| #include "filesystem/filesystem.hpp" | ||
| #include "yamlParser/yamlParser.hpp" | ||
| #include <iostream> | ||
|
|
||
| int main(int argc, char *argv[]) | ||
| { | ||
| std::cout << "Let's fight with CMake, Docker, and some dependencies!" << std::endl << std::endl; | ||
|
|
||
| //std::cout << "Solve Poisson problem with FEM using deal.II" << std::endl; | ||
| //Fem fem; | ||
| //fem.run(); | ||
| //std::cout << std::endl; | ||
| std::cout << "Solve Poisson problem with FEM using deal.II" << std::endl; | ||
| Fem fem; | ||
| fem.run(); | ||
| std::cout << std::endl; | ||
|
|
||
| //std::cout << "Modify a flat set using boost container" << std::endl; | ||
| //modifyAndPrintSets(); | ||
| //std::cout << std::endl; | ||
| std::cout << "Modify a flat set using boost container" << std::endl; | ||
| modifyAndPrintSets(); | ||
| std::cout << std::endl; | ||
|
|
||
| //std::cout << "Inspect the current directory using boost filesystem" << std::endl; | ||
| //inspectDirectory(); | ||
| //std::cout << std::endl; | ||
| std::cout << "Inspect the current directory using boost filesystem" << std::endl; | ||
| inspectDirectory(); | ||
| std::cout << std::endl; | ||
|
|
||
|
|
||
| //if ( argc == 2 ) | ||
| //{ | ||
| // const std::string yamlFile( argv[1] ); | ||
| // std::cout << "Parse some yaml file with yaml-cpp" << std::endl; | ||
| // std::cout << " " << yamlFile << std::endl; | ||
| // parseConfig( yamlFile ); | ||
| //} | ||
| //else | ||
| //{ | ||
| // std::cout << "To parse a yaml file please specify file on command line" << std::endl; | ||
| // std::cout << " ./main YAMLFILE" << std::endl; | ||
| //} | ||
| if ( argc == 2 ) | ||
| { | ||
| const std::string yamlFile( argv[1] ); | ||
| std::cout << "Parse some yaml file with yaml-cpp" << std::endl; | ||
| std::cout << " " << yamlFile << std::endl; | ||
| parseConfig( yamlFile ); | ||
| } | ||
| else | ||
| { | ||
| std::cout << "To parse a yaml file please specify file on command line" << std::endl; | ||
| std::cout << " ./main YAMLFILE" << std::endl; | ||
| } | ||
|
|
||
| return 0; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI, in CMake, lowercase and uppercase are equivalent.