Newer
Older
cmake_minimum_required(VERSION 3.19)
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# option(INCLUDE_CXX "CXX build in mode" OFF)
project(Pars)
enable_language(Fortran)
enable_language(C)
enable_language(CXX)
set(CMAKE_CXX_STANDARD 11)
set(SOURCES_CXX
call_parser.cpp
cfg-cmd.cpp
cfg-value.cpp
cfg-vec.cpp
config-parser.cpp
lexeme.cpp
lexeme-list.cpp
io-guts.cpp
lexeme-parser.cpp
)
set(HEADERS_CXX
call_parser.h
cfg-cmd.h
cfg-value.h
cfg-vec.h
config-parser.h
lexeme.h
lexeme-list.h
scm-mem.h
scm-sys.h
io-guts.h
mem-buffer.h
lexeme-parser.h
)
set(SOURCES_C
call_parser.c
)
set(SOURCES_F
call_parser.F90
)
set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/modules)
set(SOURCES_CXX ${SOURCES_CXX} ${SOURCES_C})
set(HEADERS_CXX ${HEADERS_CXX})
add_library(parser_CXX STATIC ${HEADERS_CXX} ${SOURCES_CXX})
add_library(parser_F STATIC ${SOURCES_F})
set_property(TARGET parser_F PROPERTY LINKER_LANGUAGE Fortran)
target_link_libraries(parser_F parser_CXX)