1- # Compile RCDEF
1+ add_library (cse_libstubs OBJECT libstubs.cpp)
2+
3+ target_include_directories (cse_libstubs PUBLIC
4+ "${CMAKE_SOURCE_DIR} /src/RCDEF" # stubs don't need legit dtypes.h
5+ "${CMAKE_SOURCE_DIR} /src"
6+ )
7+
8+ target_compile_features (cse_libstubs PUBLIC cxx_std_17)
9+
10+
11+ # Build RCDEF
212add_subdirectory (RCDEF)
313
414# Run C Preprocessor on *.DEF files
@@ -37,20 +47,21 @@ endforeach()
3747# Run RCDEF
3848add_custom_command (
3949 OUTPUT
40- "${CMAKE_CURRENT_SOURCE_DIR } /dtypes.h"
41- "${CMAKE_CURRENT_SOURCE_DIR } /rccn.h"
42- "${CMAKE_CURRENT_SOURCE_DIR } /dttab.cpp"
43- "${CMAKE_CURRENT_SOURCE_DIR } /srfd.cpp"
44- "${CMAKE_CURRENT_SOURCE_DIR } /untab.cpp"
45- "${CMAKE_CURRENT_SOURCE_DIR } /rcdef.sum"
50+ "${CMAKE_CURRENT_BINARY_DIR } /dtypes.h"
51+ "${CMAKE_CURRENT_BINARY_DIR } /rccn.h"
52+ "${CMAKE_CURRENT_BINARY_DIR } /dttab.cpp"
53+ "${CMAKE_CURRENT_BINARY_DIR } /srfd.cpp"
54+ "${CMAKE_CURRENT_BINARY_DIR } /untab.cpp"
55+ "${CMAKE_CURRENT_BINARY_DIR } /rcdef.sum"
4656 COMMAND RCDEF "${CMAKE_CURRENT_BINARY_DIR} /cndtypes.i" "${CMAKE_CURRENT_BINARY_DIR} /cnunits.i" "${CMAKE_CURRENT_BINARY_DIR} /dtlims.i" "${CMAKE_CURRENT_BINARY_DIR} /cnfields.i" "${CMAKE_CURRENT_BINARY_DIR} /cnrecs.i" . NUL NUL NUL .
4757 DEPENDS RCDEF "${CMAKE_CURRENT_BINARY_DIR} /cndtypes.i" "${CMAKE_CURRENT_BINARY_DIR} /cnunits.i" "${CMAKE_CURRENT_BINARY_DIR} /dtlims.i" "${CMAKE_CURRENT_BINARY_DIR} /cnfields.i" "${CMAKE_CURRENT_BINARY_DIR} /cnrecs.i"
48- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR } "
58+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR } "
4959)
5060
5161# Set CSE Version
5262add_custom_target (version_header
53- DEPENDS ${PROJECT_SOURCE_DIR} /src/csevrsn.h.in
63+ DEPENDS "${PROJECT_SOURCE_DIR} /src/csevrsn.in.h"
64+ BYPRODUCTS "${PROJECT_BINARY_DIR} /src/csevrsn.h"
5465 COMMAND ${CMAKE_COMMAND}
5566 ARGS -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}
5667 -DPROJECT_BINARY_DIR =${PROJECT_BINARY_DIR}
@@ -99,43 +110,34 @@ set(source
99110 cuparse.cpp
100111 cuprobe.cpp
101112 cutok.cpp
102- cvpak.cpp
103113 datfcns.cpp
104114 dhwcalc.cpp
105115 dhwsolar.cpp
106- dmpak.cpp
107116 dttab.cpp
108- envpak.cpp
109117 exman.cpp
110118 foundation.cpp
111119 gmutil.cpp
112120 geometry.cpp
113121 hvac.cpp
114122 impf.cpp
115- lookup.cpp
116- messages.cpp
117- msgtbl.cpp
118123 mspak.cpp
119124 nummeth.cpp
120125 pgpak.cpp
121126 pp.cpp
122- psychro.cpp
123127 pvcalc.cpp
124- rmkerr.cpp
125128 shading.cpp
126129 solar.cpp
127- srfd.cpp
128- strpak.cpp
129130 sytb.cpp
130- tdpak.cpp
131131 timer.cpp
132- untab.cpp
133132 vrpak.cpp
134133 wfpak.cpp
135- xiopak.cpp
136134 yacam.cpp
135+ "${CMAKE_CURRENT_BINARY_DIR} /srfd.cpp"
136+ "${CMAKE_CURRENT_BINARY_DIR} /untab.cpp"
137137)
138138
139+ list (APPEND source ${cse_common_source} )
140+
139141set (precomp
140142 StdAfx.cpp
141143)
@@ -160,7 +162,6 @@ set(headers
160162 cprint.h
161163 cse.h
162164 cseface.h
163- csevrsn.h
164165 cueval.h
165166 cuevf.h
166167 cul.h
@@ -171,7 +172,6 @@ set(headers
171172 cvpak.h
172173 datfcns.h
173174 dmpak.h
174- dtypes.h
175175 envpak.h
176176 exman.h
177177 foundation.h
@@ -188,7 +188,6 @@ set(headers
188188 pgpak.h
189189 pp.h
190190 psychro.h
191- rccn.h
192191 rmkerr.h
193192 solar.h
194193 srd.h
@@ -201,22 +200,16 @@ set(headers
201200 wfpak.h
202201 xiopak.h
203202 yacam.h
203+ "${CMAKE_CURRENT_BINARY_DIR} /csevrsn.h"
204+ "${CMAKE_CURRENT_BINARY_DIR} /dtypes.h"
205+ "${CMAKE_CURRENT_BINARY_DIR} /rccn.h"
204206)
205207
206208if (USE_XMODULE) # Runtime Share Library interface - Not used since Version 0.899. (Windows only)
207209 list (APPEND source xmodule.cpp)
208210 list (APPEND headers xmodule.h)
209211endif ()
210212
211- include_directories (
212- "${CMAKE_SOURCE_DIR} /src"
213- "${CMAKE_SOURCE_DIR} /vendor"
214- "${CMAKE_SOURCE_DIR} /vendor/Penumbra/include"
215- "${CMAKE_SOURCE_DIR} /vendor/HPWHsim/src"
216- "${CMAKE_BINARY_DIR} /vendor/HPWHsim/src"
217- "${btwxt_SOURCE_DIR} /src"
218- )
219-
220213# Precompiled Headers
221214macro (addMSVCPrecompiledHeader PrecompiledHeader PrecompiledSourceVar SourcesVar)
222215 if (MSVC )
@@ -240,6 +233,16 @@ addMSVCPrecompiledHeader("cnglob.h" precomp source)
240233
241234# Final executable/linking
242235add_executable (CSE ${source} ${rcFile} ${headers} )
236+
237+ target_include_directories (CSE PRIVATE
238+ "${CSE_BINARY_DIR} /src"
239+ "${CSE_SOURCE_DIR} /src"
240+ "${penumbra_SOURCE_DIR} /include"
241+ "${HPWHsim_SOURCE_DIR} /src"
242+ "${HPWHsim_BINARY_DIR} /src"
243+ "${btwxt_SOURCE_DIR} /src"
244+ )
245+
243246target_compile_features (CSE PUBLIC cxx_std_17)
244247
245248if (USE_XMODULE)
0 commit comments