# Set basic parameters cmake_minimum_required (VERSION 2.8) project (etw-lmm) set (etw-lmm_VERSION_MAJOR 0) set (etw-lmm_VERSION_MINOR 1) # Disable compile_commands.json generation set (CMAKE_EXPORT_COMPILE_COMMANDS 0) # Generate header file with Caventure version configure_file ( "${PROJECT_SOURCE_DIR}/include/etw-lmm_config.hpp.in" "${PROJECT_BINARY_DIR}/include/etw-lmm_config.hpp") # Set $CMAKE_MODULE_PATH to standard /cmake set (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) # Find necessary OpenSSL libraries find_package (OpenSSL REQUIRED) # Create uninstall target configure_file( "${CMAKE_MODULE_PATH}/CMake_Uninstall.cmake.in" "${CMAKE_MODULE_PATH}/CMake_Uninstall.cmake" IMMEDIATE @ONLY) add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_MODULE_PATH}/CMake_Uninstall.cmake) # Pre-build: include libraries include_directories (${OPENSSL_INCLUDE_DIR}) include_directories (${PROJECT_BINARY_DIR}) # Pre-build: set source files set (SOURCE_FILES src/main.cpp src/etw_lmm.cpp src/backup.cpp src/calibrate.cpp src/calibratetext.cpp src/md5_wrapper.cpp src/generic.cpp src/exceptionhandler.cpp src/calibrationmanager.cpp src/installationmanager.cpp src/query.cpp) # Build: set binary to source files add_executable (etw-lmm ${SOURCE_FILES}) # Post-build: target libraries target_link_libraries (etw-lmm ${OPENSSL_LIBRARIES}) # Pre-install: create config directory file(MAKE_DIRECTORY $ENV{HOME}/.local/share/etw-lmm) set (PROJECT_CONFIG_DIR $ENV{HOME}/.local/share/etw-lmm) # Install: move remianing files install(TARGETS etw-lmm DESTINATION bin)