82 lines
2.0 KiB
CMake
82 lines
2.0 KiB
CMake
#CMakeLists.txt
|
|
|
|
# Minimum version of CMake
|
|
cmake_minimum_required(VERSION 2.6)
|
|
if(COMMAND cmake_policy)
|
|
cmake_policy(VERSION 2.6)
|
|
endif()
|
|
# Source dir
|
|
set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
|
set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
|
# Project name - wmfs
|
|
project(wmfs C)
|
|
# Definition of the wmfs source
|
|
set(wmfs_src
|
|
wmfs.c
|
|
config.c)
|
|
|
|
# Set the executable from the wmfs_src
|
|
add_executable(wmfs ${wmfs_src})
|
|
# Set the version - NOT USED AT THE MOMENT
|
|
set(VERSION wmfs-devel)
|
|
# CFLAGS
|
|
set(CFLAGS "-g -Wall")
|
|
set(CMAKE_C_FLAGS ${CFLAGS})
|
|
# Link Libraries
|
|
set(LIBRARIES_TO_LINK
|
|
X11
|
|
confuse)
|
|
target_link_libraries(wmfs ${LIBRARIES_TO_LINK})
|
|
|
|
# Messages
|
|
message("Project version : ${VERSION}")
|
|
message("Using these CFLAGS : ${CFLAGS}")
|
|
message("Linking with theses libraries : ${LIBRARIES_TO_LINK}")
|
|
|
|
# Includes
|
|
include(FindPkgConfig)
|
|
#include(CPack) # need to configure it for packaging
|
|
# Use pkgconfig to get required libraries
|
|
pkg_check_modules(wmfs_required
|
|
x11
|
|
xcb
|
|
libconfuse)
|
|
# Find exterbal programs
|
|
find_program(GIT_EXECUTABLE git)
|
|
# Remplace strings in configs
|
|
set(WMFS_VERSION ${VERSION})
|
|
set(WMFS_COMPILE_MACHINE ${CMAKE_SYSTEM_PROCESSOR})
|
|
set(WMFS_COMPILE_BY $ENV{USER})
|
|
set(WMFS_COMPILE_FLAGS ${CFLAGS})
|
|
set(WMFS_LINKED_LIBS ${LIBRARIES_TO_LINK})
|
|
# Configure files
|
|
set(wmfs_configure_files
|
|
config.h.in)
|
|
|
|
macro(a_configure_file file)
|
|
string(REGEX REPLACE ".in\$" "" outfile ${file})
|
|
message(STATUS "Configuring ${outfile}")
|
|
configure_file(${SOURCE_DIR}/${file}
|
|
${BUILD_DIR}/${outfile}
|
|
ESCAPE_QUOTE
|
|
@ONLY)
|
|
endmacro()
|
|
|
|
foreach(file ${wmfs_configure_files})
|
|
a_configure_file(${file})
|
|
endforeach()
|
|
|
|
# Generating CHANGELOG
|
|
|
|
if(EXISTS ${SOURCE_DIR}/.git/HEAD AND GIT_EXECUTABLE)
|
|
# generate
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} log
|
|
WORKING_DIRECTORY ${SOURCE_DIR}
|
|
#COMMENT "Generating CHANGELOG"
|
|
OUTPUT_VARIABLE WMFS_CHANGELOG
|
|
)
|
|
set(CHANGELOG_FILE ${SOURCE_DIR}/CHANGELOG)
|
|
file(WRITE ${CHANGELOG_FILE} ${WMFS_CHANGELOG})
|
|
endif()
|