X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=CMakeLists.txt;h=87aac12e9482bcd1d151fce4f20671b59f1892ad;hb=9d27cc7dfeedc2910a955b42de87f7601cbcf113;hp=8ea59d55642f6d9029343d95563664ef8c21b696;hpb=e923607ddc14a2f135e2c08317833bca902b4a65;p=apitrace diff --git a/CMakeLists.txt b/CMakeLists.txt index 8ea59d5..87aac12 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -180,6 +180,37 @@ endif () include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty) +############################################################################## +# Installation directories + +if (WIN32 OR APPLE) + # On Windows/MacOSX, applications are usually installed on a directory of + # their own + set (DOC_INSTALL_DIR doc) +else () + set (DOC_INSTALL_DIR share/doc/${CMAKE_PROJECT_NAME}) +endif () + +if (APPLE) + # MacOSX uses fat binaries, so no need to have per-architecture wrapper + # directories + set (WRAPPER_INSTALL_DIR lib/apitrace) +else () + set (WRAPPER_INSTALL_DIR lib/apitrace/${CMAKE_SYSTEM_PROCESSOR}) +endif () + +# 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_WRAPPER_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}/${WRAPPER_INSTALL_DIR}" +) + + ############################################################################## # Common libraries / utilities @@ -216,6 +247,7 @@ add_library (common STATIC common/trace_writer_local.cpp common/trace_writer_model.cpp common/trace_loader.cpp + common/trace_tools_trace.cpp common/image.cpp common/image_bmp.cpp common/image_pnm.cpp @@ -230,6 +262,7 @@ set_target_properties (common PROPERTIES link_libraries (common) + ############################################################################## # API tracers @@ -253,7 +286,7 @@ if (WIN32) RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers ) - install (TARGETS ddraw LIBRARY DESTINATION wrappers) + install (TARGETS ddraw LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) endif (DirectX_D3D_INCLUDE_DIR) # d3d8.dll @@ -270,7 +303,7 @@ if (WIN32) RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers ) - install (TARGETS d3d8 LIBRARY DESTINATION wrappers) + install (TARGETS d3d8 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) endif (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3DX9_INCLUDE_DIR) # d3d9.dll @@ -287,7 +320,7 @@ if (WIN32) RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers ) - install (TARGETS d3d9 LIBRARY DESTINATION wrappers) + install (TARGETS d3d9 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) endif (DirectX_D3DX9_INCLUDE_DIR) # d3d10.dll @@ -304,7 +337,7 @@ if (WIN32) RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers ) - install (TARGETS d3d10 LIBRARY DESTINATION wrappers) + install (TARGETS d3d10 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) endif (DirectX_D3D10_INCLUDE_DIR) # opengl32.dll @@ -324,7 +357,7 @@ if (WIN32) RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers ) - install (TARGETS wgltrace LIBRARY DESTINATION wrappers) + install (TARGETS wgltrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) elseif (APPLE) # OpenGL framework @@ -351,7 +384,7 @@ elseif (APPLE) target_link_libraries (cgltrace dl) - install (TARGETS cgltrace LIBRARY DESTINATION wrappers) + install (TARGETS cgltrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) else () # libGL.so add_custom_command ( @@ -370,17 +403,16 @@ else () set_target_properties (glxtrace PROPERTIES # avoid the default "lib" prefix PREFIX "" - ) - - # Prevent symbol relocations internal to our wrapper library to be - # overwritten by the application. - set_target_properties (glxtrace PROPERTIES + # Prevent symbol relocations internal to our wrapper library to be + # overwritten by the application. LINK_FLAGS "-Wl,-Bsymbolic -Wl,-Bsymbolic-functions" + RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers + LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers ) target_link_libraries (glxtrace dl ${X11_X11_LIB}) - install (TARGETS glxtrace LIBRARY DESTINATION lib/apitrace) + install (TARGETS glxtrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) endif () @@ -459,12 +491,6 @@ endif () ############################################################################## # Packaging -if (WIN32 OR APPLE) - set (INSTALL_DOC_DESTINATION doc) -else () - set (INSTALL_DOC_DESTINATION share/doc/${CMAKE_PROJECT_NAME}) -endif () - install ( FILES BUGS.markdown @@ -472,7 +498,7 @@ install ( NEWS.markdown README.markdown TODO.markdown - DESTINATION ${INSTALL_DOC_DESTINATION} + DESTINATION ${DOC_INSTALL_DIR} ) set (CPACK_PACKAGE_VERSION_MAJOR "2")