This repository has been archived on 2021-06-27. You can view files and clone it, but cannot push or open issues or pull requests.
modetw/CMakeLists.txt

62 lines
1.7 KiB
CMake

# 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)
find_package (CURL 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})
include_directories (${CURL_INCLUDE_DIRS})
# 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
src/csv.cpp)
# Build: set binary to source files
add_executable (etw-lmm ${SOURCE_FILES})
# Post-build: target libraries
target_link_libraries (etw-lmm ${OPENSSL_LIBRARIES})
target_link_libraries (etw-lmm ${CURL_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)