Skip to content

Commit

Permalink
[CMAKE] GNUInstallDir enhancements
Browse files Browse the repository at this point in the history
*Install path enhanced using GNUInstallDir CMAKE flags and Fix for UT issues
  • Loading branch information
arvindcheru authored Aug 2, 2022
1 parent 71a76a4 commit 5b80c45
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 10 deletions.
9 changes: 8 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.0.2)

#Setting Default value for libdir
set(CMAKE_INSTALL_LIBDIR "lib" CACHE STRING "Library install directory")

#include definitions for GNU install dir cmake flags.
include(GNUInstallDirs)

# Default compiler gfortran, otherwise cmake Fortran package will set it to f95
# You can override the compiler with cmake -DHIPFORT_COMPILER=
set(HIPFORT_COMPILER "/usr/bin/gfortran" CACHE STRING "Fortran Compiler to build HIPFORT")
Expand Down Expand Up @@ -136,7 +143,7 @@ if(NOT CPACK_PACKAGING_INSTALL_PREFIX)
set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
endif()

set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "\${CPACK_PACKAGING_INSTALL_PREFIX}" "\${CPACK_PACKAGING_INSTALL_PREFIX}/include" )
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "\${CPACK_PACKAGING_INSTALL_PREFIX}" "\${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}" )
# Prevent rpmbuild from stripping binaries, which caused issues on CentOS
set(CPACK_RPM_SPEC_INSTALL_POST "/bin/true")

Expand Down
8 changes: 4 additions & 4 deletions bin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ add_custom_target(util_scripts ALL DEPENDS bindir libexecdir sharedir gputable.t
install(PROGRAMS
# Version string edited
${CMAKE_CURRENT_BINARY_DIR}/../bin/hipfc
DESTINATION bin
DESTINATION ${CMAKE_INSTALL_BINDIR}
)

install(PROGRAMS
Expand All @@ -64,15 +64,15 @@ install(PROGRAMS
${CMAKE_CURRENT_SOURCE_DIR}/myarchgpu
# Version string edited
${CMAKE_CURRENT_BINARY_DIR}/../libexec/hipfort/mymcpu
DESTINATION libexec/hipfort
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/hipfort
)

#GPUTable.txt installed to libexec
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/gputable.txt
DESTINATION libexec/hipfort)
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/hipfort)

#Makefile.hipfort installed to share
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/../share/hipfort/Makefile.hipfort
DESTINATION share/hipfort)
DESTINATION ${CMAKE_INSTALL_DATADIR}/hipfort)
10 changes: 5 additions & 5 deletions lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ set(HIPFORT_ARCH "amdgcn")
ENDIF(CMAKE_Fortran_COMPILER_SUPPORTS_F08)
target_compile_definitions(${HIPFORT_LIB} PRIVATE _HIPFORT_ARCH='${HIPFORT_ARCH}')
install(TARGETS ${HIPFORT_LIB}
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

set(HIPFORT_ARCH "nvptx")
# nvptx
Expand All @@ -39,10 +39,10 @@ set(HIPFORT_ARCH "nvptx")
target_compile_definitions(${HIPFORT_LIB} PRIVATE USE_CUDA_NAMES)
target_compile_definitions(${HIPFORT_LIB} PRIVATE _HIPFORT_ARCH='${HIPFORT_ARCH}')
install(TARGETS ${HIPFORT_LIB}
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

install(DIRECTORY ${CMAKE_BINARY_DIR}/include/hipfort DESTINATION include)
install(DIRECTORY ${CMAKE_BINARY_DIR}/include/hipfort DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

# target_link_libraries(${HIPFORT_LIB} PUBLIC
# /usr/local/cuda/targets/x86_64-linux/lib/libcudart_static.a)

0 comments on commit 5b80c45

Please sign in to comment.