diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..bbaba4f84f2bee62b7a1d27bcac2ed476202eaa3 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1 @@ +FROM eicweb/jug_xl:3.0-stable diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000000000000000000000000000000000..bc62d8736f192119ad19907750fb8932c231d09e --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,15 @@ +{ + "build": { "dockerfile": "Dockerfile" }, + "extensions": [ + "ms-vscode.cpptools", // C++ coding support + "dbaeumer.vscode-eslint", // C++ linting + "twxs.cmake", // CMake build, run, configure + "ms-vscode.cmake-tools" // CMake coding formatting + ], + "forwardPorts": [3000], + "runArgs": [ + // For X11 support + "-e", "DISPLAY=172.21.80.1:0", // This should be WSL/Docker address for windows + "-e", "LIBGL_ALWAIS_INDIRECT=1" + ] + } \ No newline at end of file diff --git a/.gitignore b/.gitignore index df309478bdc425de0c15de0e249875b4cbdcc236..0ecca09077bcf951b8ba16c7ce530db379b3733d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,8 @@ .idea/ + +build/ + +lib/ + +share/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..fb6fc7828db20c430f3d47b9a3b741ffdac78362 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,43 @@ + +cmake_minimum_required(VERSION 3.3 FATAL_ERROR) +PROJECT(athena_ip6 + VERSION 0.0.1 + LANGUAGES CXX + DESCRIPTION "Athena@IP6" + ) + +# Set find package policy to new +cmake_policy(SET CMP0074 NEW) + +# Do we have athena directory (has submodules been initialized?) +if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/athena") + message(FATAL_ERROR "ERROR. Can't fine 'athena' directory. Did you initialize git submodules? If not run 'git submodule init && git submodule update'. CMake exiting..." ) + +endif() + +# Same for ip6 directory +if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/ip6") + message(FATAL_ERROR "ERROR. Can't fine 'ip6' directory. Did you initialize git submodules? If not run 'git submodule init && git submodule update'. CMake exiting..." ) +endif() + +set (ln_cmd "ln") +set (ln_arg "-s ../ip6/ip6 athena/ip6") +message(STATUS "ln cmd: ${ln_cmd}") +execute_process(COMMAND "ln -s ../ip6/ip6 ${PROJECT_SOURCE_DIR}/athena/ip6" + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + RESULT_VARIABLE git_result + OUTPUT_VARIABLE git_ver) + +message(STATUS "{PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}") + + +# message(STATUS "${CMAKE_CURRENT_LIST_DIR}/athena/ip6") +# # We need to create a symbolic link for athena if +# if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/athena/ip6") +# execute_process(COMMAND "ln" "-s" "../ip6/ip6" "athena/ip6") +# message(STATUS "created ip6 sybmolic link in athena directory" ) +# endif() + +# Add athena and ip6 repos +add_subdirectory(athena) +add_subdirectory(ip6) \ No newline at end of file diff --git a/README.md b/README.md index 066bf66a2eb9d15393fe7cd25aab2475a6302966..e7540a4ba694821e02dbf0043657cee94429903e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,15 @@ # vscode_athena -Tutorial and a boilerplate of how to develop Athena detector using VSCode and Juggler container \ No newline at end of file +Tutorial and a boilerplate of how to develop Athena detector using VSCode and Juggler container + + + +``` +git clone --recurse-submodules https://eicweb.phy.anl.gov/EIC/tutorials/vscode_athena.git +cd vscode_athena +ln -s ../ip6/ip6 athena/ip6 +``` + +[Git submodules documentation](https://git-scm.com/book/en/v2/Git-Tools-Submodules) + +[VSCode documentation on container development](https://code.visualstudio.com/docs/remote/create-dev-container) \ No newline at end of file diff --git a/doc/vscode_propaganda.png b/doc/vscode_propaganda.png new file mode 100644 index 0000000000000000000000000000000000000000..19a57b7ec59c30d09bbc60612fa2087357be10dd Binary files /dev/null and b/doc/vscode_propaganda.png differ