V.2: squash in, cmake: Add docs manpage build target cmake: Add install targets cmake: Misc fixes Signed-off-by: Edward O'Callaghan <funfunctor at folklore1984.net> --- CMakeLists.txt | 40 ++++++++++++++++++++++++++++++++++++++++ doc/CMakeLists.txt | 3 +++ src/CMakeLists.txt | 6 ++++++ src/app/CMakeLists.txt | 24 ++++++++++++++++++++++++ src/lib/CMakeLists.txt | 28 ++++++++++++++++++++++++++++ src/lib/asic/CMakeLists.txt | 20 ++++++++++++++++++++ src/lib/ip/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 162 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 doc/CMakeLists.txt create mode 100644 src/CMakeLists.txt create mode 100644 src/app/CMakeLists.txt create mode 100644 src/lib/CMakeLists.txt create mode 100644 src/lib/asic/CMakeLists.txt create mode 100644 src/lib/ip/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..bef94fd --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,40 @@ +# Copyright 2017 Edward O'Callaghan <funfunctor at folklore1984.net> + +cmake_minimum_required(VERSION 3.0.1) + +project(umr) + +SET(MAJOR_VERSION 1) +SET(MINOR_VERSION 0) + +SET(RELEASE_VERSION \"${MAJOR_VERSION}.${MINOR_VERSION}\") +execute_process(COMMAND git describe --abbrev=12 --always + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_STRIP_TRAILING_WHITESPACE + OUTPUT_VARIABLE GIT_REV +) +add_definitions(-DUMR_BUILD_VER=${RELEASE_VERSION}) +add_definitions(-DUMR_BUILD_REV=\"${GIT_REV}\") + +# Add local repository for FindXXX.cmake modules. +SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/" ${CMAKE_MODULE_PATH}) + +find_package(Curses REQUIRED) +include_directories(${CURSES_INCLUDE_DIRS}) + +find_package(PCIAccess REQUIRED) +include_directories(${PCIACCESS_INCLUDE_DIR}) + +set(REQUIRED_EXTERNAL_LIBS + ${CURSES_LIBRARIES} + ${PCIACCESS_LIBRARIES} +) + +# Global setting: build everything position independent +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +# CFLAGS += -Wall -W -O2 -g3 -Isrc/ -DPIC -fPIC +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -W -O2 -g3") + +add_subdirectory(src) +add_subdirectory(doc) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 0000000..112ad48 --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1,3 @@ +# Copyright 2017 Edward O'Callaghan <funfunctor at folklore1984.net> + +install(FILES umr.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man1) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..e9eaeeb --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,6 @@ +# Copyright 2017 Edward O'Callaghan <funfunctor at folklore1984.net> + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/) + +add_subdirectory(lib) +add_subdirectory(app) diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt new file mode 100644 index 0000000..117d3f1 --- /dev/null +++ b/src/app/CMakeLists.txt @@ -0,0 +1,24 @@ +# Copyright 2017 Edward O'Callaghan <funfunctor at folklore1984.net> + +project(umr) + +#application objects +add_library(umrapp + print.c + print_config.c + ring_read.c + scan.c + scan_log.c + top.c + umr_lookup.c + set_bit.c + set_reg.c + print_waves.c + enum.c +) + +add_executable(umr main.c) +target_link_libraries(umr umrapp) +target_link_libraries(umr umrcore) + +install(TARGETS umr DESTINATION bin) diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt new file mode 100644 index 0000000..46c75d6 --- /dev/null +++ b/src/lib/CMakeLists.txt @@ -0,0 +1,28 @@ +# Copyright 2017 Edward O'Callaghan <funfunctor at folklore1984.net> + +add_subdirectory(asic) +add_subdirectory(ip) + +add_library(umrcore STATIC + bitfield_print.c + close_asic.c + create_asic_helper.c + discover_by_did.c + discover_by_name.c + discover.c + dump_ib.c + find_reg.c + mmio.c + query_drm.c + read_sgpr.c + read_vram.c + ring_decode.c + scan_config.c + wave_status.c + create_mmio_accel.c + $<TARGET_OBJECTS:asic> $<TARGET_OBJECTS:ip> +) + +target_link_libraries(umrcore ${REQUIRED_EXTERNAL_LIBS}) + +install(TARGETS umrcore DESTINATION lib) diff --git a/src/lib/asic/CMakeLists.txt b/src/lib/asic/CMakeLists.txt new file mode 100644 index 0000000..6cfec30 --- /dev/null +++ b/src/lib/asic/CMakeLists.txt @@ -0,0 +1,20 @@ +# Copyright 2017 Edward O'Callaghan <funfunctor at folklore1984.net> + +#library objects (ASICs blocks) +add_library(asic OBJECT + bonaire.c + carrizo.c + fiji.c + hainan.c + kaveri.c + oland.c + pitcairn.c + polaris10.c + polaris11.c + polaris12.c + stoney.c + tahiti.c + tonga.c + topaz.c + verde.c +) diff --git a/src/lib/ip/CMakeLists.txt b/src/lib/ip/CMakeLists.txt new file mode 100644 index 0000000..2c2fe68 --- /dev/null +++ b/src/lib/ip/CMakeLists.txt @@ -0,0 +1,41 @@ +# Copyright 2017 Edward O'Callaghan <funfunctor at folklore1984.net> + +add_library(ip OBJECT + bif30.c + bif41.c + bif50.c + bif51.c + dce100.c + dce110.c + dce112.c + dce60.c + dce80.c + gfx60.c + gfx70.c + gfx72.c + gfx80.c + gfx81.c + gmc60.c + gmc70.c + gmc71.c + gmc81.c + gmc82.c + oss10.c + oss20.c + oss30.c + smu60.c + smu700.c + smu701.c + smu710.c + smu711.c + smu712.c + smu713.c + smu80.c + uvd40.c + uvd42.c + uvd5.c + uvd6.c + vce1.c + vce2.c + vce3.c +) -- 2.9.3