Skip to content
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

Attempting to create more specific targets in CMake build system #860

Closed

Conversation

JoshuaSBrown
Copy link
Collaborator

Well this was a pain to get sort of working.

@JoshuaSBrown JoshuaSBrown marked this pull request as draft November 18, 2022 22:08
@JoshuaSBrown
Copy link
Collaborator Author

JoshuaSBrown commented Nov 18, 2022

The goal of this pr is to move as much of the build steps as can be moved into the CMake side of things. The other goal was to better separate installation of "services" from the actual "servers". This pr still needs a lot of work.

Ultimately we should be able to pick and build a specific target without having to build or install any of the other targets.

@JoshuaSBrown JoshuaSBrown added Priority: High Highest priority Component: Web UI Relates to web appp user interface Component: Core Relates to core service Component: Repository Relates to repository service Component: GridFTP Auth Module Relates to GridFTP authorization library Component: Python API Relates to Python API Component: Build Related to the build system Type: Refactor Imlplementation change, same functionality labels Nov 18, 2022
@JoshuaSBrown JoshuaSBrown self-assigned this Nov 18, 2022
@JoshuaSBrown
Copy link
Collaborator Author

@dvstans I think this addressed what you wanted. Please take a look and make sure. If so I'll clean it up. You should now have the ability to install individual servers, libraries and services using individual targets.

cmake --build build --target install-core-server
cmake --build build --target install-core-service
cmake --build build --target install-repo-server
cmake --build build --target install-repo-service
cmake --build build --target install-authz
cmake --build build --target install-web-server
cmake --build build --target install-web-service

If there are a few more additional targets you think would be useful to define let me know though I don't want to spend too much more time on this given there are other more pressing priorities.

@JoshuaSBrown
Copy link
Collaborator Author

NOTES after meeting the following changes need to be made:

  1. Don’t overwrite master config file if already exist
  2. If no master config file exists generate them automatically on build – should not require a separate generate_script on install call
  3. Package specific config files should be automatically generated from settings in the master config file.

./DataFed/scripts/generate_datafed.sh – run during build
./DataFed/scripts/generate_core_config.sh – This would should be run during install

  1. Option for not by default overwriting
    Install directory should be customizable /opt/datafed – default but needs to be flexible

@JoshuaSBrown JoshuaSBrown linked an issue Dec 27, 2022 that may be closed by this pull request
@JoshuaSBrown JoshuaSBrown deleted the JoshuaSBrown-partial-merge-of-Dale-config-changes branch September 11, 2023 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Build Related to the build system Component: Core Relates to core service Component: GridFTP Auth Module Relates to GridFTP authorization library Component: Python API Relates to Python API Component: Repository Relates to repository service Component: Web UI Relates to web appp user interface Priority: High Highest priority Type: Refactor Imlplementation change, same functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add install option to only update binaries
1 participant