55 lines
1.5 KiB
CMake
55 lines
1.5 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.h.in"
|
|
"${PROJECT_BINARY_DIR}/include/etw-lmm_config.h")
|
|
|
|
# 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/md5.cpp
|
|
src/args.cpp
|
|
src/utils.cpp
|
|
src/calibrate.cpp
|
|
src/install.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 ~/.config/etw-lmm)
|
|
set (PROJECT_CONFIG_DIR ~/.config/etw-lmm)
|
|
|
|
# Install: move reminaing files
|
|
install(TARGETS etw-lmm DESTINATION bin)
|
|
install(DIRECTORY DESTINATION share/caventure)
|
|
install(DIRECTORY share/json DESTINATION share/caventure)
|