cellar/CMakeLists.txt

46 lines
1.5 KiB
CMake
Raw Normal View History

2017-03-23 01:03:33 -07:00
cmake_minimum_required(VERSION 3.7.2)
2017-03-23 01:03:56 -07:00
project(cellar CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
2017-03-23 01:03:33 -07:00
find_package(PythonInterp)
2017-03-23 01:03:56 -07:00
find_package(Boost 1.63 REQUIRED COMPONENTS filesystem)
2017-03-23 01:03:33 -07:00
find_package(PkgConfig)
pkg_check_modules(TCLAP "tclap >= 1.2.1")
if(NOT TCLAP_FOUND)
MESSAGE(WARNING "TCLAP is required by this project, but was not found by CMake.
Continuing on the assumption that you've downloaded it from
http://tclap.sourceforge.net and put the headers in ./include
(wink, nudge)")
endif(NOT TCLAP_FOUND)
2017-03-23 01:03:33 -07:00
include_directories(include)
2017-03-23 01:03:56 -07:00
set(src "${CMAKE_CURRENT_SOURCE_DIR}/src")
2017-03-23 01:03:33 -07:00
set(coggedfiles)
2017-03-23 01:03:56 -07:00
file(GLOB_RECURSE cogfiles RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
2017-03-23 01:03:33 -07:00
"${CMAKE_CURRENT_SOURCE_DIR}/*.cog")
foreach(cogfile ${cogfiles})
2017-03-23 01:03:56 -07:00
string(REGEX REPLACE ".cog\$" "" outfile "${cogfile}")
2017-03-23 01:03:33 -07:00
set(thisfile "${CMAKE_CURRENT_SOURCE_DIR}/${outfile}")
2017-03-23 01:03:56 -07:00
add_custom_command(OUTPUT "${thisfile}"
2017-03-23 01:03:33 -07:00
COMMAND ${PYTHON_EXECUTABLE} -m cogapp -d -o "${outfile}" "${cogfile}"
DEPENDS ${cogfile}
2017-03-23 01:03:56 -07:00
COMMENT "Greasing the cog for ${thisfile}")
2017-03-23 01:03:33 -07:00
2017-03-23 01:03:56 -07:00
set(coggedfiles ${coggedfiles} "${thisfile}")
2017-03-23 01:03:33 -07:00
endforeach(cogfile)
2017-03-23 12:06:29 -07:00
add_library(bottles SHARED ${src}/bottles/bottles.cpp)
2017-03-23 01:03:56 -07:00
add_custom_target(cog ALL DEPENDS ${coggedfiles})
2017-03-23 01:03:33 -07:00
2017-03-23 01:03:56 -07:00
add_executable(cellar ${src}/cellar.cpp ${src}/commands.cpp ${src}/fs.cpp
2017-03-23 12:06:29 -07:00
${src}/version.cpp)
2017-03-23 01:03:33 -07:00
add_dependencies(cellar cog)
2017-03-23 12:06:29 -07:00
target_link_libraries(cellar ${Boost_LIBRARIES} bottles)