X-Git-Url: https://git.cworth.org/git?p=apitrace;a=blobdiff_plain;f=CMakeLists.txt;h=91f1b874321caea66abf4cec2ed5597748d68c87;hp=83490d56b3d7e17c2230a6ccd0c7d9c725e25acc;hb=48c661ea6c0f2bd9b76a3385cd946b7d07bc9b5f;hpb=68267d04b883070d6be7a582849d12131cc4b36d diff --git a/CMakeLists.txt b/CMakeLists.txt index 83490d5..91f1b87 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,38 @@ 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 + ) +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 +223,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,12 +237,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) -include_directories (${PNG_INCLUDE_DIR}) -add_definitions (${PNG_DEFINITIONS}) +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 () @@ -225,7 +255,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) @@ -239,50 +269,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_SCRIPTS_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}/${SCRIPTS_INSTALL_DIR}" - -DAPITRACE_WRAPPERS_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}/${WRAPPER_INSTALL_DIR}" -) - - ############################################################################## # Common libraries / utilities @@ -319,13 +305,8 @@ add_library (common STATIC common/trace_writer_local.cpp common/trace_writer_model.cpp common/trace_loader.cpp - common/trace_resource.cpp - common/trace_tools_trace.cpp common/trace_profiler.cpp - common/image.cpp - common/image_bmp.cpp - common/image_pnm.cpp - common/image_png.cpp + common/trace_option.cpp common/${os} ) @@ -336,7 +317,9 @@ set_target_properties (common PROPERTIES ) if (ANDROID) - target_link_libraries (common log) + target_link_libraries (common + log + ) endif () @@ -344,7 +327,9 @@ endif () # Sub-directories add_subdirectory (dispatch) +add_subdirectory (helpers) add_subdirectory (wrappers) +add_subdirectory (image) add_subdirectory (retrace) @@ -352,7 +337,10 @@ add_subdirectory (retrace) # CLI if (ENABLE_CLI) - add_subdirectory(cli) + if (WIN32) + add_subdirectory (inject) + endif () + add_subdirectory (cli) endif () ############################################################################## @@ -360,11 +348,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 @@ -380,11 +379,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")