Skip to content

Install CMake files for Chapel projects #26937

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

Merged
merged 9 commits into from
Apr 15, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ comprt: FORCE
@$(MAKE) always-build-cls
@$(MAKE) runtime
@$(MAKE) modules
@$(MAKE) chpl-cmake-module-files

notcompiler: FORCE
@$(MAKE) third-party-try-opt
Expand Down Expand Up @@ -205,6 +206,10 @@ chpl-language-server: frontend-shared FORCE
@# building it twice).
cd tools/chpl-language-server && $(MAKE) all install

chpl-cmake-module-files: FORCE
@echo "Generating CMake module files..."
@cd compiler && $(MAKE) chpl-cmake-module-files

lint-standard-modules: chplcheck FORCE
tools/chplcheck/chplcheck --skip-unstable \
--internal-prefix "_" \
Expand Down
11 changes: 11 additions & 0 deletions compiler/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ cleandeps: $(CLEANSUBDIRDEPS) echocompilerdir

clobber: $(CLOBBERSUBDIRS) echocompilerdir
rm -rf ./$(CLOBBER_TARGS)
@$(MAKE) clean-chpl-cmake-module-files


#
Expand All @@ -95,6 +96,7 @@ $(CHPL_CONFIG_CHECK): | $(CHPL_BIN_DIR)


COMPILER_LIB_DIR = $(CHPL_MAKE_HOME)/lib/compiler/$(CHPL_MAKE_HOST_BIN_SUBDIR)
CMAKE_LIB_DIR = $(CHPL_MAKE_HOME)/lib/cmake/chpl

CMAKE_FLAGS = -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=$(CHPL_BIN_DIR) -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=$(COMPILER_LIB_DIR) -DCHPL_CXX_FLAGS="$(COMP_CXXFLAGS)" -DCHPL_LD_FLAGS="$(LDFLAGS)"

Expand Down Expand Up @@ -214,12 +216,21 @@ chpldoc: FORCE $(CHPLDOC)

MAKEALLCHPLDEFSUBDIRS = $(CHPLDEF_SUBDIRS:%=%.makedir)

chpl-cmake-module-files: FORCE $(CMAKE_LIB_DIR)
cp $(CHPL_MAKE_HOME)/util/cmake/*.cmake $(CHPL_MAKE_HOME)/util/cmake/*.cmake.in $(CMAKE_LIB_DIR)

clean-chpl-cmake-module-files: FORCE
rm -rf $(CMAKE_LIB_DIR)

$(COMPILER_BUILD):
mkdir -p $@

$(CHPL_BIN_DIR):
mkdir -p $@

$(CMAKE_LIB_DIR):
mkdir -p $@

install-chpl-chpldoc: FORCE $(CHPL_CONFIG_CHECK)
# this target is called by the install.sh script which is called by a `make install`
# from the top-level directory.
Expand Down
4 changes: 4 additions & 0 deletions util/buildRelease/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ then
DEST_RUNTIME_LIB="$PREFIX/lib/chapel/$VERS/runtime/lib"
DEST_RUNTIME_INCL="$PREFIX/lib/chapel/$VERS/runtime/include"
DEST_THIRD_PARTY="$PREFIX/lib/chapel/$VERS/third-party"
DEST_CMAKE_LIB="$PREFIX/lib/cmake/chpl"
DEST_CHPL_HOME="$PREFIX/share/chapel/$VERS"
echo "Installing Chapel split to bin, lib, share to $PREFIX"
if [ "$CHPL_HOME" = "$PREFIX" ]
Expand All @@ -140,6 +141,7 @@ else
DEST_RUNTIME_LIB="$DEST_DIR/lib"
DEST_RUNTIME_INCL="$DEST_DIR/runtime/include"
DEST_THIRD_PARTY="$DEST_DIR/third-party"
DEST_CMAKE_LIB="$DEST_DIR/lib/cmake/chpl"
DEST_CHPL_HOME="$DEST_DIR"
echo "Installing Chapel-as-a-directory to $DEST_DIR"
if [ "$CHPL_HOME" = "$DEST_DIR" ]
Expand Down Expand Up @@ -246,6 +248,8 @@ myinstallfileto () {

# copy compiler and runtime lib
myinstalldir lib "$DEST_RUNTIME_LIB"
# copy cmake files to the cmake lib directory
myinstalldir lib/cmake/chpl "$DEST_CMAKE_LIB"

# copy runtime include
myinstalldir runtime/include "$DEST_RUNTIME_INCL"
Expand Down
4 changes: 4 additions & 0 deletions util/chplenv/chpl_home_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,10 @@ def _main():
dest='func', const=using_chapel_module)
parser.add_option('--configured-install-lib-prefix', action='store_const',
dest='func', const=get_chpl_configured_install_lib_prefix)
parser.add_option('--runtime-lib', action='store_const',
dest='func', const=get_chpl_runtime_lib)
parser.add_option('--runtime-incl', action='store_const',
dest='func', const=get_chpl_runtime_incl)
(options, args) = parser.parse_args()

if options.func:
Expand Down
4 changes: 4 additions & 0 deletions util/packaging/apt/common/copy_files.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import sys
import os
import subprocess as sp
from package_name import package_name

Expand All @@ -14,9 +15,12 @@
]
dirs = [
"/usr/lib/chapel",
"/usr/lib/cmake/chpl",
"/usr/share/chapel",
]
for f in files:
sp.check_call(["cp", f, f"{deb_name}{f}"])
for d in dirs:
dirname = os.path.dirname(d)
os.makedirs(f"{deb_name}{dirname}", exist_ok=True)
sp.check_call(["cp", "-r", d, f"{deb_name}{d}"])
1 change: 1 addition & 0 deletions util/packaging/homebrew/chapel-main.rb
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ def install
bin.install libexec.glob("bin/#{platform}/*")
bin.env_script_all_files libexec/"bin"/platform, CHPL_HOME: libexec
man1.install_symlink libexec.glob("man/man1/*.1")
(lib/"cmake/chpl").install libexec.glob("lib/cmake/chpl/*")
end

test do
Expand Down
3 changes: 3 additions & 0 deletions util/packaging/rpm/amzn2023-gasnet-udp/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,6 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*

%changelog
3 changes: 3 additions & 0 deletions util/packaging/rpm/amzn2023-ofi-slurm/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,6 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*

%changelog
3 changes: 3 additions & 0 deletions util/packaging/rpm/amzn2023/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,6 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*

%changelog
3 changes: 3 additions & 0 deletions util/packaging/rpm/el9-gasnet-udp/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,6 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*

%changelog
3 changes: 3 additions & 0 deletions util/packaging/rpm/el9-ofi-slurm/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,6 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*

%changelog
3 changes: 3 additions & 0 deletions util/packaging/rpm/el9/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,6 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*

%changelog
3 changes: 3 additions & 0 deletions util/packaging/rpm/fc40-gasnet-udp/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,6 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*

%changelog
3 changes: 3 additions & 0 deletions util/packaging/rpm/fc40/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,6 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*

%changelog
3 changes: 3 additions & 0 deletions util/packaging/rpm/fc41-gasnet-udp/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,6 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*

%changelog
4 changes: 4 additions & 0 deletions util/packaging/rpm/fc41/spec.template
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ mkdir -p %{buildroot}/%{_prefix}
mkdir -p %{buildroot}/%{_prefix}/bin
mkdir -p %{buildroot}/%{_prefix}/lib
mkdir -p %{buildroot}/%{_prefix}/share
mkdir -p %{buildroot}/%{_prefix}/lib/cmake/chpl

# Binaries
cp %{_prefix}/bin/chpl %{buildroot}/%{_prefix}/bin/chpl
Expand All @@ -34,6 +35,7 @@ cp %{_prefix}/bin/chplcheck %{buildroot}/%{_prefix}/bin/chplcheck
cp %{_prefix}/bin/chpl-language-server %{buildroot}/%{_prefix}/bin/chpl-language-server
# Libraries
cp -r %{_prefix}/lib/chapel %{buildroot}/%{_prefix}/lib/chapel
cp -r %{_prefix}/lib/cmake/chpl %{buildroot}/%{_prefix}/lib/cmake
# CHPL_HOME
cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel

Expand All @@ -45,5 +47,7 @@ cp -r %{_prefix}/share/chapel %{buildroot}/%{_prefix}/share/chapel
%{_prefix}/bin/chpl-language-server
%{_prefix}/lib/chapel/*
%{_prefix}/share/chapel/*
%{_prefix}/lib/cmake/chpl/*


%changelog