include(ExternalProject) # GoogleTest ExternalProject_Add(googletest PREFIX googletest URL ${CMAKE_CURRENT_SOURCE_DIR}/googletest-release-1.8.0.tar.gz URL_MD5 16877098823401d1bf2ed7891d7dce36 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) ExternalProject_Get_Property(googletest INSTALL_DIR) file(MAKE_DIRECTORY ${INSTALL_DIR}/include) add_library(gtest STATIC IMPORTED GLOBAL) add_dependencies(gtest googletest) set_property(TARGET gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgtest.a) set_property(TARGET gtest PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) set_property(TARGET gtest PROPERTY INTERFACE_LINK_LIBRARIES pthread) add_library(gmock STATIC IMPORTED GLOBAL) add_dependencies(gmock googletest) set_property(TARGET gmock PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgmock.a) set_property(TARGET gmock PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) # Libevent 2.1.8 ExternalProject_Add(libevent PREFIX libevent URL ${CMAKE_CURRENT_SOURCE_DIR}/libevent-2.1.8-stable.tar.gz URL_MD5 f3eeaed018542963b7d2416ef1135ecc CONFIGURE_COMMAND ./configure --prefix= --disable-shared --disable-samples BUILD_COMMAND make LDFLAGS="-ldl" BUILD_IN_SOURCE 1s) ExternalProject_Get_Property(libevent INSTALL_DIR) file(MAKE_DIRECTORY ${INSTALL_DIR}/include) add_library(libevent-static STATIC IMPORTED GLOBAL) add_dependencies(libevent-static libevent) set_property(TARGET libevent-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libevent.a) set_property(TARGET libevent-static PROPERTY IMPORTED_INTERFACE_LINK_LIBRARIES pthread) set_property(TARGET libevent-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) # MESA Framework set(MESA_FRAMEWORK_LIB_DIR /opt/MESA/lib) set(MESA_FRAMEWORK_INCLUDE_DIR /opt/MESA/include) add_library(MESA_handle_logger SHARED IMPORTED GLOBAL) set_property(TARGET MESA_handle_logger PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_handle_logger.so) set_property(TARGET MESA_handle_logger PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) add_library(MESA_prof_load SHARED IMPORTED GLOBAL) set_property(TARGET MESA_prof_load PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_prof_load.so) set_property(TARGET MESA_prof_load PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) add_library(fieldstat4 SHARED IMPORTED GLOBAL) set_property(TARGET fieldstat4 PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libfieldstat4.so) set_property(TARGET fieldstat4 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) # MRZCPD if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib) set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include) elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/aarch64/lib) set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/aarch64/include) endif() add_library(mrzcpd SHARED IMPORTED GLOBAL) set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so) set_property(TARGET mrzcpd PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MRZCPD_INCLUDE_DIR})