Skip to content

Commit

Permalink
Added Clion project setup
Browse files Browse the repository at this point in the history
(cherry picked from commit db96214)
  • Loading branch information
YaaZ committed Jan 29, 2025
1 parent a2fb93c commit c4d2d25
Show file tree
Hide file tree
Showing 8 changed files with 148 additions and 2 deletions.
20 changes: 20 additions & 0 deletions bin/idea.sh
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,8 @@ if [ "$ABSOLUTE_PATHS" = true ] ; then
MODULE_DIR="$PROJECT_DIR"
TOPLEVEL_MODULE_DIR="$TOPLEVEL_PROJECT_DIR"
cd "$IDEA_OUTPUT_PARENT" && cd "$RELATIVE_BUILD_DIR" && BUILD_DIR="`pwd`"
CLION_SCRIPT_TOPDIR="$OPENJDK_DIR"
CLION_PROJECT_DIR="$PROJECT_DIR"
else
if [ "$RELATIVE_PROJECT_DIR" = "." ] ; then
PROJECT_DIR=""
Expand All @@ -185,6 +187,8 @@ else
TOPLEVEL_MODULE_DIR="\$MODULE_DIR\$$TOPLEVEL_PROJECT_DIR"
TOPLEVEL_PROJECT_DIR="\$PROJECT_DIR\$$TOPLEVEL_PROJECT_DIR"
BUILD_DIR="\$PROJECT_DIR\$/$RELATIVE_BUILD_DIR"
CLION_SCRIPT_TOPDIR="$CLION_RELATIVE_PROJECT_DIR"
CLION_PROJECT_DIR="\$PROJECT_DIR\$/$CLION_SCRIPT_TOPDIR"
fi
if [ "$VERBOSE" = true ] ; then
echo "Project root: $PROJECT_DIR"
Expand Down Expand Up @@ -214,13 +218,17 @@ add_replacement() {
eval TO$NUM_REPLACEMENTS='$2'
}

add_replacement "###PATHTOOL###" "$PATHTOOL"
add_replacement "###CLION_SCRIPT_TOPDIR###" "$CLION_SCRIPT_TOPDIR"
add_replacement "###CLION_PROJECT_DIR###" "$CLION_PROJECT_DIR"
add_replacement "###PROJECT_DIR###" "$PROJECT_DIR"
add_replacement "###MODULE_DIR###" "$MODULE_DIR"
add_replacement "###TOPLEVEL_PROJECT_DIR###" "$TOPLEVEL_PROJECT_DIR"
add_replacement "###TOPLEVEL_MODULE_DIR###" "$TOPLEVEL_MODULE_DIR"
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
add_replacement "###BUILD_DIR###" "$BUILD_DIR"
add_replacement "###RELATIVE_BUILD_DIR###" "$RELATIVE_BUILD_DIR"
if [ "x$PATHTOOL" != "x" ]; then
add_replacement "###BASH_RUNNER_PREFIX###" "\$PROJECT_DIR\$/.idea/bash.bat"
else
Expand Down Expand Up @@ -301,3 +309,15 @@ if [ "x$PATHTOOL" != "x" ]; then
echo "$WINENV_ROOT\bin\bash.exe -l -c \"cd %CD:\=/%/ && %*\"" >> "$IDEA_OUTPUT/bash.bat"
fi
fi



if [ "$VERBOSE" = true ] ; then
IDEA_PROJECT_DIR="`dirname $IDEA_OUTPUT`"
if [ "x$PATHTOOL" != "x" ]; then
IDEA_PROJECT_DIR="`$PATHTOOL -am $IDEA_PROJECT_DIR`"
fi
echo "
Now you can open \"$IDEA_PROJECT_DIR\" as IDEA project
You can also run 'bash \"$IDEA_OUTPUT/jdk-clion/update-project.sh\"' to generate Clion project"
fi
1 change: 1 addition & 0 deletions make/ide/idea/jdk/IdeaGenConfig.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ idea:
$(ECHO) "RELATIVE_PROJECT_DIR=\"$(call RelativePath,$(TOPLEVEL_DIR),$(IDEA_OUTPUT_PARENT))\"" >> $(OUT)
# $(ECHO) "RELATIVE_PROJECT_DIR=\"$(call RelativePath,$(topdir),$(IDEA_OUTPUT_PARENT))\"" >> $(OUT)
$(ECHO) "RELATIVE_BUILD_DIR=\"$(call RelativePath,$(OUTPUTDIR),$(IDEA_OUTPUT_PARENT))\"" >> $(OUT)
$(ECHO) "CLION_RELATIVE_PROJECT_DIR=\"$(call RelativePath,$(topdir),$(IDEA_OUTPUT_PARENT)/.idea/jdk-clion)\"" >> $(OUT)
$(ECHO) "PATHTOOL=\"$(PATHTOOL)\"" >> $(OUT)
$(ECHO) "JT_HOME=\"$(JT_HOME)\"" >> $(OUT)
$(ECHO) "WINENV_ROOT=\"$(WINENV_ROOT)\"" >> $(OUT)
Expand Down
File renamed without changes.
25 changes: 25 additions & 0 deletions make/ide/idea/jdk/template/jdk-clion/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions make/ide/idea/jdk/template/jdk-clion/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

55 changes: 55 additions & 0 deletions make/ide/idea/jdk/template/jdk-clion/.idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 29 additions & 0 deletions make/ide/idea/jdk/template/jdk-clion/update-project.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/bash

TOPDIR="###CLION_SCRIPT_TOPDIR###"
BUILD_DIR="###RELATIVE_BUILD_DIR###"
PATHTOOL="###PATHTOOL###"



cd "`dirname $0`"
SCRIPT_DIR="`pwd`"
cd "$TOPDIR"

echo "Updating Clion project files in \"$SCRIPT_DIR\" for project \"`pwd`\""

set -o pipefail
make compile-commands SPEC="$BUILD_DIR/spec.gmk" | sed 's/^/ /' || exit 1

if [ "x$PATHTOOL" != "x" ]; then
CLION_PROJECT_DIR="`$PATHTOOL -am $SCRIPT_DIR`"
sed "s/\\\\\\\\\\\\\\\\/\\\\\\\\/g" "$BUILD_DIR/compile_commands.json" > "$SCRIPT_DIR/compile_commands.json"
else
CLION_PROJECT_DIR="$SCRIPT_DIR"
cp "$BUILD_DIR/compile_commands.json" "$SCRIPT_DIR"
fi

echo "
Now you can open \"$CLION_PROJECT_DIR\" as Clion project
If Clion complains about missing files when loading a project, building it may help:
cd \"`pwd`\" && make SPEC=\"$BUILD_DIR/spec.gmk\""
4 changes: 2 additions & 2 deletions make/ide/idea/jdk/template/vcs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="\d{7}" />
<option name="linkRegexp" value="https://bugs.openjdk.org/browse/JDK-$0" />
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
</IssueNavigationLink>
</list>
</option>
Expand Down

0 comments on commit c4d2d25

Please sign in to comment.