File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33cmake_minimum_required (VERSION 3.21 )
44
55function (file_add_depends FILE )
6- message (STATUS "Add file dependency: ${FILE} " )
6+ message (STATUS "Add file system dependency: ${FILE} " )
77 if (EXISTS "${FILE} " )
88 set_property (DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${FILE} ) # generally watches for changes
99 else ()
@@ -154,13 +154,16 @@ target_precompile_headers(OpenSHC.dll PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${PCH_FI
154154# Using module folder as runtime output to properly place the dll and other libs
155155set_target_properties (OpenSHC.dll PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${OPEN_SHC_DLL_DEST} )
156156
157+ # Ensure the module folder exists
158+ file (MAKE_DIRECTORY ${OPEN_SHC_DLL_DEST} )
159+ file_add_depends ("${OPEN_SHC_DLL_DEST} " )
160+
157161# This strange workaround does ensure that the module folder is generated and that a config change regenerates the dll.
158162# It "only" costs a file creation and a compare minimum while not changing the actual source. Found no other way.
159163set (BUILD_TRIGGER_FILE "${OPEN_SHC_DLL_DEST} /buildtrigger.c" )
160164add_custom_target (
161165 OpenSHC.dll.trigger
162166 BYPRODUCTS ${BUILD_TRIGGER_FILE}
163- COMMAND ${CMAKE_COMMAND} -E make_directory "${OPEN_SHC_DLL_DEST} "
164167 COMMAND ${CMAKE_COMMAND} -E echo "// $<CONFIG >" > ${BUILD_TRIGGER_FILE} .tmp
165168 COMMAND ${CMAKE_COMMAND} -E copy_if_different ${BUILD_TRIGGER_FILE} .tmp ${BUILD_TRIGGER_FILE}
166169 COMMAND ${CMAKE_COMMAND} -E remove ${BUILD_TRIGGER_FILE} .tmp
You can’t perform that action at this time.
0 commit comments