-
Notifications
You must be signed in to change notification settings - Fork 27
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
Update buildsystem to support customapp bundling #149
base: master
Are you sure you want to change the base?
Update buildsystem to support customapp bundling #149
Conversation
This commit updates default to account for Slicer/Slicer@dedb6c04d (COMP: Require at least C++17)
This commit fixes warnings like the following: CMake Deprecation Warning at /path/to/Slicer-Release/VTK-build/lib/cmake/vtk-9.1/vtk-config.cmake:75 (message): The new name for the 'vtkIOLegacy' component is 'IOLegacy'
This commit fixes the following warning: CMake Deprecation Warning at /path/to/Slicer-Release/VTK-build/lib/cmake/vtk-9.1/vtk-use-file-deprecated.cmake:1 (message): The `VTK_USE_FILE` is no longer used starting with 8.90. Call Stack (most recent call first): UKFTractography.cmake:34 (include) CMakeLists.txt:97 (include)
File ITKSetStandardCompilerFlags copied from ITK v5.1b01 This commit fixes the following error: CMake Error at /path/to/Slicer-build/ITK/CMake/ITK_CheckCCompilerFlag.cmake:29 (check_c_compiler_flag): Unknown CMake command "check_c_compiler_flag". Adapted from: * NIRALUser/ShapePopulationViewer@53edc736d (Fix configuration updating ITKSetStandardCompilerFlags) * NIRALUser/ShapePopulationViewer@aecbfec22 (COMP: Fix inconsistent dll linkage error on windows)
Update PreventInSourceBuilds module to reference Github instead of SVN repository. Adapted from: * NIRALUser/ShapePopulationViewer@e7c97d75c (COMP: Fix Qt5 build and update SuperBuild layout using ExternalProjectDependency)
This commit removes obsolete copy of the module originally introduced in 2013 through 6ac1ecf (COMP: Switch to NamicExternalProjects SuperBuild) and instead rely on the module provided by CMake.
@yrathi Once this is integrated, we will rebase & consolidate change associated with #143 and #146 cc: @pieper @LucasGandel |
The white space changes can be excluded from the review appending For example, see https://github.com/pnlbwh/ukftractography/pull/149/files?w=1 Or by explicitly toggling the option:
|
Please wait ... we are dealing with failed storage at our office now. |
Tested on Windows with VS2019. Works like a charm after adding the following changes: cc: @jcfr |
What GCC did you use to test it on CentOS 7? Are you able to build it using the native 4.8.5? |
…ject Streamline maintenance ensuring each project repository and version are set in the corresponding external project file.
Remove outdated comments and logic for old MacOSX platforms that are no longer supported. Adapted from Slicer/Slicer@ac191b40f
Can we move forward with the integration ? To help move forward, I can split the style commits ( |
comment unaddressed. |
Testing was done using
Instead of using the outdated Doing so allows to use modern compiler while being being compatible with older GlibC. |
Hard to follow this recommendation in our workstation and cluster environment. They are all CentOS 7 and GCC 4.8.5 based. We shall discuss it internally. |
In any case, does your PR supersede #143? |
As described in #149 (comment)
|
I think I can run the extra mile to install GCC-7 in our environments and see if it builds. Did you add any new tests that would confirm that your builds did not break the underlying algebra/arithmetic? |
Since these set of changes only focus on updating the build-system so that it is more consistent and maintainable, there were no tests added (All commits are labelled |
Once this PR is integrated, we will take care of re-basing and addressing issues associated with the other ones. |
Building in progress ... |
Building the current codebase as-is with cmake-3.23.0-rc3-linux-x86_64 and gcc-9.3.0 results in the following cmake errors:
Steps to reproduce:
I can further confirm that the same configuration, with the same steps builds master branch at pnlbwh/ukftractography without issue. |
@@ -20,18 +19,16 @@ include(${ITK_USE_FILE}) | |||
#----------------------------------------------------------------------------- | |||
set(VTK_FOUND OFF) | |||
find_package(VTK COMPONENTS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
find_package(VTK COMPONENTS | |
find_package(VTK 9 COMPONENTS |
This will make thing unambiguous
I was able to get the build to succeed by making the following changes:
More Details1. Move `include(${CMAKE_CURRENT_SOURCE_DIR}/Common.cmake)` after project definition on CMakeLists.txtukftractography/CMakeLists.txt Lines 97 to 108 in 32ec799
Move
2. Reverting changes to VTK on UKFTractography.cmakeukftractography/UKFTractography.cmake Lines 20 to 31 in 32ec799
3. Using 'git' instead of ${GIT_EXECUTABLE} on ukf/CMakeLists.txtukftractography/ukf/CMakeLists.txt Line 14 in 32ec799
Instead using FurtherWill try building with the proposed |
@jcfr Jean, I think this is another major problem. Feel free to propose a solution. |
Tried building with proposed
Note: This build used the modifications 1 and 3 as outlined from the above comment, and used the proposed |
That makes sense since I initially tried to avoid updating VTK external project .. which is still building VTK 7. I will follow in the next few days with an update. Thanks for the review |
Were you able to successfully build this PR before proposing it? @jcfr |
@jcfr , @LucasGandel , @pieper : UKFTractography headquarter is moving to RedHat 9 OS. Is this PR still of interest? If yes, we can try to build it. For the record, we tried it in CentOS 7 but did not work. |
I'd be fine with whatever builds best on modern systems. @jcfr is this still useful for you? |
The changes are expected to be general and still relevant, while I was actively working on this, I had started to further improve the PR to address both the "standalone" and "bundled" case but had to pause due to other constraints. Waiting for when I have time to address those, I will submit smaller PR with stylistic changes and alike. |
@jcfr , this PR does not build on RHEL 9 either. I get Dheshan's error: #149 (comment) He already proposed his solution here: #149 (comment) |
No description provided.