diff options
author | Edward O'Callaghan <funfunctor@folklore1984.net> | 2017-02-05 15:59:07 +1100 |
---|---|---|
committer | Tom St Denis <tom.stdenis@amd.com> | 2017-02-05 10:32:23 -0500 |
commit | f525260890f5e9638748b4cd809fe4a8e7eaf3c2 (patch) | |
tree | 17cd2339f41b64d15cffe73d726de77ebbc40225 | |
parent | 7a70051cef195d33d3e88b855a624ffc273bb333 (diff) |
cmake: Initial build system
V.2: squash in,
cmake: Add docs manpage build target
cmake: Add install targets
cmake: Misc fixes
Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Tom St Denis <tom.stdenis@amd.com>
-rw-r--r-- | CMakeLists.txt | 40 | ||||
-rw-r--r-- | doc/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/app/CMakeLists.txt | 24 | ||||
-rw-r--r-- | src/lib/CMakeLists.txt | 28 | ||||
-rw-r--r-- | src/lib/asic/CMakeLists.txt | 20 | ||||
-rw-r--r-- | src/lib/ip/CMakeLists.txt | 41 |
7 files changed, 162 insertions, 0 deletions
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@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@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@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@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@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@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@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 +) |