X-Git-Url: https://git.cworth.org/git?p=apitrace;a=blobdiff_plain;f=CMakeLists.txt;h=ac046f51266e469184860c78fe4fa7975d758de5;hp=46514aaf31934c2e1f53ff8c9e05f88f60d9bff4;hb=ec8f5a61f393e75e4c3e3e22f84c773af66810e9;hpb=400cd6589ff21fa885b6cd799ecd730384a14509 diff --git a/CMakeLists.txt b/CMakeLists.txt index 46514aa..ac046f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,8 +106,8 @@ else (WIN32) endif () if (MSVC) - # C99 includes for msvc - include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/msvc) + # C99 includes for MSVC + include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/msinttypes) # Enable math constants defines add_definitions (-D_USE_MATH_DEFINES) @@ -181,6 +181,43 @@ endif () set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +############################################################################## +# Installation directories + +if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + # Debian multiarch support + execute_process(COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH + OUTPUT_VARIABLE ARCH_SUBDIR + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + CHECK_INCLUDE_FILES(proc/readproc.h READPROC_H_FOUND) + if (READPROC_H_FOUND) + add_definitions (-DHAVE_READPROC_H) + find_library (proc_LIBRARY NAMES proc procps) + endif () +endif() + +if (WIN32 OR APPLE) + # On Windows/MacOSX, applications are usually installed on a directory of + # their own + set (DOC_INSTALL_DIR doc) + set (LIB_INSTALL_DIR lib) + set (LIB_ARCH_INSTALL_DIR lib) +else () + set (DOC_INSTALL_DIR share/doc/${CMAKE_PROJECT_NAME}) + set (LIB_INSTALL_DIR lib/${CMAKE_PROJECT_NAME}) + if (ARCH_SUBDIR) + set (LIB_ARCH_INSTALL_DIR lib/${ARCH_SUBDIR}/${CMAKE_PROJECT_NAME}) + else () + set (LIB_ARCH_INSTALL_DIR lib/${CMAKE_PROJECT_NAME}) + endif () +endif () + +set (SCRIPTS_INSTALL_DIR ${LIB_INSTALL_DIR}/scripts) +set (WRAPPER_INSTALL_DIR ${LIB_ARCH_INSTALL_DIR}/wrappers) + + ############################################################################## # Bundled dependencies # @@ -191,13 +228,13 @@ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) set (ZLIB_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib) set (ZLIB_LIBRARIES z_bundled) -add_subdirectory (thirdparty/zlib EXCLUDE_FROM_ALL) +add_subdirectory (thirdparty/zlib) include_directories (${ZLIB_INCLUDE_DIRS}) set (SNAPPY_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/snappy) set (SNAPPY_LIBRARIES snappy_bundled) -add_subdirectory (thirdparty/snappy EXCLUDE_FROM_ALL) +add_subdirectory (thirdparty/snappy) include_directories (${SNAPPY_INCLUDE_DIRS}) @@ -205,10 +242,10 @@ set (PNG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libpng) set (PNG_DEFINITIONS "") set (PNG_LIBRARIES png_bundled) -add_subdirectory (thirdparty/libpng EXCLUDE_FROM_ALL) +add_subdirectory (thirdparty/libpng) if (MSVC) - add_subdirectory (thirdparty/getopt EXCLUDE_FROM_ALL) + add_subdirectory (thirdparty/getopt) include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/getopt) set (GETOPT_LIBRARIES getopt_bundled) endif () @@ -224,7 +261,7 @@ endif () # binaries at all. if (QT4_FOUND) add_definitions (-DQJSON_EXPORT=) - add_subdirectory (thirdparty/qjson EXCLUDE_FROM_ALL) + add_subdirectory (thirdparty/qjson) set (QJSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty) set (QJSON_LIBRARY_DIRS) set (QJSON_LIBRARIES qjson_bundled) @@ -238,51 +275,6 @@ endif () include_directories (BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/khronos) -############################################################################## -# Installation directories - -if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - # Debian multiarch support - execute_process(COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH - OUTPUT_VARIABLE ARCH_SUBDIR - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE - ) -endif() - -if (WIN32 OR APPLE) - # On Windows/MacOSX, applications are usually installed on a directory of - # their own - set (DOC_INSTALL_DIR doc) - set (LIB_INSTALL_DIR lib) - set (LIB_ARCH_INSTALL_DIR lib) -else () - set (DOC_INSTALL_DIR share/doc/${CMAKE_PROJECT_NAME}) - set (LIB_INSTALL_DIR lib/${CMAKE_PROJECT_NAME}) - if (ARCH_SUBDIR) - set (LIB_ARCH_INSTALL_DIR lib/${ARCH_SUBDIR}/${CMAKE_PROJECT_NAME}) - else () - set (LIB_ARCH_INSTALL_DIR lib/${CMAKE_PROJECT_NAME}) - endif () -endif () - -set (SCRIPTS_INSTALL_DIR ${LIB_INSTALL_DIR}/scripts) -set (WRAPPER_INSTALL_DIR ${LIB_ARCH_INSTALL_DIR}/wrappers) - -# Expose the binary/install directories to source -# -# TODO: Use the same directory layout, for both build and install directories, -# so that binaries can find each other using just relative paths. -# -add_definitions( - -DAPITRACE_BINARY_DIR="${CMAKE_BINARY_DIR}" - -DAPITRACE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}" - -DAPITRACE_PROGRAMS_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}/bin" - -DAPITRACE_SCRIPTS_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}/${SCRIPTS_INSTALL_DIR}" - -DAPITRACE_WRAPPERS_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}/${WRAPPER_INSTALL_DIR}" -) - - ############################################################################## # Common libraries / utilities @@ -307,6 +299,7 @@ endif () add_library (common STATIC common/trace_callset.cpp common/trace_dump.cpp + common/trace_fast_callset.cpp common/trace_file.cpp common/trace_file_read.cpp common/trace_file_write.cpp @@ -325,7 +318,6 @@ add_library (common STATIC ) set_target_properties (common PROPERTIES - COMPILE_DEFINITIONS APITRACE_SOURCE_DIR="${CMAKE_SOURCE_DIR}" # Ensure it can be statically linked in shared libraries COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS}" ) @@ -362,11 +354,22 @@ endif () install ( PROGRAMS - ${CMAKE_CURRENT_SOURCE_DIR}/scripts/tracediff.py - ${CMAKE_CURRENT_SOURCE_DIR}/scripts/jsondiff.py - ${CMAKE_CURRENT_SOURCE_DIR}/scripts/snapdiff.py + scripts/highlight.py + scripts/jsondiff.py + scripts/profileshader.py + scripts/retracediff.py + scripts/snapdiff.py + scripts/tracecheck.py + scripts/tracediff.py + scripts/unpickle.py DESTINATION ${SCRIPTS_INSTALL_DIR} ) +if (WIN32) + install ( + PROGRAMS scripts/convert.py + DESTINATION ${SCRIPTS_INSTALL_DIR} + ) +endif () ############################################################################## # GUI @@ -382,11 +385,22 @@ endif () install ( FILES BUGS.markdown - LICENSE NEWS.markdown README.markdown DESTINATION ${DOC_INSTALL_DIR} ) +install ( + FILES LICENSE + DESTINATION ${DOC_INSTALL_DIR} + RENAME LICENSE.txt +) +if (MSVC) + install ( + FILES thirdparty/msinttypes/LICENSE + DESTINATION ${DOC_INSTALL_DIR} + RENAME LICENSE-msinttypes.txt + ) +endif () set (CPACK_PACKAGE_VERSION_MAJOR "3") set (CPACK_PACKAGE_VERSION_MINOR "0")