Skip to content

Implement out-of-repo installation #67

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 5 commits into from
Nov 30, 2023
Merged

Conversation

isv75
Copy link
Contributor

@isv75 isv75 commented Nov 17, 2023

In some environments, the system admin may require the installed files to be separate from the source code.
The added install2.sh script allows one to set the install prefix, as well as specifying per-package CMAKE_BUILD_TYPE.

I really want to use icsc at my work site, but it require some changes. The first one being to separate the binaries and the source code.

@mikhailmoiseev
Copy link
Contributor

mikhailmoiseev commented Nov 18, 2023

To separate sources and binaries, we are using a binary distibution which contains only required files.

The pull request contains lots of cosmetic changes which likely not required to achieve your goal. I agree to add additional installation script and minimal changes required for it. No CMakeFiles in icsc, sc_elab, sc_tools can be changed as they work in multiple environments.

@isv75
Copy link
Contributor Author

isv75 commented Nov 18, 2023

Ok, the install script does not really depend on the other changes.

Looking into the cmake files, I notice that they depend on ENV{ICSC_HOME} in places where it would be natural to use CMAKE_CURRENT_SOURCE_DIR, for example. The cmake system keeps track of its location. Most of the "cosmetic" changes served to remove this environment dependency. The result was, in my oppinion, a more "proper" cmake configuration flow where the user is not required to source setenv.sh before building. VSCode cmake tools integration is one example.

@mikhailmoiseev
Copy link
Contributor

That looks good, just a few notes:

  1. Why ICSC target build in both Release and Debug mode? Does it make sense to use $CMAKE_BUILD_TYPE for ICSC?
  2. Why examples build is commented? It should not take significant time, but shows the installation was successful.
  3. Please update the Changelog section.

@isv75
Copy link
Contributor Author

isv75 commented Nov 28, 2023

  1. ICSC has been built in both modes by install.sh for some time (commit 12cb42b)
  2. Ok
  3. Ok

@mikhailmoiseev
Copy link
Contributor

Thank you. Probably will move INSTALL2.md into the wiki page in some future.

@mikhailmoiseev mikhailmoiseev merged commit a03bd1e into intel:main Nov 30, 2023
@mikhailmoiseev
Copy link
Contributor

Please update the install2.sh for updated version of Clang/LLVM 15.0.7. The installation procedure changed a little bit, see install.sh.

@isv75
Copy link
Contributor Author

isv75 commented Jan 11, 2024

Updated install2.sh with LLVM (15.0.7), with upgrades to GDB and protobuf.

@mikhailmoiseev
Copy link
Contributor

I do not see updated files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants