|
1 | 1 |
|
2 | 2 | set(BISON_OUTPUT_FILES |
3 | | - ${CMAKE_CURRENT_SOURCE_DIR}/Compiler.c |
4 | | - ${CMAKE_CURRENT_SOURCE_DIR}/Compiler.h |
5 | | - ) |
| 3 | + ${CMAKE_CURRENT_SOURCE_DIR}/Compiler.c |
| 4 | + ${CMAKE_CURRENT_SOURCE_DIR}/Compiler.h |
| 5 | + ) |
6 | 6 |
|
7 | 7 | set(FLEX_OUTPUT_FILES |
8 | | - ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.c |
9 | | - ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.h |
10 | | - ) |
| 8 | + ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.c |
| 9 | + ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.h |
| 10 | + ) |
11 | 11 |
|
12 | | -if(FLEX_FOUND) |
| 12 | +if(FLEX_FOUND) |
13 | 13 | # Generate lexer code |
14 | 14 | add_custom_command(COMMAND ${FLEX_EXECUTABLE} |
15 | | - --noline |
16 | | - --prefix=prjm_eval_ |
17 | | - --header-file=Scanner.h |
18 | | - -o Scanner.c |
19 | | - Scanner.l |
20 | | - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
21 | | - OUTPUT ${FLEX_OUTPUT_FILES} |
22 | | - DEPENDS Scanner.l |
23 | | - ) |
| 15 | + --noline |
| 16 | + --prefix=prjm_eval_ |
| 17 | + --header-file=Scanner.h |
| 18 | + -o Scanner.c |
| 19 | + Scanner.l |
| 20 | + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
| 21 | + OUTPUT ${FLEX_OUTPUT_FILES} |
| 22 | + DEPENDS Scanner.l |
| 23 | + ) |
24 | 24 |
|
25 | 25 | add_custom_target(GenerateScanner ALL |
26 | | - DEPENDS ${FLEX_OUTPUT_FILES} |
27 | | - ) |
28 | | -endif() |
| 26 | + DEPENDS ${FLEX_OUTPUT_FILES} |
| 27 | + ) |
| 28 | +endif() |
29 | 29 |
|
30 | | -if(BISON_FOUND) |
| 30 | +if(BISON_FOUND) |
31 | 31 | # Generate compiler code |
32 | 32 | add_custom_command(COMMAND ${BISON_EXECUTABLE} |
33 | | - --defines=Compiler.h |
34 | | - -Wcounterexamples |
35 | | - --no-lines |
36 | | - -o Compiler.c |
37 | | - Compiler.y |
38 | | - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
39 | | - OUTPUT ${BISON_OUTPUT_FILES} |
40 | | - DEPENDS Compiler.y |
41 | | - ) |
| 33 | + --defines=Compiler.h |
| 34 | + -Wcounterexamples |
| 35 | + --no-lines |
| 36 | + -o Compiler.c |
| 37 | + Compiler.y |
| 38 | + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
| 39 | + OUTPUT ${BISON_OUTPUT_FILES} |
| 40 | + DEPENDS Compiler.y |
| 41 | + ) |
42 | 42 |
|
43 | 43 | add_custom_target(GenerateCompiler ALL |
44 | | - DEPENDS ${BISON_OUTPUT_FILES} |
45 | | - ) |
46 | | -endif() |
| 44 | + DEPENDS ${BISON_OUTPUT_FILES} |
| 45 | + ) |
| 46 | +endif() |
47 | 47 |
|
48 | 48 | add_library(projectM_eval STATIC |
49 | | - ${BISON_OUTPUT_FILES} |
50 | | - ${FLEX_OUTPUT_FILES} |
51 | | - CompileContext.c |
52 | | - CompileContext.h |
53 | | - Compiler.y |
54 | | - CompilerFunctions.c |
55 | | - CompilerFunctions.h |
56 | | - CompilerTypes.h |
57 | | - ExpressionTree.c |
58 | | - ExpressionTree.h |
59 | | - MemoryBuffer.c |
60 | | - MemoryBuffer.h |
61 | | - Scanner.l |
62 | | - TreeFunctions.c |
63 | | - TreeFunctions.h |
64 | | - TreeVariables.c |
65 | | - TreeVariables.h |
66 | | - api/projectm-eval.c |
67 | | - api/projectm-eval.h |
68 | | - ) |
| 49 | + ${BISON_OUTPUT_FILES} |
| 50 | + ${FLEX_OUTPUT_FILES} |
| 51 | + CompileContext.c |
| 52 | + CompileContext.h |
| 53 | + Compiler.y |
| 54 | + CompilerFunctions.c |
| 55 | + CompilerFunctions.h |
| 56 | + CompilerTypes.h |
| 57 | + ExpressionTree.c |
| 58 | + ExpressionTree.h |
| 59 | + MemoryBuffer.c |
| 60 | + MemoryBuffer.h |
| 61 | + Scanner.l |
| 62 | + TreeFunctions.c |
| 63 | + TreeFunctions.h |
| 64 | + TreeVariables.c |
| 65 | + TreeVariables.h |
| 66 | + api/projectm-eval.c |
| 67 | + api/projectm-eval.h |
| 68 | + ) |
69 | 69 |
|
70 | 70 | target_include_directories(projectM_eval |
71 | | - PUBLIC |
72 | | - $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..> |
73 | | - $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/api> |
74 | | - $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/projectm-eval> |
75 | | - ) |
| 71 | + PUBLIC |
| 72 | + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..> |
| 73 | + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/api> |
| 74 | + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/projectm-eval> |
| 75 | + ) |
76 | 76 |
|
77 | 77 | set_target_properties(projectM_eval PROPERTIES |
78 | | - EXPORT_NAME Eval |
79 | | - ) |
| 78 | + EXPORT_NAME Eval |
| 79 | + ) |
80 | 80 |
|
81 | | -if(NOT NO_MATH_LIB_REQUIRED) |
| 81 | +if(NOT NO_MATH_LIB_REQUIRED) |
82 | 82 | target_link_libraries(projectM_eval |
83 | | - INTERFACE |
84 | | - m |
85 | | - ) |
86 | | -endif() |
| 83 | + INTERFACE |
| 84 | + m |
| 85 | + ) |
| 86 | +endif() |
87 | 87 |
|
88 | 88 | add_library(projectM::Eval ALIAS projectM_eval) |
89 | 89 |
|
90 | | -install(TARGETS projectM_eval |
91 | | - DESTINATION ${CMAKE_INSTALL_LIBDIR} |
92 | | - EXPORT projectM-Eval |
93 | | - ) |
94 | | - |
95 | | -install(FILES api/projectm-eval.h |
96 | | - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/projectm-eval/ |
97 | | - ) |
98 | | - |
99 | | - |
100 | | -# For use from an installed package (system install, vcpkg, homebrew etc.) |
101 | | -include(CMakePackageConfigHelpers) |
102 | | - |
103 | | -write_basic_package_version_file( |
104 | | - "${CMAKE_CURRENT_BINARY_DIR}/projectM-Eval/projectM-EvalConfigVersion.cmake" |
105 | | - VERSION ${PROJECT_VERSION} |
106 | | - COMPATIBILITY AnyNewerVersion |
107 | | -) |
108 | | - |
109 | | -configure_package_config_file(projectM-EvalConfig.cmake.in |
110 | | - "${CMAKE_CURRENT_BINARY_DIR}/projectM-Eval/projectM-EvalConfig.cmake" |
111 | | - INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/projectM-Eval" |
112 | | - PATH_VARS CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_INCLUDEDIR |
113 | | - ) |
114 | | - |
115 | | -install(FILES |
116 | | - "${CMAKE_CURRENT_BINARY_DIR}/projectM-Eval/projectM-EvalConfigVersion.cmake" |
117 | | - "${CMAKE_CURRENT_BINARY_DIR}/projectM-Eval/projectM-EvalConfig.cmake" |
118 | | - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/projectM-Eval" |
119 | | - COMPONENT Devel |
120 | | - ) |
121 | | - |
122 | | -install(EXPORT projectM-Eval |
123 | | - FILE projectM-EvalTargets.cmake |
124 | | - NAMESPACE projectM:: |
125 | | - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/projectM-Eval" |
126 | | - COMPONENT Devel |
127 | | - ) |
| 90 | +if(ENABLE_PROJECTM_EVAL_INSTALL) |
| 91 | + |
| 92 | + install(TARGETS projectM_eval |
| 93 | + DESTINATION ${CMAKE_INSTALL_LIBDIR} |
| 94 | + EXPORT projectM-Eval |
| 95 | + ) |
| 96 | + |
| 97 | + install(FILES api/projectm-eval.h |
| 98 | + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/projectm-eval/ |
| 99 | + ) |
| 100 | + |
| 101 | + |
| 102 | + # For use from an installed package (system install, vcpkg, homebrew etc.) |
| 103 | + include(CMakePackageConfigHelpers) |
| 104 | + |
| 105 | + write_basic_package_version_file( |
| 106 | + "${CMAKE_CURRENT_BINARY_DIR}/projectM-Eval/projectM-EvalConfigVersion.cmake" |
| 107 | + VERSION ${PROJECT_VERSION} |
| 108 | + COMPATIBILITY AnyNewerVersion |
| 109 | + ) |
| 110 | + |
| 111 | + configure_package_config_file(projectM-EvalConfig.cmake.in |
| 112 | + "${CMAKE_CURRENT_BINARY_DIR}/projectM-Eval/projectM-EvalConfig.cmake" |
| 113 | + INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/projectM-Eval" |
| 114 | + PATH_VARS CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_INCLUDEDIR |
| 115 | + ) |
| 116 | + |
| 117 | + install(FILES |
| 118 | + "${CMAKE_CURRENT_BINARY_DIR}/projectM-Eval/projectM-EvalConfigVersion.cmake" |
| 119 | + "${CMAKE_CURRENT_BINARY_DIR}/projectM-Eval/projectM-EvalConfig.cmake" |
| 120 | + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/projectM-Eval" |
| 121 | + COMPONENT Devel |
| 122 | + ) |
| 123 | + |
| 124 | + install(EXPORT projectM-Eval |
| 125 | + FILE projectM-EvalTargets.cmake |
| 126 | + NAMESPACE projectM:: |
| 127 | + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/projectM-Eval" |
| 128 | + COMPONENT Devel |
| 129 | + ) |
| 130 | + |
| 131 | +endif() |
0 commit comments