Build System Fixes (#46)
* Update build system
- emsure CMAKE_INSTALL_LIBDIR is always lib
- fix find_package(rocprofiler-register) in build tree
- set rocprofiler-register_VERSION in rocprofiler-register-config.cmake
- samples/library-implementation always uses find_package(rocprofiler-register)
* Update cmake/rocprofiler_register_config_install.cmake
- rocprofiler_register_DIR -> rocprofiler-register_DIR
[ROCm/rocprofiler-register commit: b04c8478f2]
Этот коммит содержится в:
@@ -73,6 +73,9 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${PROJECT_SOURCE_DIR}/cmake/Mo
|
||||
|
||||
include(GNUInstallDirs) # install directories
|
||||
|
||||
# ROCm does not use lib64
|
||||
set(CMAKE_INSTALL_LIBDIR "lib")
|
||||
|
||||
include(rocprofiler_register_utilities) # various functions/macros
|
||||
include(rocprofiler_register_interfaces) # interface libraries
|
||||
include(rocprofiler_register_compilers) # compiler identification
|
||||
@@ -96,6 +99,8 @@ include(CTest)
|
||||
add_subdirectory(external)
|
||||
add_subdirectory(source)
|
||||
|
||||
include(rocprofiler_register_config_install)
|
||||
|
||||
if(ROCPROFILER_REGISTER_BUILD_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
@@ -104,8 +109,6 @@ if(ROCPROFILER_REGISTER_BUILD_SAMPLES)
|
||||
add_subdirectory(samples)
|
||||
endif()
|
||||
|
||||
#
|
||||
include(rocprofiler_register_config_install)
|
||||
include(rocprofiler_register_config_packaging)
|
||||
|
||||
rocprofiler_register_print_features()
|
||||
|
||||
+5
-1
@@ -11,13 +11,17 @@ get_filename_component(@PROJECT_NAME@_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PAT
|
||||
# version
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-version.cmake)
|
||||
|
||||
set(@PROJECT_NAME@_VERSION ${PACKAGE_VERSION})
|
||||
|
||||
@PACKAGE_INIT@
|
||||
|
||||
set_and_check(@PROJECT_NAME@_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
|
||||
set_and_check(@PROJECT_NAME@_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
|
||||
get_filename_component(@PROJECT_NAME@_ROOT_DIR ${@PROJECT_NAME@_INCLUDE_DIR} PATH)
|
||||
|
||||
include("${@PROJECT_NAME@_CMAKE_DIR}/@PROJECT_NAME@-library-targets.cmake")
|
||||
if(NOT @PROJECT_NAME@_BUILD_TREE)
|
||||
include("${@PROJECT_NAME@_CMAKE_DIR}/@PROJECT_NAME@-library-targets.cmake")
|
||||
endif()
|
||||
|
||||
if(TARGET @PROJECT_NAME@::@PROJECT_NAME@)
|
||||
set(@PROJECT_NAME@_LIBRARIES @PROJECT_NAME@::@PROJECT_NAME@)
|
||||
|
||||
+13
-3
@@ -57,11 +57,21 @@ install(
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}
|
||||
OPTIONAL)
|
||||
|
||||
export(PACKAGE ${PROJECT_NAME})
|
||||
|
||||
# ------------------------------------------------------------------------------#
|
||||
# build tree
|
||||
#
|
||||
set(${PROJECT_NAME}_BUILD_TREE
|
||||
ON
|
||||
CACHE BOOL "" FORCE)
|
||||
|
||||
file(RELATIVE_PATH rocp_reg_bin2src_rel_path ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR})
|
||||
string(REPLACE "//" "/" rocp_reg_inc_rel_path
|
||||
"${rocp_reg_bin2src_rel_path}/source/include")
|
||||
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${rocp_reg_inc_rel_path}
|
||||
${PROJECT_BINARY_DIR}/include WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
|
||||
|
||||
set(_BUILDTREE_EXPORT_DIR
|
||||
"${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/cmake/rocprofiler-register")
|
||||
|
||||
@@ -82,6 +92,6 @@ export(
|
||||
NAMESPACE rocprofiler-register::
|
||||
FILE "${_BUILDTREE_EXPORT_DIR}/rocprofiler-register-library-targets.cmake")
|
||||
|
||||
set(rocprofiler_register_DIR
|
||||
set(rocprofiler-register_DIR
|
||||
"${_BUILDTREE_EXPORT_DIR}"
|
||||
CACHE PATH "rocprofiler-register" FORCE)
|
||||
|
||||
@@ -3,14 +3,15 @@
|
||||
#
|
||||
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
|
||||
|
||||
set(CMAKE_CXX_FLAGS_INIT "-W -Wall -Wextra")
|
||||
|
||||
project(rocprofiler-register-library-implementation LANGUAGES C CXX)
|
||||
|
||||
if("${CMAKE_PROJECT_NAME}" STREQUAL "${PROJECT_NAME}")
|
||||
find_package(rocprofiler-register REQUIRED)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(rocprofiler-register REQUIRED)
|
||||
|
||||
add_library(rocp-reg-hip-demo SHARED)
|
||||
target_sources(rocp-reg-hip-demo PRIVATE demo.cpp demo.hpp)
|
||||
|
||||
Ссылка в новой задаче
Block a user