Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Added CPack support
  • Loading branch information
charpercyr committed Apr 18, 2018
1 parent 1af1de0 commit f0615b7
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 9 deletions.
17 changes: 15 additions & 2 deletions CMakeLists.txt
@@ -1,5 +1,7 @@
cmake_minimum_required(VERSION 3.0)

project(dyntrace)

enable_language(CXX ASM)

if(NOT ARCH_INSTALL)
Expand All @@ -16,7 +18,11 @@ include(options.cmake)

set(link-flags "-L${ARCH_INSTALL}/lib")

set(CMAKE_VERSION 0.1)
set(DYNTRACE_VERSION_MAJOR 0)
set(DYNTRACE_VERSION_MINOR 1)
set(DYNTRACE_VERSION_PATCH 0)

set(CMAKE_VERSION ${DYNTRACE_VERSION_MAJOR}.${DYNTRACE_VERSION_MINOR}.${DYNTRACE_VERSION_PATCH})
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_C_FLAGS "-Wall -I${ARCH_INSTALL}/include ${link-flags}")
set(CMAKE_ASM_FLAGS "-Wall ${link-flags}")
Expand All @@ -32,4 +38,11 @@ install(FILES dyntrace.cmake DESTINATION share/cmake)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dyntrace-defs.cmake DESTINATION share/cmake)

add_subdirectory(examples)
add_subdirectory(src)
add_subdirectory(src)

set(CPACK_GENERATOR TGZ)
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_SYSTEM_NAME})
set(CPACK_PACKAGE_VERSION_MAJOR ${DYNTRACE_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${DYNTRACE_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${DYNTRACE_VERSION_PATCH})
include(CPack)
2 changes: 1 addition & 1 deletion dyntrace.cmake
Expand Up @@ -7,7 +7,7 @@ macro(dyntrace_option name default)
endif()
endmacro()

dyntrace_option(DYNTRACE_TRACER_DIRECTORY ${DYNTRACE_INSTALL_PREFIX}/lib/dyntrace/tracers)
dyntrace_option(DYNTRACE_TRACER_DIRECTORY lib/dyntrace/tracers)

function(dyntrace_tracer target)
add_library(${target} MODULE ${ARGN})
Expand Down
2 changes: 1 addition & 1 deletion src/dyntrace/config.hpp.in
Expand Up @@ -11,7 +11,7 @@ namespace dyntrace
constexpr const char* process_socket_name{"${DYNTRACE_PROCESS_SOCKET_NAME}"};
constexpr const char* lock_file_name{"${DYNTRACE_LOCK_FILE_NAME}"};
constexpr const char* agent_library{"${DYNTRACE_AGENT_LIBRARY}"};
constexpr const char* tracer_directory{"${DYNTRACE_TRACER_DIRECTORY}"};
constexpr const char* tracer_directory{"${DYNTRACE_INSTALL_PREFIX}/${DYNTRACE_TRACER_DIRECTORY}"};
}
}

Expand Down
1 change: 1 addition & 0 deletions src/dyntrace/dyntraced/CMakeLists.txt
Expand Up @@ -24,4 +24,5 @@ if(ARCH STREQUAL arm)
target_compile_options(dyntraced PRIVATE -Wno-builtin-declaration-mismatch)
endif()


install(TARGETS dyntraced DESTINATION bin)
14 changes: 10 additions & 4 deletions src/dyntrace/frontends/CMakeLists.txt
@@ -1,18 +1,24 @@

macro(dyntrace_add_client name module)
set(client-file ${CMAKE_CURRENT_BINARY_DIR}/clients/${name})
set(file ${module}.py)
install(CODE "EXECUTE_PROCESS(COMMAND mkdir -p ${CMAKE_INSTALL_PREFIX}/bin)")
install(CODE "EXECUTE_PROCESS(COMMAND rm -f ${CMAKE_INSTALL_PREFIX}/bin/${name})")
install(CODE "EXECUTE_PROCESS(COMMAND ln -s ${CMAKE_INSTALL_PREFIX}/lib/dyntrace/client/client.py ${CMAKE_INSTALL_PREFIX}/bin/${name})")
add_custom_command(
OUTPUT ${client-file}
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/clients
COMMAND rm -f ${client-file}
COMMAND ln -s ${DYNTRACE_INSTALL_PREFIX}/lib/dyntrace/client/client.py ${client-file}
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/clients/${name} DESTINATION bin)
configure_file(${file} ${file})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${file} DESTINATION lib/dyntrace/client)
install(CODE "MESSAGE(\"-- Adding dyntrace client: ${CMAKE_INSTALL_PREFIX}/bin/${name}\")")
list(APPEND DYNTRACE_CLIENTS ${name}@${module})
list(APPEND client-deps ${client-file})
endmacro()

dyntrace_add_client(dyntrace cli)
dyntrace_add_client(dyntrace-run run)

add_custom_target(clients ALL DEPENDS ${client-deps})
configure_file(client.py client.py)
install(FILES ${PROTO_PY_SRCS} DESTINATION lib/dyntrace/client)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/client.py DESTINATION lib/dyntrace/client)
Expand Down
2 changes: 1 addition & 1 deletion src/dyntrace/frontends/run.py
Expand Up @@ -5,7 +5,7 @@
import subprocess as sp

DYNTRACE_AGENT_LIBRARY='${DYNTRACE_AGENT_LIBRARY}'
DYNTRACE_TRACER_DIRECTORY='${DYNTRACE_TRACER_DIRECTORY}'
DYNTRACE_TRACER_DIRECTORY='${DYNTRACE_INSTALL_PREFIX}/${DYNTRACE_TRACER_DIRECTORY}'

def daemonize():
if os.fork() > 0:
Expand Down

0 comments on commit f0615b7

Please sign in to comment.