62 lines
1.7 KiB
CMake
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)
|