@@ -50,7 +50,7 @@ endif()
5050
5151
5252if (WIN32 )
53- set (CMAKE_CXX_FLAGS " /EHsc /MP /MT /c /bigobj" )
53+ set (CMAKE_CXX_FLAGS "${ CMAKE_CXX_FLAGS } /EHsc /MP /MT /c /bigobj" )
5454else ()
5555 # set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS}")
5656endif ()
@@ -301,24 +301,24 @@ elseif(PSP_CPP_BUILD OR PSP_PYTHON_BUILD)
301301 endif ()
302302endif ()
303303
304- set (RAPIDJSON_BUILD_TESTS OFF CACHE BOOL "Disable rapidjson tests" )
305-
306-
307- set (CMAKE_C_FLAGS " \
304+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS } \
308305-O3 \
309306" )
307+
310308if (PSP_WASM_EXCEPTIONS)
311- set (CMAKE_CXX_FLAGS " -fwasm-exceptions \
312- -O3 \
313- -g0 \
314- " )
309+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } \
310+ -fwasm-exceptions \
311+ -O3 \
312+ -g0 \
313+ " )
315314else ()
316- set (CMAKE_CXX_FLAGS " \
317- -O3 \
318- " )
319-
315+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } \
316+ -O3 \
317+ " )
320318endif ()
321319
320+ set (RAPIDJSON_BUILD_TESTS OFF CACHE BOOL "Disable rapidjson tests" )
321+
322322if (PSP_PYODIDE)
323323 set (RELOCATABLE_FLAGS "-sRELOCATABLE=1 -sSIDE_MODULE=2 -sWASM_BIGINT=1" )
324324
@@ -327,7 +327,7 @@ if(PSP_PYODIDE)
327327 string (APPEND CMAKE_CXX_FLAGS "${RELOCATABLE_FLAGS} " )
328328endif ()
329329
330- # Build header-only dependencies from external source
330+ # Build (read: download and extract) header-only dependencies from external sources
331331set (all_deps_INCLUDE_DIRS "" )
332332psp_build_dep ("date" "${PSP_CMAKE_MODULE_PATH} /date.txt.in" )
333333psp_build_dep ("hopscotch" "${PSP_CMAKE_MODULE_PATH} /hopscotch.txt.in" )
@@ -342,6 +342,10 @@ list(APPEND all_deps_INCLUDE_DIRS
342342psp_build_dep ("Boost" "${PSP_CMAKE_MODULE_PATH} /Boost.txt.in" )
343343list (APPEND all_deps_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} )
344344
345+ # Build dependencies as static libraries with add_subdirectory()
346+ # Note that values set above for CMAKE_C_FLAGS, CMAKE_CXX_FLAGS, etc. will
347+ # apply to dependency cmake builds
348+
345349# Arrow builds its own dependencies
346350psp_build_message ("${Cyan} Building Apache Arrow${ColorReset} " )
347351psp_build_dep ("arrow" "${PSP_CMAKE_MODULE_PATH} /arrow.txt.in" )
@@ -364,20 +368,16 @@ list(APPEND all_deps_INCLUDE_DIRS
364368add_subdirectory (${PSP_CMAKE_MODULE_PATH} /../cpp/protos "${CMAKE_BINARY_DIR } /protos-build" )
365369
366370# ####################
367- set (CMAKE_C_FLAGS_DEBUG "" )
368- set (CMAKE_C_FLAGS_RELEASE "" )
369371set (CMAKE_C_FLAGS " \
370372 ${CMAKE_C_FLAGS } \
373+ ${CMAKE_C_FLAGS_RELEASE } \
371374 ${EXTENDED_FLAGS} \
372375 ${OPT_FLAGS} \
373376 " )
374377
375- # prevents the default debug flags from overriding the debug flags we
376- # set in OPT_FLAGS
377- set (CMAKE_CXX_FLAGS_DEBUG "" )
378- set (CMAKE_CXX_FLAGS_RELEASE "" )
379378set (CMAKE_CXX_FLAGS " \
380379 ${CMAKE_CXX_FLAGS } \
380+ ${CMAKE_CXX_FLAGS_RELEASE } \
381381 ${EXTENDED_FLAGS} \
382382 ${OPT_FLAGS} \
383383 " )
@@ -484,7 +484,7 @@ set(WASM_SOURCE_FILES ${SOURCE_FILES})
484484message ("${BUILD_MESSAGE} \n " )
485485
486486if (WIN32 )
487- set (CMAKE_CXX_FLAGS " /EHsc /MP /MT /c /bigobj" )
487+ set (CMAKE_CXX_FLAGS "${ CMAKE_CXX_FLAGS } /EHsc /MP /MT /c /bigobj" )
488488else ()
489489 # set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS}")
490490endif ()
0 commit comments