54 lines
1.1 KiB
CMake
54 lines
1.1 KiB
CMake
|
cmake_minimum_required(VERSION 3.0)
|
||
|
project(gperf LANGUAGES C CXX)
|
||
|
|
||
|
include(CheckCXXSourceCompiles)
|
||
|
include(GNUInstallDirs)
|
||
|
|
||
|
CHECK_CXX_SOURCE_COMPILES("int main(int n) { int dynamic_array[n]; }" HAVE_DYNAMIC_ARRAY)
|
||
|
|
||
|
set(LIBGP_SOURCES
|
||
|
lib/getline.cc
|
||
|
lib/getline.h
|
||
|
lib/getopt.c
|
||
|
lib/getopt.h
|
||
|
lib/getopt1.c
|
||
|
lib/hash.cc
|
||
|
lib/hash.h)
|
||
|
add_library(gp STATIC ${LIBGP_SOURCES})
|
||
|
target_include_directories(gp PUBLIC "${CMAKE_SOURCE_DIR}/lib")
|
||
|
|
||
|
set(GPERF_SOURCES
|
||
|
src/bool-array.cc
|
||
|
src/bool-array.h
|
||
|
src/bool-array.icc
|
||
|
src/hash-table.cc
|
||
|
src/hash-table.h
|
||
|
src/input.cc
|
||
|
src/input.h
|
||
|
src/keyword-list.cc
|
||
|
src/keyword-list.h
|
||
|
src/keyword-list.icc
|
||
|
src/keyword.cc
|
||
|
src/keyword.h
|
||
|
src/keyword.icc
|
||
|
src/main.cc
|
||
|
src/options.cc
|
||
|
src/options.h
|
||
|
src/options.icc
|
||
|
src/output.cc
|
||
|
src/output.h
|
||
|
src/positions.cc
|
||
|
src/positions.h
|
||
|
src/positions.icc
|
||
|
src/search.cc
|
||
|
src/search.h
|
||
|
src/version.cc
|
||
|
src/version.h)
|
||
|
add_executable(gperf ${GPERF_SOURCES})
|
||
|
target_link_libraries(gperf gp)
|
||
|
target_include_directories(gperf PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||
|
|
||
|
configure_file(config.h.in config.h @ONLY)
|
||
|
|
||
|
install(TARGETS gperf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|